珊瑚虫QQ外挂3.06脱壳

1.CoralQQ.exe
用peid查,显示是PECompact 2.x -> Jeremy Collake的壳

用OD载入后停在
00401000     B8 D4A14300         mov eax,CoralQQ.0043A1D4       F8单步运行
00401005     50                  push eax
00401006     64:FF35 00000000    push dword ptr fs:[0]
0040100D     64:8925 00000000    mov dword ptr fs:[0],esp
00401014     33C0                xor eax,eax                  到这里我们看到在堆栈窗口

————————————————————————————————————————————————
0012FFBC      0012FFE0     指针到下一个 SEH 记录
0012FFC0      0043A1D4     SE 句柄
0012FFC4      7C816D4F     返回到 kernel32.7C816D4F
————————————————————————————————————————————————
看回来,我们ctrl+G到 0043A1D4,到达后在此处下断点,然后F9运行,
程序被断下。

0043A1D4     B8 7E9043F0         mov eax,F043907E
0043A1D9     8D88 79110010       lea ecx,dword ptr ds:[eax+10001179]
0043A1DF     8941 01             mov dword ptr ds:[ecx+1],eax
0043A1E2     8B5424 04           mov edx,dword ptr ss:[esp+4]
0043A1E6     8B52 0C             mov edx,dword ptr ds:[edx+C]
0043A1E9     C602 E9             mov byte ptr ds:[edx],0E9
0043A1EC     83C2 05             add edx,5
0043A1EF     2BCA                sub ecx,edx
0043A1F1     894A FC             mov dword ptr ds:[edx-4],ecx
取消断点,然后在0043A1F7下断点
0043A1F7     B8 78563412         mov eax,12345678
0043A1FC     64:8F05 00000000    pop dword ptr fs:[0]
0043A203     83C4 04             add esp,4
0043A206     55                  push ebp
0043A207     53                  push ebx
0043A208     51                  push ecx
0043A209     57                  push edi
0043A20A     56                  push esi
0043A20B     52                  push edx
再按F9运行,程序又被断下,取消断点。F8单步运行,
一直F8到了0043A29F,
0043A281     8985 23120010       mov dword ptr ss:[ebp+10001223],eax
0043A287     8BF0                mov esi,eax
0043A289     59                  pop ecx
0043A28A     5A                  pop edx
0043A28B     03CA                add ecx,edx
0043A28D     68 00800000         push 8000
0043A292     6A 00               push 0
0043A294     57                  push edi
0043A295     FF11                call dword ptr ds:[ecx]
0043A297     8BC6                mov eax,esi
0043A299     5A                  pop edx
0043A29A     5E                  pop esi
0043A29B     5F                  pop edi
0043A29C     59                  pop ecx
0043A29D     5B                  pop ebx
0043A29E     5D                  pop ebp
0043A29F   FFE0         jmp eax        F8到这里,跳OEP
00418E2C     55    push ebp     到达OEP
00418E2D     8BEC                mov ebp,esp
00418E2F     83C4 F0             add esp,-10
00418E32     B8 648D4100         mov eax,CoralQQ.00418D64
00418E37     E8 A4BAFEFF         call CoralQQ.004048E0
00418E3C     A1 F49D4100         mov eax,dword ptr ds:[419DF4]
00418E41     33D2                xor edx,edx
00418E43     E8 30F4FFFF         call CoralQQ.00418278


2.CoralQQ.dll
OD载入后
00B7D911 >  B8 80F5B900     mov eax,CoralQQ.00B9F580  停在这里
00B7D916    50              push eax
00B7D917    64:FF35 0000000>push dword ptr fs:[0]
00B7D91E    64:8925 0000000>mov dword ptr fs:[0],esp
00B7D925    33C0            xor eax,eax
00B7D927    8908            mov dword ptr ds:[eax],ecx
00B7D929    50              push eax
00B7D92A    45              inc ebp
00B7D92B    43              inc ebx

用esp定律
dd 0006f8a0
下硬件访问断点;
F9运行到达
00B9F64A    59              pop ecx
00B9F64B    5B              pop ebx
00B9F64C    5D              pop ebp                                     ; 0006F8C4
00B9F64D    FFE0            jmp eax 跳OEP

00B7D911 >  55              push ebp
00B7D912    8BEC            mov ebp,esp
00B7D914    53              push ebx
00B7D915    8B5D 08         mov ebx,dword ptr ss:[ebp+8]
00B7D918    56              push esi
然后用lord dump出!
再用ImportREC修复输入表!
重定位表弄不懂,还请高手指教一下啊!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值