PECompact 2.5脱壳

 文章来源于黑鹰教程

PECompact 2.5 Retail -> Jeremy Collake

设置Ollydbg忽略所有的异常选项。
od载入

01001000 N>  B8 90BA0101     mov eax,NOTEPAD.0101BA90
01001005     50              push eax                               ; NOTEPAD.0101BA90
01001006     64:FF35 0000000>push dword ptr fs:[0]
0100100D     64:8925 0000000>mov dword ptr fs:[0],esp
01001014     33C0            xor eax,eax
01001016     8908            mov dword ptr ds:[eax],ecx
01001018     50              push eax

下断点:BP VirtualFree。中断后,取消断点,Alt+F9。

002F00C0     58              pop eax //返回到这
002F00C1     EB 03           jmp short 002F00C6
002F00C3     33C0            xor eax,eax
002F00C5     48              dec eax
002F00C6     5D              pop ebp
002F00C7     5B              pop ebx

然后,ctrl+F ,查找 push 8000(特征码)。

002F093E     03C7            add eax,edi
002F0940     68 00800000     push 8000   //这里
002F0945     6A 00           push 0
002F0947     FFB5 951C0010   push dword ptr ss:[ebp+10001C95]
002F094D     FF10            call dword ptr ds:[eax]
002F094F     8B46 0C         mov eax,dword ptr ds:[esi+C]
002F0952     03C7            add eax,edi
002F0954     5D              pop ebp
002F0955     5E              pop esi
002F0956     5F              pop edi
002F0957     5B              pop ebx
002F0958     C3              retn  //此处f2 ,下断


F9 ,运行,此时断了。单步f8,来到

0101BB3D     8985 C8120010   mov dword ptr ss:[ebp+100012C8],eax    ; NOTEPAD.0100739D
0101BB43     8BF0            mov esi,eax
0101BB45     59              pop ecx
0101BB46     5A              pop edx
0101BB47     EB 0C           jmp short NOTEPAD.0101BB55
0101BB49     03CA            add ecx,edx
0101BB4B     68 00800000     push 8000
0101BB50     6A 00           push 0
0101BB52     57              push edi
0101BB53     FF11            call dword ptr ds:[ecx]
0101BB55     8BC6            mov eax,esi
0101BB57     5A              pop edx
0101BB58     5E              pop esi
0101BB59     5F              pop edi
0101BB5A     59              pop ecx
0101BB5B     5B              pop ebx
0101BB5C     5D              pop ebp
0101BB5D     FFE0            jmp eax             //跳到oep
0101BB5F     0000            add byte ptr ds:[eax],al
0101BB61     0000            add byte ptr ds:[eax],al

0100739D     6A 70           push 70  //OEP
0100739F     68 98180001     push PECompac.01001898
010073A4     E8 BF010000     call PECompac.01007568
010073A9     33DB            xor ebx,ebx
010073AB     53              push ebx
010073AC     8B3D CC100001   mov edi,dword ptr ds:[10010CC]      ; kernel32.GetModuleHandleA
010073B2     FFD7            call edi
010073B4     66:8138 4D5A    cmp word ptr ds:[eax],5A4D
010073B9     75 1F           jnz short PECompac.010073DA

 

下面就是DUMP进程,ImportREC修复输入表了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值