保姆式教程ida手脱elf upx壳
之前看文章一直都是单步调试F8 F7去找OEP,但是操作的时候中间会经过很多函数,一个个F8跑飞了再F7,重新调试的时候有些烦躁和耗时间。正文在开头处下断点,打开虚拟机,启动调试在工具栏如下 函数跟踪,然后F9运行调试结束之后我们在这里查看调用的函数函数如下mprotect 系统调用通常用于需要更改内存页权限的场景,例如使某个区域可执行以实现自修改代码或即时编译。upx解压的时候肯定会调用,我们跟
之前看文章一直都是单步调试F8 F7去找OEP,但是操作的时候中间会经过很多函数,一个个F8跑飞了再F7,重新调试的时候有些烦躁和耗时间。
正文
在开头处下断点,打开虚拟机,启动调试
在工具栏如下 函数跟踪,然后F9运行
调试结束之后我们在这里查看调用的函数
函数如下
mprotect 系统调用通常用于需要更改内存页权限的场景,例如使某个区域可执行以实现自修改代码或即时编译。upx解压的时候肯定会调用,我们跟踪过去
下断点开始跑,个人觉得这样可以方便很多
一路F8/F7
来到jmp这里F7步入
看到popa那快成功了
F8过来
查看程序入口发现上面那就是入口OEP了
内存快照,(这里也可以用idc脚本dump下来)
停止调试,回到入口处汇编那里重新P定义一下函数就可以了
下面是此例题的flag