UPX脱壳(2)

UPX脱壳(2)UPX简单脱壳

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

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

这里的工具是:PETools和Import REConstructor

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

UPX脱壳(2)

现在已经到达了OEP

用PETools来实现程序的DUMP

UPX脱壳(2)

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

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

UPX脱壳(2)

dump成功后,运行程序

UPX脱壳(2)

程序竟然报错了~~~

(论工具的重要性)

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

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

UPX脱壳(2)

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

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

UPX脱壳(2)

3180是IAT的RVA

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

UPX脱壳(2)

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

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

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

UPX脱壳(2)

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

UPX脱壳(2)

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

UPX脱壳(2)

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

UPX脱壳(2)

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

UPX脱壳(2)

附上实验的程序和工具~

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最新kali之dirbuster

    最新kali之dirbuster描述 目录扫描工具 DirBuster 支持全部的 Web 目录扫描方式 它既支持网页爬虫方式扫描 也支持基于字典暴力扫描 还支持纯暴力扫描 该工具使用 Java 语言编写 提供命令行 Headless 和图形界面 GUI 两种模式 其中 图形界面模式功能更为强大 用户不仅可以指定纯暴力扫描的字符规则 还可以设置以 URL 模糊方式构建网页路径 同时 用户还对网页解析方式进行各种定制 提高网址解析效率 选项 h 显示帮助信息 H 以无头模式 无 GUI 启动 DirBuster 报告将在退出时自动保存

    2025年11月29日
    3
  • 集合转数组的方法_数组与集合的区别

    集合转数组的方法_数组与集合的区别数组集合转换数组变字符串int[]arr={4,1,8,5,3,5};System.out.println(Arrays.toString(arr));//[4,1,8,5,3,5]1、集合转数组Object[]toArrays()E[]toArrays(E[]e);有时候需要让集合围成数组,因为有时需要限定对集合中的元素操作,不需要对该…

    2022年9月19日
    3
  • 【spring】Spring事件监听器ApplicationListener的使用与源码分析

    【spring】Spring事件监听器ApplicationListener的使用与源码分析ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。Spring提供的内置事件:ContextRefreshedEvent:容器刷新事件ContextStartedEvent:容器启动事件ContextStoppedEvent:容器停止事件ContextClo

    2025年6月30日
    3
  • SpringBoot整合Quartz定时任务(持久化到数据库)

    背景最近在做项目,项目中有个需求:需要使用定时任务,这个定时任务需要即时生效。查看Quartz官网之后发现:Quartz提供两种基本作业存储类型:RAMJobStore:RAM也就是内存,默认情况下Quartz会将任务调度存在内存中,这种方式性能是最好的,因为内存的速度是最快的。不好的地方就是数据缺乏持久性,但程序崩溃或者重新发布的时候,所有运行信息都会丢失JDBC作业存储:存到数据库…

    2022年4月9日
    80
  • webpack(7)webpack使用vue配置「建议收藏」

    webpack(7)webpack使用vue配置「建议收藏」前言如果我们想在webpack中使用vue,就需要在webpack中配置vue配置vue首先,我们需要在项目中安装vue,安装命令如下:npminstallvue–save安装完成后

    2022年8月7日
    8
  • 小米手机MIUI安装Google服务框架和Google Play的教程[通俗易懂]

    GooglePlay上的APP普遍比国内应用商店的要干净得多,权限要求更少,这也是促使很多人使用GooglePlay的原因。步骤如下:1、打开小米应用商店,搜索“谷歌安装器”,拉到最下面,“去豌豆荚搜索”image2、找到谷歌安装器3.0image3、开始安装Google服务框架和GooglePlayimage整个过程无需SS,在国内网络即可完成。最后,连上SS,登录GooglePlay,开始下载干净的app吧,少年。…

    2022年4月15日
    11.7K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号