- 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)  
 
  他是怎么知道那么多的信息的? 是如何分析的? 
  还有他是怎么知道"程序获取注册码"或者"程序获取字符串"? 
  新手啊!!..谢谢了.帮帮我.顺便教教我!.. |   
 
 
 
 |