好友
阅读权限10
听众
最后登录1970-1-1
|
天在学习脱壳, 下载了几个软件都脱壳不成功,没办法重新学过。
看到手脱“黑色 诱 惑 ”的 手脱ASProtect1.2 和 ASProtect1.23 壳,决定整个软件下来练习一下
就拿系统自带的“记事本”来练习一下吧, 用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
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. 运行正常, 脱壳成功! |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|