- UID
- 59617
注册时间2009-1-30
阅读权限10
最后登录1970-1-1
周游历练
TA的每日心情 | 开心 2018-7-1 19:36 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
|
一些破解的教程教我算法分析。但是我就是看不明白。
进入了关键call。当他分析的时候不知道是什么意思!
例如:
mov al,byte ptr ds:[ecx+ebp] <<这里是循环开始,每次提一位,第一次就是w,ASC码是77,mov是赋值的意思,这句话就是说把77送给al,就是寄存器eax的低四位,什么?哪是低四位?按F8看看EAX哪里变了就知道了.....
|and eax,7F??????????????? <<这是and 逻辑运算,用WINDOWS自带的计算器自算算结果,看看和它的一样吧eax=7f and 77 ,这里eax=00000077?
|imul eax,eax,82E3B???????? <<这个是乘法运算,让eax=eax*82E3B,这时eax=03cd7d6d,嗯,就是乘个数,看看还做什么
|mov esi,eax?????????????? <<又是赋值,把我们算好的EAX值送给了esi,单纯的移动,没什么好说的 网管网bitsCN.com
|mov eax,B81702E1????????<<把另一个数给了EAX(B81702E1)
|imul esi????????????????? <<乘...eax=eax*esi=B81702E1*3cd7d6d=????FEEE8C3A8F6116CD,后八位入EAX=8F6116CD,再高八位入EDX=FEEE8C3A,由于这个数太大,有十六位以上,十六位以上的,给舍去了
|add edx,esi?????????????? <<再加...edx=edx+esi作者倒不怕麻烦...还好这两个值我们知道是怎么来的,edx+esi=FEEE8C3A+3cd7d6d=02BC09A7(舍弃第一位了)
|sar edx,6???????????????? <|mov eax,edx????????????? <<赋值...
|shr eax,1F???????????????<|add edx,eax??????????????<<普通的加法,eax为除完的结果,edx为刚才除的结果,
|inc ecx????????????????? <|cmp ecx,1E????????????? <<看看够不够30(1E的十进制为16+14=30)
他是怎么知道那么多的信息的? 是如何分析的?
还有他是怎么知道"程序获取注册码"或者"程序获取字符串"?
新手啊!!..谢谢了.帮帮我.顺便教教我!.. |
|