吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5259|回复: 10
收起左侧

[原创] 用ESP定律再脱fsg2.0的壳

[复制链接]
lchhome 发表于 2017-4-25 22:25
本帖最后由 lchhome 于 2017-4-25 22:31 编辑

目标软件:eXeScope.exe
加壳工具:fsg2.0
脱壳工具:ODIRCLordPE
方法:ESP定律法
1、OD载入加壳程序
00400154 >  8725 4C565600   xchg dword ptr ds:[0x56564C],esp
0040015A    61              popad
0040015B    94              xchg eax,esp
0040015C    55              push ebp
0040015D    A4              movs byte ptr es:[edi],byte ptrds:[esi]
0040015E    B6 80           mov dh,0x8000
400160    FF13            call dword ptr ds:[ebx]
00400162  ^ 73 F9           jnb short eXeScope.0040015D
F8单步到0040015B句,看右下堆栈窗口:
00565650   004001E8 eXeScope.004001E8
00565654   004001DC eXeScope.004001DC
00565658   004001DE eXeScope.004001DE
0056565C   004CC7E8 eXeScope.004CC7E8     在这点右键“数据窗口跟随”
00565660 >7C801D7B  kernel32.LoadLibraryA
00565664 >7C80AE40  kernel32.GetProcAddress
看左窗口:
004CC7E8  00000000    在这点右键“断点——硬件执行”(这里有点不同,不是下硬件访向断点),F9运行
004CC7EC  00000000
到这:
004CC7E8    55              push ebp        OEP
004CC7E9    8BEC            mov ebp,esp
004CC7EB    83C4 E4         add esp,-0x1
C004CC7EE    53              push ebx
004CC7EF    56              push esi
004CC7F0    33C0            xor eax,eax
004CC7F2    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
004CC7F5    8945 EC         mov dword ptr ss:[ebp-0x14],eax
004CC7F8    8945 E8         mov dword ptr ss:[ebp-0x18],eax
004CC7FB    B8 E0C44C00     mov eax,eXeScope.004CC4E0                ; UNICODE "`"
004CC800    E8 77A4F3FF     call eXeScope.00406C7C
OD插件脱壳,然后用IRC修复,填入CC7E8,如图:


file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif
上面只发现一个指针,肯定不对,不会只有一个,那我们手动找,回OD找一个CALL句跟随(按Enter键),
0040706C   $- FF25 3C334D00 jmp dword ptrds:[0x4D333C]              ;  kernel32.GetUserDefaultLangID
00407072      8BC0          mov eax,eax
我们在命令行输入:dd  0x4D333C,看左下窗
004D332C  7C80FDFD kernel32.GlobalAlloc
004D3330  7C836149 kernel32.GlobalAddAtomA
004D3334  7C810830 kernel32.GetVersionExA
004D3338  7C811752 kernel32.GetVersion
004D333C  7C80C004 kernel32.GetUserDefaultLangID
004D3340  7C809FB0 kernel32.GetUserDefaultLCID
我们往上找起点地址
004D3190  00000000
004D3194  00000000
004D3198  00000000
004D319C  00000000
004D31A0  00000000                         这里就是起点地址
004D31A4  7C93137A ntdll.RtlDeleteCriticalSection
004D31A8  7C9210E0 ntdll.RtlLeaveCriticalSection
004D31AC  7C921000 ntdll.RtlEnterCriticalSection
004D31B0  7C809F91 kernel32.InitializeCriticalSection
找到了,我们回到IRC,在RVAD31A0,大小就填10000吧,一般不会超过这个值,点获取输入表——显示无效函数——剪切指针——修复转存文件“,修复成功,可以打开文件。
1.png

免费评分

参与人数 4吾爱币 +4 热心值 +4 收起 理由
343424993 + 1 + 1 谢谢@Thanks!
cnlidong + 1 + 1 我很赞同!
c66d88 + 1 + 1 感谢分享,我就需要这种简单的文章
古月同学丶 + 1 + 1 用心讨论,共获提升!

查看全部评分

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

头像被屏蔽
古月同学丶 发表于 2017-4-26 17:41
提示: 作者被禁止或删除 内容自动屏蔽
end620 发表于 2017-4-26 18:05
★邪梦 发表于 2017-4-26 18:11
炮炮君 发表于 2017-4-26 19:24
感觉ESP讲解很详细,目次要火
125733578 发表于 2017-4-26 20:31
用图来表现会不会更好些呢?光看字,一般人都头疼。
loonglee 发表于 2017-4-28 08:17
用心讨论,共获提升!
zq3332427 发表于 2017-4-29 07:45
学习学习,感谢分享
fruitg 发表于 2017-5-12 07:39
ESP定律还没搞懂
头像被屏蔽
华瑞燊 发表于 2017-5-12 10:08
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 00:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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