好友
阅读权限10
听众
最后登录1970-1-1
|
48吾爱币
本帖最后由 15360438 于 2022-9-29 15:51 编辑
来吾爱一年多了,前面一直在学习汇编/C++,最近一时兴起想学习手脱UPX壳
这里将自己学习到的东西和遇到的问题抛出,如果有什么写的不对的地方欢迎批评
成功加壳之后,在b站看了一个教程,使用 IDA Pro进行动态调试跟进到真实代码处,然后再进行反汇编
他的思路就是在入口打上断点,然后一直F7单步执行(遇到call就F8不进入),直到遇到retn汇编代码直接F4运行retn
一直这么单步之后就遇到了syscall或者endbr64,就是程序的源码了
我在调试时遇到的问题:F7或者F8单步执行,没有遇到retn汇编代码(我认为此处可能是因为教程中调试的是elf,而我的是exe)
于是我就搜索了几个教程,好像大部分都是OD进行脱壳的,IDA Pro脱壳教程比较少 https://www.52pojie.cn/forum.php?mod=viewthread&tid=593356&highlight=upx%2Besp
我这使用的是吾爱 破解工具包中的OD,系统是Windows7 64位
F8单步执行,执行一步之后,右边的寄存器栏ESP变红,其他的变白
此时点击选中ESP寄存器→右键→ HW break [ESP[]
选中循环下面的一行汇编,按F4,直接运行这行汇编,就可以跳出循环
根据这篇文章https://www.52pojie.cn/forum.php?mod=viewthread&tid=593356&highlight=upx%2Besp
我这里是选中这个push ebp,然后右键点击"用OllyDump脱壳调试进程" 然后这里我根据前辈的文章,记下了这个数值,点击脱壳
求助~ |
最佳答案
查看完整内容
给你的建议:
1、用xp虚拟机里操作,win7有aslr,可能对你脱壳有一些阻碍。
2、不要用od的脱壳插件,问题太多,用lordpe去dump,然后再修复iat。
https://www.52pojie.cn/thread-349073-1-1.html 建议看下第一课,作业讲解我当时说了类似问题。
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|