手脱 ASPack 2.12 -> Alexey Solodovnikov

   今天在学习脱壳, 下载了几个软件都脱壳不成功,没办法重新学过。

看了手脱教程,决定整个软件下来练习一下

就拿系统自带的“记事本”来练习一下吧, 用ASPack加下壳, 用PEid 查询, 显示为ASPack 2.12 -> Alexey Solodovnikov

好了, 不废话了, 第一篇. 脱壳, 高手见笑了...

 

/********************************

脱壳目标: notepad.exe 记事本

加壳类型: ASPack 2.12 - Alexey Solodovnikov

/********************************

  

1. 使用Peid 查壳, 显示为 ASPack 2.12 -> Alexey Solodovnikov

 

2. OD载入, 停在

01013001 note>  60                  pushad

01013002        E8 03000000         call notepad.0101300A //查看ESP值

01013007      - E9 EB045D45         jmp 465E34F7

0101300C        55                  push ebp 

3. 按F8步进到 01013002,  查看寄存器中的ESP值, 值为0007ffa4

(这算不算是使用ESP定律呢? 不太清楚, 有空再复习下.)

 

4. 将0007ffa4 设置为访问中断, 如在命令中输入 hr 7ffa4, 在调试->硬件断点可以查看到

(也可以 dd 7ff4, 断点 -> 硬件访问断点 -> Word 字) 

5. F9 运行, 运行到这里被中断

010133B0       /75 08               jnz short notepad.010133BA //断在这里了

010133B2       |B8 01000000         mov eax,1

010133B7       |C2 0C00             retn 0C

010133BA       /68 A5730001         push notepad.010073A5

010133BF        C3                  retn 

6. 清除硬件断点. F8步过. 直到retn 过后, 就是入口点了(push 70)

010073A5        6A 70               push 70 //入口点

010073A7        68 B0180001         push notepad.010018B0

010073AC        E8 E3010000         call notepad.01007594

 

查出, 入口点为73A5

 

7. LoadPe 脱壳

 

8. Import Re 修复输入表(在OEP 输入刚找到的入口点73A5->自动搜索IAT->获取输入表->显示无效函数-> 全部有效 ->修复转存文件)

9. 看看脱壳成功了没有, 查壳显示为Microsoft Visual C++ 7.0 Method2 [调试] 

10. 运行正常, 脱壳成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值