nspack脱壳(手动,esp法)

1.查壳,直接丢查壳工具就可以查看,进行重定位已分离(不知道的可以看我上一篇文章https://mp.csdn.net/mdeditor/100102533#)
在这里插入图片描述
2.用od打开,可以发现pushfd和pushad,f8单步执行两下,在右边选中esp,下硬件断点
在这里插入图片描述
3.f9执行到硬件断点,此时可以看到popfd和下面一个jmp,先f8一次
在这里插入图片描述
4.再f8一次,可以看到代码被od误解析成数据,此时,ctr+a,可以看到如下代码界面
在这里插入图片描述
5.回车进入这个call,发现其有很明显的四个call,这是主函数前的安全函数常调用的call
在这里插入图片描述
6.esc回到call之前,下面的jmp就是跳向oep,此时需要先把硬件断点取消掉,不然f8过不去,会先遇到硬件断点。(方法:od右上角有一栏,点击其中原点那个图标,就可以看到硬件断点了)
在这里插入图片描述
7.f8两次,调到oep
在这里插入图片描述
8.使用od自带的工具脱壳,右键—使用od脱壳调试教程—取消勾选重建输入表—随便取个名字保存—od别关
在这里插入图片描述
在这里插入图片描述
9.打开import reconstructor,附加一个活动进程—选中od正在调试的程序
在这里插入图片描述
10.将刚刚的地址复制到oep栏,按下图顺序操作
在这里插入图片描述
11.修正转储,选中od刚才dump出来的程序,打开,就可以生成脱壳后的程序
在这里插入图片描述
在这里插入图片描述
12.打开dump好的123_.exe,发现能运行,用查壳工具,壳不见了(因为工具原因,peid显示还有壳,die显示没有壳了)
在这里插入图片描述
13.逆向这种东西,就是要多学会几种工具,你不能保证哪个工具一定不会出错。好了,that’s all for nspack

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值