前言
目的
记录踩坑经验,帮助他人避免同样问题。
提示
使用浏览器左侧目录快速导航。
注意
如有错误,请指正。
环境:
虚拟机Windows 10 企业版 LTSC
可能用到的软件:
工欲善其事必先利其器
软件名称 |
类别 |
作用 |
VMware |
虚拟化软件 |
创建和管理虚拟机,运行多个操作系统实例 |
Detect It Easy(DIE) |
文件分析工具 |
识别可执行文件的编译器、打包器和加壳工具 |
Exeinfo PE |
文件分析工具 |
分析可执行文件的编译器、打包器和加壳工具 |
PEiD (Portable Executable Identifier) |
文件分析工具 |
检测可执行文件的编译器、打包器和加壳工具 |
x32/64dbg (Debugger) |
调试工具 |
调试 32 位和 64 位可执行文件 |
aslr_disabler |
安全工具 |
禁用地址空间布局随机化(ASLR),便于调试和逆向工程 |
可能用到的链接
爱盘下载:
http://down.52pojie.cn/吾爱破解视频教程/吾爱破解论坛官方入门教学培训第一期/
百度网盘下载:
链接: https://pan.baidu.com/s/1z9WQeYgUGxcurVD2lKfNeg ;提取码: e2su
零基础新手破解学习导航帖
1、作业1
1.1、查壳
发现用 UPX 加壳
1.2、ASLR修复
1.3、找OEP
x32dbg打开进来
F8一次过关键点pushad
F9命中
回来CPU发现00457765存在一次大跳转 41DDAC,很可能是要JMP OEP
F4过去,F8,到达OEP
1.4、Dump并IAT修复
Ctrl+i调出Scylla
Dump -> IAT Autosearch -> Get Imports -> Show Invalid -> (自动)选中Invalid部分delete -> Fix Dump
fix dump 选择带dump的程序
检查,脱壳是否完成,程序能否启动
2、作业2
2.1、查壳
发现用 NsPack 加壳
2.2、ASLR修复
发现不需要ASLR修复
2.3、找OEP
x32dbg打开程序发现有pushfd和pushad
F8两次步过关键点
给ESP下断 右下角堆栈窗口右键绿色地址 -> 断点 ->硬件断点,访问 -> 4字节
F9运行,命中断点
此时发现popfd和大跳转41DDAC,基本可以确定是JMP OEP
F8过去到达OEP
2.4、Dump并IAT修复
Dump得到"吾爱破解培训第一课作业二_dump.exe" -> IAT Autosearch,确定选择高级搜索结果 -> Get Imports获取导入表 -> Show Invalid (没有)->Fix Dump修复刚才得到的"吾爱破解培训第一课作业二_dump.exe"
检查,壳去掉了吗,程序能运行吗?
3、作业3
3.1、查壳
发现使用 FSG 加壳
3.2、ASLR修复
发现不需要ASLR修复
3.3、找OEP
x32dbg打开软件失败,直接打开软件也失败,将软件调成兼容模式,Win8 WinXP均无法打开
查资料:
FSG(Fast Small Good)是一种老旧的可执行文件压缩工具,主要用于减小可执行文件的大小。然而,由于其年代久远,FSG 壳可能在现代操作系统(如 Windows 10)上存在兼容性问题。
遂跳过
4、选修作业4
4.1、查壳
软件能正常启动,发现是 PECompact 加壳
4.2、ASLR修复
ASLR修复成功,得到"吾爱破解培训第一课选修作业四.exe"
4.3、找OEP
x32dbg打开软件,发现并不是直接pushad,所以esp和直接查popad不适用,单步跟踪试了试容易跑飞,遂尝试两次内存镜像法
在.rsrc处F2下断,F9运行
发现命中后再在.text处F2下断,F9运行
发现到此处,直接就是一个大跳转,F8跟一下
这不像OEP,没调Call,继续向下跟踪一会
F8到此处发现有个 JMP EAX,F8进去
发现这里就符合OEP的特征了,一般到了OEP,用IAT搜索会得到大量正确的导入表信息,测试一下可以验证这里就是OEP
4.4、Dump并IAT修复
发现在这里搜索后获取导入表能得到大量正确的dll,大概率就是正确的,Fix完验证一下
没有问题,程序脱壳完毕,能够运行!
5、选修作业5
5.1、查壳
发现是 KByS 加壳,但遗憾程序无法启动
查资料知
KByS 是一种较老的加壳工具,类似于 FSG 等其他老旧的壳工具。由于其年代久远,KByS 壳可能在现代操作系统(如 Windows 10)上存在兼容性问题。
遂跳过
6、选修作业6
1.1、查壳
程序能正常启动,使用 WinUpack 加壳
1.2、ASLR修复
ASLR修复成功,得到"吾爱破解培训第一课选修作业六.exe"
1.3、找OEP
进来后发现pushad,典型的ESP大法,步过关键句,下断
F9命中
回来发现一次大跳转
F8跟一步到达OEP
1.4、Dump并IAT修复
Dump -> IAT Autosearch -> Get Imports -> Show Invalid (没有)->Fix Dump选择刚才dump的
检查发现壳脱完进行IAT修复之后,程序能够运行,即使DIE查到Upack壳的残留,但是我们已经得知程序是VC++8了,这就够了
7、选修作业7
1.1、查壳
程序能够正常运行,发现是 RLPack 加壳
1.2、ASLR修复
ASLR修复成功,得到"吾爱破解培训第一课选秀作业七"
1.3、找OEP
打开后发现pushad,似乎又能用ESP大法
步过关键句后下断
F9命中
发现大跳转
F8跳转来到OEP
1.4、Dump并IAT修复
检查,程序能够运行,且脱壳成功
本章完结!
写在最后
感谢所有无私奉献的坛友:
- 感谢所有在论坛中无私奉献的朋友们,你们的贡献使得知识得以传播和共享。
本文只是对吾爱破解教程的流程记录:
- 本文仅是对吾爱破解教程的流程记录,算是一个比较老的教程了,希望对大家有所帮助。
所有虚拟机、测试工具、测试软件均可在官网论坛和"可能用到的链接"中下载