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或者看雪下载咯~

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 在线打包app平台以及流程平台分析(Android&&iOS)

    在线打包app平台以及流程平台分析(Android&&iOS)

  • 常见分布式id生成方案_分布式id生成方案

    常见分布式id生成方案_分布式id生成方案文章目录一、为什么要用分布式ID1、什么是分布式ID2、那么分布式ID需要满足哪些条件二、分布式ID有哪些生成方式1、基于UUID2、基于数据库自增ID3、基于数据库集群模式4、基于数据库的号段模式5、基于Redis模式6、基于雪花算法(Snowflake)模式7、百度(uid-generator)8、美团(Leaf)号段模式snowflake模式9、滴滴(Tinyid)Http方式接入Java客户端方式接入三、总结一、为什么要用分布式ID在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式

    2022年10月25日
  • 怎么完全卸载赛门铁克_如何干净彻底卸载有密码的诺顿symantec杀毒软件

    怎么完全卸载赛门铁克_如何干净彻底卸载有密码的诺顿symantec杀毒软件工具/原料注册表方法/步骤1:点击【开始】菜单,选择【运行】,或直接按【Window徽标键+R】方法/步骤2:输入【smc-stop】后打开程序界面,提示输入密码再打开注册表,按【Window徽标键+R】,然后输入【regedit】敲回车方法/步骤3:依次展开【HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\SymantecEndpointProte…

  • C语言学习——预处理命名「建议收藏」

    C语言学习——预处理命名「建议收藏」一、宏定义编译:对源程序进行词法、语法分析,生成代码,优化等。作用:在编译之前,对源程序中的特殊命令做一些处理,生成扩展C源程序种类:宏定义 #define文件包含 #include条件编译 #if #else #endif等格式:“#”开头占单独书写行语句尾不加分号2)C语言允许宏带有参数。在宏定义中的参数称为“形式参数”,在宏调用中的…

  • 模块驱动调试记录 ——platform_driver_register

    模块驱动调试记录 ——platform_driver_register当前module_init中使用platform_driver_register(&dev_driver)注册了设备驱动,在 /sys/bus/platform/drivers生

  • python与c语言的区别与联系_爬虫python和c语言区别

    python与c语言的区别与联系_爬虫python和c语言区别经过不算是长时间的学习,相比我之前学的C语言,我觉得Python,有以下特点:1.因为C语言是编译型语言,python是解释型语言,所以python的执行速度没有C语言那么快。2.基本元素的区别,python中的基本元素相比于C语言大大减少,比较特殊的就是python语言中的tuple(元组),一个类似于列表且内部元素不允许被改变的一个数据,这样可以使得程序的数据更加安全;其次是python中…

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

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