KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

发现一个错误(Final版)

[ 7456 查看 / 5 回复 ]

回复:发现一个错误(Final版)

最近在看汇编的东西,随便分析一下,请无视-v-

004185E1  mov        edx,dword ptr [ebp+10h]  ;设ebp=k,将k+10h的内容送edx.应该是地址
004185E4  and        eax,0FFh                  ;取ax部分
004185E9  sub        eax,80h                  ;可能是去掉高位的1
004185EE  push        esi                      ;保存esi的值,ebp=k-4
004185EF  mov        ebx,dword ptr [edx+0Ch]  ;将edx+0ch地址中的内容给ebx
004185F2  mov        ecx,eax                  ;eax送值给ecx
004185F4  cdq                                  ;将eax的符号位扩充到edx,为乘除作准备
004185F5  idiv        eax,ebx                  ;有符号数除法,eax为商,edx为余数
004185F7  mov        edi,eax                  ;把商送入edi
004185F9  mov        eax,dword ptr [ebp+10h]  ;ebp=k-4,把k+0Ch的内容送至eax,是地址
004185FC  imul        edi,dword ptr [eax+8]    ;有符号数乘法,把前面的商和eax+8的内容
                                                ;相乘

呃,一般用到乘除法的也就解密了,这段估计就是对SEEN的某部分解密的时候,因为存放在edx+0ch上的内容为0才出现错误的吧……
分享 转发
2007/2/20凌晨01:14:45,获得称号「大骗子」
orz

QQ群 宅在日本 74481628
宅女腐女招募中
http://www.otkjp.cn/
TOP