算法分析的教程

算法分析的教程

ID:30932318

大小:415.01 KB

页数:18页

时间:2019-01-04

算法分析的教程_第1页
算法分析的教程_第2页
算法分析的教程_第3页
算法分析的教程_第4页
算法分析的教程_第5页
资源描述:

《算法分析的教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、算法分析的教程从一蓑烟雨看到的,也就转过来了,很不错的。。前言:论坛上有关算法分析的文章不少,也不少精品但对于刚学CARACK来说,只是叹为观止原因如下:1.论坛高手如云,菜鸟也不占少数,有些甚至对汇编指令还不是很熟悉2.不少算法分析文章分析的是相当完美了,但是作者仅仅展示给的是最终的成果,而没有把分析的思路,分析的过程展示给我们相信更多的兄弟需要的是一种分析思想,分析理念!本文(本系列)将对这些问题展开逐一讨论第一篇:必要基础知识第二篇:软件注册流程第三篇:算法分析实例声明:1.以下内容都是个人在学习中

2、的一些心得体会,写给新手的,高手飘过2.文章难免有疏漏之处,欢迎各位兄弟批评指正3.本文原创于UnPaKcN,如转载,请保持文章完整性==文章结构=1.ASCii表(基础)2.対特殊汇编指令讲解(推荐)3.定位程序注册代码段一、ASCII表◊数字类:数字0123456789十六进制30313233343536373839十进制48495051525354555657◊大写字母:字母ABCDEFGHIJKLMNOPQRSTUVWXYZ十六进制4142434445464748494A4B4C4D4E4F505

3、152535455565758595A十进制6566676869707172737475767778798081828384858687888990◊小写字母:小写字母abcdefghijklmnopqrstuvwxyz十六进制6162636465666768696A6B6C6D6E6F707172737475767778797A十进制979899100101102103104105106107108109110111112113114115116117118119120121122◊特殊字符:字符!”#

4、$%&*()*+/:;<=>?@[]人_'{

5、}〜十六进制202122232425262728292A2B2C2D2E2F3A3B3C3D3E3F405B5C5D5E5F607B7C7D7E十进制3233343536373839404142434445464758596061626364919293949596123124125126=>记忆技巧<=数字:O〜9->30〜39大写字母:A〜Z->41-5A小写字母畑‘〜陀・>61〜7A特别字符:空格11->20连字符->2D备注:连字符在序列号屮经常用到

6、,应熟记■对字符的ASCII值一定要熟悉,深入分析非密码学算法的关键很多算法是在字符的ASCII值上”做文章”的#举个典型的例子算法描述如下:・>取用户名每个字符的ASCII值,累加以后做为序列号示例代码004B32BB

7、>8B4DF0/movccx,dwordptr[cbp-10];ASCIInprc2.0ultrain@163.com

8、mov004B32BE

9、.8A0C01004B32C1

10、.81ElFFOOOOOO

11、and004B32C7

12、.0FAFC8004B32CA

13、.03F9004B32CC

14、

15、.40004B32CD

16、.4A004B32CE

17、.A75EB

18、imul

19、add

20、inc

21、decinzcl,byteptr[ccx+cax]ccx,OFFecx,eaxedi,ecxeaxedxshort004B32BB;字符串的第i个字符;取cl;ECX=ECX*EAX;EDI=EDI+ECX;EAX++;EDX-;循环length(string)次■大写小写转化大写->小写:加20H小写->大写:减20H■另外,还要对一下知识有一定了解1.数值的十进制和16进制转化2.字符直接变数字3.数字直接变字符

22、4•…二、汇编指令1.数据传送(Datatransfer)2.算术运算(Arithmetic)3.逻辑运算和移位指令(Logic&Shift)4.串操作(Stringmanipulation)5.控制转移(ControlTransfer)6.处理器控制(ProcessorControl)具体查阅8086系统指令手册常用指令特别讲解•指令MOV作用:1.完成寄存器与寄存器、寄存器与内存Z间数据传递2.完成标志位、密码表等的初始化其中密码表一般为内存地址标志位一般为寄存器,少量是内存地址•关于堆栈的指令1.压

23、栈ESP的值要减少2.出栈ESP的值要增加跟踪堆栈的时候,不同的ESP格式的内存地址指向同一内存地址•目的地址传送指令LEA作用主要有两个1.装载冇效地址指令示例:moveax,dwordptr[esi+XX];leacbx,dwordptr[csi+XX];经过跟踪发现[esi+XX]存放的是某字符串那么EBX保存的是该字符串的地址1.完成算术运算leaeax,dwordptr[edi+XX];等价于:EAX=EDI+XX;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。