TypechoJoeTheme

霍雅的博客

登录
用户名
密码
/
注册
用户名
邮箱

re练习笔记5 手拖upx

2025-04-16
/
0 评论
/
42 阅读
/
正在检测是否收录...
04/16

upx压缩壳,使用esp定理
查壳显示带壳

打开xdbg32
设置入口断点
只保留入口断点

运行程序会进入pushad 就是把所有寄存器压入栈
xdbg快捷键 F4运行到鼠标所在位置 F7单步步入 F8单步步过 F9运行程序 ctrl+F9运行返回
此时按下F8,让代码把寄存器压入栈

选择一个堆栈区的地址
下一个硬件断点 访问 四字节,因为寄存器的地址大小是四字节

下号断点此时按F9就跳到popad也就是出栈,把寄存器全都弹出栈

一般我们要找的oep就在popad的下面会有一个大跳,我们F8单步跟进
会发现下面有个循环

把鼠标放在循环结束下面,按F4可以跳过这个循环

此时往下分析
大部分的跳转都是跳到40E4A附近
只有一个跳转到401280,也就是蓝色画像的地方
下面还有一些寄存器的初始化
这个很有可能就是我们oep的位置

按F7跟进去看
跳到了一个地方
这里寄存器都显示entrypoint
大概率就是我们oep的入口点

直接使用scylla

点dump

会保存在目录文件名+dump的文件

然后点查找iat

点击两次确认


点get imports

会显示IAT表

如果是绿色的,就不用管,如果是红色的X就要右键给他删除
然后点fix dump

打开dump的文件

他会自动保存一个dump_SCY的文件

此时再用ida打开就能正常分析了
但是一般来说这样还是不能正常运行的

此时还需要去重定位
用cff explorer做修改,此时文件就能运行了

ida分析一下
得到flag

朗读
赞(0)
版权属于:

霍雅的博客

本文链接:

https://huoya.work/bk/index.php/archives/461/(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月