z3032817 发表于 2019-2-23 22:21

upx3.91脱壳思路以及修改 找到关键位置

本帖最后由 z3032817 于 2019-2-23 22:25 编辑

使用查壳子工具找到壳子名称      
                        
Upx3.91脱壳思路: 首先用od加载程序 断在pushad
      


然后我F8 单补走一步这时候观察寄存器这里就是esp定律因为pushad这个指令会把所有的寄存器压入堆栈保存起来 这个时候我们就可以找到随便一组寄存器下个硬件断点 (我这里用到eax其中的值来下断),下断点的目的就是upx壳子到解压的完成的时候,肯定会继续访问到刚刚保存的那些数据,也就是popad确认下断以后,直接F9运行程序 到达这里继续F8也就马上到程序入口


   


继续dump文件 Dump 下的exe 是无法正常运行的

为什么呢看图发现 需要修复IAT

使用ImportREC1.7 工具修复iat
修复完成可以正常分析脱壳成功

   

公孙秒秒 发表于 2019-2-23 22:53

额,这个好像就是ximo脱壳基础第一课里面讲的ESP法

ofo 发表于 2019-2-23 22:57

昨晚脱AsPack v2.12和UPX+花指令的易语言双壳程序,搞到很晚没搞定,主要是软件防DO调试,用ImportREC根本加载不到这个程序,AsPack v2.12很容易脱了,UPX老是报"关闭OD调试",然后报错,没办法修修复,有没有其它修复IAT的办法呢?

z3032817 发表于 2019-2-23 23:22

ofo 发表于 2019-2-23 22:57
昨晚脱AsPack v2.12和UPX+花指令的易语言双壳程序,搞到很晚没搞定,主要是软件防DO调试,用ImportREC根本 ...

堆栈回溯   直接干死反调试

hopezlife 发表于 2019-2-23 23:28

厉害了我的哥

wanghualina 发表于 2019-2-24 10:40

感谢楼主,学习下了。

阿顺 发表于 2019-2-24 22:50

ajzhiaizz 发表于 2019-10-18 11:05

正好遇到一个这样的壳谢谢分享
页: [1]
查看完整版本: upx3.91脱壳思路以及修改 找到关键位置