前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UPX脱壳(2)

UPX脱壳(2)

作者头像
全栈程序员站长
发布2022-09-14 11:23:02
5990
发布2022-09-14 11:23:02
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

很多壳是没法用Ollydump弄好的,所以需要用其他的工具

这里的工具是:PETools和Import REConstructor

先按照UPX脱壳的方法,找到OEP

UPX脱壳(2)
UPX脱壳(2)

现在已经到达了OEP

用PETools来实现程序的DUMP

UPX脱壳(2)
UPX脱壳(2)

找到对应的程序,完整转存,保存好久可以运行了~~~

但是,当我们换个版本的PETools~

UPX脱壳(2)
UPX脱壳(2)

dump成功后,运行程序

UPX脱壳(2)
UPX脱壳(2)

程序竟然报错了~~~

(论工具的重要性)

这个时候就需要用到Import REC了

首先在程序里找到IAT的位置

UPX脱壳(2)
UPX脱壳(2)

先点击自动查找IAT,获取输入表

然后手动检查下:OEP应该是00001000(相对偏移RVA)

UPX脱壳(2)
UPX脱壳(2)

3180是IAT的RVA

然后一直往下看,查看IAT的大小

UPX脱壳(2)
UPX脱壳(2)

所以终点是3290(UPX是最简单的壳,IAT是存在同一个地方的,很多高级壳IAT可能有错误,也可能存在不同的地方,需要一段一段处理)

所以SIZE = 0x3290 – 0x3180 = 0x110

然后看一眼输入表函数信息,有没有无效的

UPX脱壳(2)
UPX脱壳(2)

点击转储到文件(刚才的DUMP文件)

UPX脱壳(2)
UPX脱壳(2)

这时候还是报错,我们需要再使用一次PETools

UPX脱壳(2)
UPX脱壳(2)

选择Rebuild PE,选中刚才的DUMP文件

UPX脱壳(2)
UPX脱壳(2)

再执行程序,发现可以正常运行了~~~

UPX脱壳(2)
UPX脱壳(2)

附上实验的程序和工具~

OD可以从52pojie或者看雪下载咯~

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159792.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档