手脫 -- PECompact 2.x -> Jeremy Collake

本文介绍了如何手动对使用PECompact 2.x加壳的程序进行脱壳,通过OD载入程序并利用ESP定律进行分析,最终找到原始OEP。在脱壳后注意可能存在无效指针问题,可以利用kernel32.dll的GetProcAddress函数进行修复。
摘要由CSDN通过智能技术生成

手脫 -- PECompact 2.x -> Jeremy Collake
PEID: PECompact 2.x -> Jeremy Collake
脱壳工具下载有专用的脱壳工具,这里做为练手。
OD载入加了壳的程序.
入口点: --- 这里很怪如果你F8走, 走到00401016 就会飞
1.先忽略所有异常.
2. F8 行两步 , 这里可以用ESP定律
00401000 >  B8 DC2B4100     MOV EAX,rcrawler.00412BDC
00401005    50              PUSH EAX
00401006    64:FF35 0000000>PUSH DWORD PTR FS:[0]
0040100D    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00401014    33C0            XOR EAX,EAX
00401016    8908            MOV DWORD PTR DS:[EAX],ECX
00401018    50              PUSH EAX
00401019    45              INC EBP
0040101A    43              INC EBX
0040101B    6F              OUTS DX,DWORD PTR ES:[EDI]               ; I/O 命令
0040101C    6D              INS DWORD PTR ES:[EDI],DX                ; I/O 命令
0040101D    70 61           JO SHORT Adler32C.00401080

ESP定律之後 -- 取消断点  -- 就到了这里
7C968F86    3B45 F8         CMP EAX,DWORD PTR 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值