QQ农场宝贝.exe
程序语言:易语言
压缩壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
第一次我尝试用 UpX shellex 脱。。结果未成功。然后只好利用OD打开看看。
OD打开后
首先单步跟踪
004EAEB0 > $ 60 pushad
004EAEB1 . BE 00804700 mov esi, 00478000 //跳到这里 ESP现型 0012FFA4
004EAEB6 . 8DBE 0090F8FF lea edi, dword ptr [esi+FFF89000]
004EAEBC . 57 push edi
004EAEBD . 83CD FF or ebp, FFFFFFFF
004EAEC0 . EB 10 jmp short 004EAED2
命令下输入dd 0012FFA4 回车 接着 断点-硬件访问-word 运行F9
004EAECD . 47 inc edi
004EAECE > 01DB add ebx, ebx
004EAED0 . 75 07 jnz short 004EAED9
004EAED2 > 8B1E mov ebx, dword ptr [esi]
004EAED4 . 83EE FC sub esi, -4 //TMD跳到这里。继续F8单步
004EAED7 . 11DB adc ebx, ebx
004EAED9 >^ 72 ED jb short 004EAEC8 //要往回跳
004EAEDB . B8 01000000 mov eax, 1 //F4 然后继续F8
004EAEE0 > 01DB add ebx, ebx
004EAF7E > /8A02 mov al, byte ptr [edx]
004EAF80 . |42 inc edx
004EAF81 . |8807 mov byte ptr [edi], al
004EAF83 . |47 inc edi
004EAF84 . |49 dec ecx
004EAF85 .^\75 F7 jnz short 004EAF7E //这里要往回跳了
004EAF87 .^ E9 42FFFFFF jmp 004EAECE
004EAF8C > 8B02 mov eax, dword ptr [edx] //在这F4, 继续F8
004EAF96 . 83E9 04 sub ecx, 4
004EAF99 .^ 77 F1 ja short 004EAF8C
004EAF9B . 01CF add edi, ecx
004EAF9D .^ E9 2CFFFFFF jmp 004EAECE //又要往回跳了。
004EAFA2 > 5E pop esi //这F4 继续F8
004EAFA3 . 89F7 mov edi, esi
004EAFCF . 83C7 05 add edi, 5
004EAFD2 . 88D8 mov al, bl
004EAFD4 .^ E2 D9 loopd short 004EAFAF //要往回跳。
004EAFD6 . 8DBE 00800E00 lea edi, dword ptr [esi+E8000] //F4 继续F8
004EAFDC > 8B07 mov eax, dword ptr [edi]
004EB011 . 8903 mov dword ptr [ebx], eax
004EB013 . 83C3 04 add ebx, 4
004EB016 .^ EB E1 jmp short 004EAFF9 //又回跳
004EB018 > FF96 A4F70F00 call dword ptr [esi+FF7A4]
004EB01E > 8BAE 98F70F00 mov ebp, dword ptr [esi+FF798]
。。。。
004EB049 . 57 push edi
004EB04A . FFD5 call ebp
004EB04C . 58 pop eax
004EB04D . 61 popad //这F4 继续跳
004EB04E . 8D4424 80 lea eax, dword ptr [esp-80] //跳到这
004EB052 > 6A 00 push 0
004EB054 . 39C4 cmp esp, eax
004EB056 .^ 75 FA jnz short 004EB052 //又要回跳
004EB058 . 83EC 80 sub esp, -80 //F4 接着跳
004EB05B .- E9 A05FF1FF jmp 00401000 //直接跳到oep
004EB060 00 db 00
00401000 E8 06000000 call 0040100B
00401005 50 push eax
00401006 E8 BB010000 call 004011C6 ; jmp 到
kernel32.ExitProcess
0040100B 55 push ebp //这里直接DUMP 就OK了。
0040100C 8BEC mov ebp, esp
0040100E 81C4 F0FEFFFF add esp, -110
00401014 E9 83000000 jmp 0040109C
00401019 6B72 6E 6C imul esi, dword ptr [edx+6E], 6C
好我们在来查下壳。OK 已经掉了。
接着运行是否正常。OK。 可以用
如果还有不明白的朋友可以加我QQ:1293988573 或在这里与我一起交流。并希望斑竹能给我个邀请码。。我还是临时会员
[课程]FART 脱壳王!加量不加价!FART作者讲授!