吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16463|回复: 47
收起左侧

[原创] ESP定律脱UPX壳笔记

  [复制链接]
明次 发表于 2011-6-22 22:52
本帖最后由 明次 于 2011-6-22 22:54 编辑

1.随便找个加了UPX壳的程序,我就用C++写了个Hello world,然后加上UPX壳
1.jpg

2.用OD导入
00486520 > $  60            pushad                 ;我们停在这里
00486521   .  BE 00F04600   mov esi,1.0046F000
00486526   .  8DBE 0020F9FF lea edi,dword ptr ds:[esi+FFF92000]
0048652C   .  57            push edi
0048652D   .  83CD FF       or ebp,FFFFFFFF
00486530   .  EB 10         jmp short 1.00486542

3.按F8   来到00486521  然后看寄存器面板,如图
2.jpg

4.在ESP值中点“数据窗口中跟随”  如图
3.jpg

5.看数据面板,下硬件断点   如图
4.jpg

6.运行程序,然后会跳到这里:
0048668B   .  8D4424 80     lea eax,dword ptr ss:[esp-80] ;停在这里
0048668F   >  6A 00         push 0
00486691   .  39C4          cmp esp,eax
00486693   .^ 75 FA         jnz short 1.0048668F       ;往上跳,别实现
00486695   .  83EC 80       sub esp,-80                    ;F4
00486698   .- E9 C3E3F9FF   jmp 1.00424A60         ;重点
此时离OEP(程序真正的入口点)也不远了,不过有个地方要注意一下
在00486693这个跳是往上跳的,不要实现。所以我们直接在下一行(也就是00486695)按F4
然后可以一直走了,一直走到00486698,注意这个跳,从00486698跳到00424A60  对于这个Hello world程序来说,这是一个很大的跳转,经验告诉我们,这是跳到OEP的  所以继续走  我们就来到OEP了
OEP
00424A60    55              push ebp
00424A61    8BEC            mov ebp,esp
00424A63    6A FF           push -1
00424A65    68 A8104700     push 1.004710A8
00424A6A    68 2CF54200     push 1.0042F52C
00424A6F    64:A1 00000000  mov eax,dword ptr fs:[0]
00424A75    50              push eax
00424A76    64:8925 0000000>mov dword ptr fs:[0],esp
00424A7D    83C4 F0         add esp,-10
00424A80    53              push ebx
00424A81    56              push esi
00424A82    57              push edi
00424A83    8965 E8         mov dword ptr ss:[ebp-18],esp
00424A86    FF15 B8014800   call dword ptr ds:[4801B8]               ; kernel32.GetVersion
00424A8C    A3 84E34700     mov dword ptr ds:[47E384],eax
00424A91    A1 84E34700     mov eax,dword ptr ds:[47E384]

最后. 开始脱壳,可以用OD插件“脱壳调试进程”进行脱壳  如图


5.jpg
6.jpg
最后别忘了PEID查下是否脱壳成功
7.jpg

CM下载:
1.rar (93.29 KB, 下载次数: 165)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Sloth 发表于 2011-6-22 23:48
不错啊,太牛逼了次哥
喜欢做娃娃 发表于 2011-6-22 23:59
Smallsea 发表于 2011-6-23 00:02
huitian200 发表于 2011-6-23 12:49
两次内存断点,直接定位到OEP!
 楼主| 明次 发表于 2011-6-23 12:59
回复 小妒 的帖子

{:1_920:} 谢谢驴师傅
sonjab 发表于 2011-6-25 10:11
我记得有位大牛说过:ESP简单过程:F8 1次 → 下hr esp 断点 → F9 运行 → F8 2次 → 到达OEP
头像被屏蔽
仅有的温柔 发表于 2011-6-25 10:25
提示: 作者被禁止或删除 内容自动屏蔽
lonie 发表于 2011-6-25 11:35
sonjab 发表于 2011-6-25 10:11
我记得有位大牛说过:ESP简单过程:F8 1次 → 下hr esp 断点 → F9 运行 → F8 2次 → 到达OEP

这个ESp都是这样?学习了!!!
 楼主| 明次 发表于 2011-6-25 13:15
回复 lonie 的帖子

ESP多很简单的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表