nSPack 手工脱壳过程
nSPack 手工脱壳过程
由于本人第一次进行手工去壳,记录一下过程~
这篇文章以XCTF中的reverse进阶题crackme为例子
题目链接:
链接:https://pan.baidu.com/s/1qYHTb0l6-25RdyvAPinbYA
提取码:z8zf
或者:https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=4966
本题需要的工具的链接:
三个工具都在其中~
链接:https://pan.baidu.com/s/1NWjomUuBk88xnH1DM1hUYQ
提取码:qpse
利用ESP定律脱壳,关于ESP定律
还要找到OEP,所谓的OEP,意即程序的入口点,可以用OD载入,不分析代码。
首先已知是nSPack壳,直接用OD打开,发现pushfd和pushad两句关键句:
直接按F8执行到pushad,ESP变化,直接ESP右键,给ESP设置一个断点
F9直接执行到popfd,可以看见下面有一条JMP指令
而且是跳得比较远的,根据北斗的特点来说
下面这一条语句很有可能是跳转到OEP的:
直接F8单步执行JMP,跳转到:
看上去应该是OEP了,,,,,
记住这个OEP地址,后面会需要:00401336
接下来使用另一个工具PETools
利用PETools获取转存:
得到一个Dumped.exe
双击运行不能正常运行,与原来运行不一致
这是就需要另一个工具 ImportREC
利用它来修复IAT:
- 第一步选择你的程序,
- 第二步输入刚刚记下来的OEP地址
- 第三步自动搜索
- 第四步获取输入表
- 第五步修复转存文件
(下图是执行到第三步的图)
得到一个Dumped_.exe文件:
继续查壳:
脱壳成功~~
PS:
这个过程说不上有多复杂,但是有很多知识点还是不知道的
第一次上手这个脱壳,有点生疏,查阅了许多资料
还有一点,再进行脱壳时,OD貌似不能关闭
在这个过程中本人关闭了一次,导致找不到执行的crakeme.exe文件
要学的东西还是很多啊~
关于本题的做法可以参考一下我的博客(本题做法),嘻嘻嘻
nSPack 手工脱壳过程相关推荐
- ESP定律手工脱壳步骤
ESP定律手工脱壳步骤 第一步:查壳 第二步:用OD载入. 第三步:按F8单步向下走,注意,当右边的ESP(堆栈指针寄存器),和EIP( 指令指针寄存器)同时变红时,就停下. 第四步:记下ESP地址, ...
- [转] 菜鸟手脱VMP,附上脱壳过程和自己写的脚本,可跨平台
转载:http://www.52pojie.cn/thread-467703-1-1.html 工作需要要脱一个VMP壳,我是一个从来没接触过脱壳的人.瞬间那种心情遇到的人应该都知道!没办法硬着头皮找 ...
- et199PHP,[原创]ET199带狗脱壳过程
2015-7-6 11:34 molebox解包应该完整了,我根据其他能运行的程序解包的,可能还是在于脱壳过程,我q:1930988 错误日志中应该是访问系统dll Direct3D: Version ...
- 使用ESP定律_手工脱壳
ESP定律脱壳一般的加壳软件在执行时,首先要初始化,保存环境(保存各个寄存器的值),一般利用PUSHAD(相当于把所有寄存器都压栈),当加壳程序的外壳执行完毕以后,再来恢复各个寄存器的内容,通过跨区段 ...
- 《加密与解密》ASProtect 2.1x SKE 脱壳过程中遇到的问题与解决方法及脱壳小结
在学习<加密与解密>脱壳部分时,做了一次关于ASProtect的脱壳实验,但按照书上的步骤会报保护错误(Protect error).为了明白原因,我 继续往下深入.除了分析结果,以下还记 ...
- 手工脱壳之 FSG压缩壳【IAT反修复】
一.工具及壳介绍 使用工具:Ollydbg,PEID,ImportREC,LoadPE FSG壳 2.0: 二.脱壳 1.追踪 修复IAT表代码 入口处,没有pushad特征,无法使用ESP定律. 查 ...
- 手工脱壳之AsPack压缩脱壳-随机基址
一.工具及壳介绍 二.脱壳 1.ESP定律脱壳 2.单步跟踪脱壳 3.基址重定位的修复 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE.010 Editor 查 ...
- 2019UNCTF-竞技赛 部分WP
2019UNCTF-竞技赛 部分WP emmmm,比赛结束了,,,, 无奈本人太菜,只能做几个题,,,, flag部分白嫖,部分靠混,,,, web checkin 直接白嫖~~,nodejs注入,而 ...
- PE格式:手工实现各种脱壳后的修复
手工修复导入表结构 实现手工修复导入表结构 1.首先需要找到加壳后程序的导入表以及导入了那些函数,使用PETools工具解析导入表结构,如下. 2.发现目录FOA地址为0x00000800的位置,长度 ...
最新文章
- VASP计算HSE06带隙INCAR
- mysql 存储过程 数组参数_问个小问题,关于存储过程传递数组参数
- 【深度学习】弱/半监督学习解决医学数据集规模小、数据标注难问题
- C# 仿金山毒霸启动和关闭淡入淡出效果
- 运维常见问题及解决方法汇总(持续更新...)
- js中prototype用法(转)
- 论文解读:ACL2021 NER | 基于模板的BART命名实体识别
- Python科学计算扩展库numpy中的广播运算
- android蓝牙设置特征属性,Android BLE蓝牙详细解读(二)
- ORB_SLAM3在ubuntu18.04安装和初步测试+轨迹评估
- struts2拦截器interceptor的三种配置方法
- 《Redis开发与运维》学习第八章
- linux下录制视频流,Ubuntu Linux 下的PSP视频输出以及录制
- 在Win7下去掉快捷方式箭头的简便手动操作
- 网狐精华版后台修改记录
- 【FICO】标准成本、计划成本、实际成本、目标成本
- 2021-09-13 多组EQ切换
- Linux驱动修炼之道-内存映射 mmap()/phys_to_virt()
- android 执行bin文件是什么意思,将可执行文件复制到android中的system / bin
- pyqt QLineEdit 详细用法