好友
阅读权限40
听众
最后登录1970-1-1
|
楼主|
小生我怕怕
发表于 2008-8-28 04:33
既然没有人玩这个任务,我就来说下单步的跟踪,记住不要在int和空代码上打断向上跳转,程序回飞的
00413000 >5Bpop ebx//OD载入在这里
0041300181E3 00FFFFFF and ebx,FFFFFF00
0041300766:813B 4D5Acmp word ptr ds:[ebx],5A4D
0041300C75 33 jnz short Crypto_0.00413041 //这个跳和下面的跳是死循环
0041300E8BF3mov esi,ebx
004130100373 3C add esi,dword ptr ds:[ebx+3C]
00413013813E 50450000 cmp dword ptr ds:[esi],4550
0041301975 26 jnz short Crypto_0.00413041 //我们在这里F2下断,接着shift+f9
0041301B0FB746 18 movzx eax,word ptr ds:[esi+18] //接着一路F8向下走
━━━━━━━━━━━━━━━━━━━━━━━━━━
00413136FFE0jmp eax//F8走到这里时要放慢脚步
0041313868 1E62F1C0 push C0F1621E
0041313D68 298FBF14 push 14BF8F29
0041314253push ebx
00413143E8 19000000 call Crypto_0.00413161//这里要F7进入
━━━━━━━━━━━━━━━━━━━━━━━━━━
0041316050push eax //通过F7我们来到这里
0041316155push ebp
004131628BECmov ebp,esp
0041316483C4 F8 add esp,-8
0041316753push ebx
━━━━━━━━━━━━━━━━━━━━━━━━━━
0041319AE8 4CFFFFFF call Crypto_0.004130EB//到达这个CALL我们又F7进入
0041319F3B45 0C cmp eax,dword ptr ss:[ebp+C]
004131A275 1F jnz short Crypto_0.004131C3
004131A43B55 10 cmp edx,dword ptr ss:[ebp+10]
004131A775 1A jnz short Crypto_0.004131C3
004131A933D2xor edx,edx
━━━━━━━━━━━━━━━━━━━━━━━━━━
004130EB55push ebp//通过F7我们来到这里
004130EC8BECmov ebp,esp //接着一路F8向下走
004130EE56push esi
004130EF51push ecx
━━━━━━━━━━━━━━━━━━━━━━━━━━
004131D90FB74E 06 movzx ecx,word ptr ds:[esi+6]
004131DD8BFEmov edi,esi
004131DF81C7 F8000000 add edi,0F8//F8到这里时要放慢脚步
004131E560pushad
004131E6E8 01000000 call Crypto_0.004131EC//到达这个CALL我们又F7进入
004131EBE8 8104245C call 5C653671
━━━━━━━━━━━━━━━━━━━━━━━━━━
004131EC810424 5C000000 add dword ptr ss:[esp],5C//通过F7我们来到这里
004131F3813F 2E656461 cmp dword ptr ds:[edi],6164652E//继续我们的F8漫长之旅
004131F974 4B je short Crypto_0.00413246
004131FB813F 2E727372 cmp dword ptr ds:[edi],7273722E
0041320174 43 je short Crypto_0.00413246
00413203813F 72737263 cmp dword ptr ds:[edi],63727372
━━━━━━━━━━━━━━━━━━━━━━━━━━
0041324003C2add eax,edx
0041324203D0add edx,eax
00413244^ EB E9 jmp short Crypto_0.0041322F
00413246C3retn //我们在这里retn句打断向上的跳转
0041324761popad //继续我们的F8漫长之旅
0041324883C7 28 add edi,28
━━━━━━━━━━━━━━━━━━━━━━━━━━
0041325C8378 08 00cmp dword ptr ds:[eax+8],0//F8到这里时要放慢脚步
0041326074 09 je short Crypto_0.0041326B
004132628B40 08 mov eax,dword ptr ds:[eax+8]
00413265C700 00000000 mov dword ptr ds:[eax],0
0041326BE8 01000000 call Crypto_0.00413271//到达这个CALL我们又F7进入
00413270E8 81042414 call 146536F6
004132750100add dword ptr ds:[eax],eax
0041327700BE 00204100 add byte ptr ds:[esi+412000],bh
━━━━━━━━━━━━━━━━━━━━━━━━━━
00413271810424 14010000 add dword ptr ss:[esp],114//通过F7我们来到这里
00413278BE 00204100 mov esi,Crypto_0.00412000 //继续我们的F8漫长之旅
0041327D53push ebx
0041327E56push esi
0041327FFF76 0C push dword ptr ds:[esi+C]
00413282011C24add dword ptr ss:[esp],ebx
00413285FF5424 14 call dword ptr ss:[esp+14]
━━━━━━━━━━━━━━━━━━━━━━━━━━
004132BD52push edx//F8到这里时要放慢脚步
004132BEA9 00000080 test eax,80000000
004132C375 61 jnz short Crypto_0.00413326
004132C5E8 01000000 call Crypto_0.004132CB//到达这个CALL我们又F7进入
004132CAB5 81 mov ch,81
004132CC04 24 add al,24
━━━━━━━━━━━━━━━━━━━━━━━━━━
004132D00000add byte ptr ds:[eax],al //通过F7我们来到这里
004132D28D7C03 02 lea edi,dword ptr ds:[ebx+eax+2] //继续我们的F8漫长之旅
004132D6B8 F7F1FC5F mov eax,5FFCF1F7
004132DBBA 60508F94 mov edx,948F5060
004132E02BC9sub ecx,ecx
━━━━━━━━━━━━━━━━━━━━━━━━━━
004132F803D0add edx,eax //我们到达这里时注意啦
004132FA41inc ecx
004132FB^ EB E5 jmp short Crypto_0.004132E2
004132FDC3retn//这个retn句又是一个死循环,不是因为我看见下面就是OEP才这样说,大家可以跟下就知道啦
004132FE83C4 0C add esp,0C //我们在这里F4打断,单步F8一下,如果我们一直继续跟下去就进系统里去啦
00413301- E9 C6DDFEFF jmp Crypto_0.004010CC//这里飞向了我们的OEP
━━━━━━━━━━━━━━━━━━━━━━━━━━
004010CC55push ebp //光明之颠OEP
004010CD8BECmov ebp,esp
004010CF83EC 44 sub esp,44
004010D256push esi |
|