-
-
[讨论]脱壳是在循环函数中完成的怎么找到OEP??
-
发表于:
2007-9-5 08:39
4126
-
[讨论]脱壳是在循环函数中完成的怎么找到OEP??
00404FD9 > /8B45 FC mov eax, dword ptr [ebp-4]
00404FDC . |8B04D8 mov eax, dword ptr [eax+ebx*8]
00404FDF . |8945 F8 mov dword ptr [ebp-8], eax
00404FE2 . |43 inc ebx
00404FE3 . |895F 0C mov dword ptr [edi+C], ebx
00404FE6 . |837D F8 00 cmp dword ptr [ebp-8], 0 ; 以上计算间接跳转地址
00404FEA . |74 03 je short 00404FEF
00404FEC . |FF55 F8 call dword ptr [ebp-8] ; 循环Call
00404FEF > |3BF3 cmp esi, ebx
00404FF1 .^\7F E6 jg short 00404FD9
上面这个循环dword ptr[ebp-8]保存着计算后的间接函数跳转地址,整个循环进行了0x144次,其中脱壳和恢复IAT是在第0xAF次进行。当我从脱壳函数返回后,如何寻找真正的OEP呢?是不是下一个循环(0xB0)的入口地址就是OEP。想了好久不得其法,请高手指教,小弟在这里拜谢了。
[课程]FART 脱壳王!加量不加价!FART作者讲授!