UPX脱壳逐一跟踪分析

本文结合PE文件结构知识,详细解析了UPX脱壳的过程。通过OD跟踪命令,分析了“新年快乐.exe”的解压代码,揭示了UPX壳如何将压缩代码解压到第一个节区并执行。在分析过程中,指出了关键的内存访问断点、重定位表循环以及IAT表设置等步骤,最终找到程序的OEP。
摘要由CSDN通过智能技术生成

写在前面

之前看到的UPX脱壳文章都只是教了方法,对UPX的原理少有提及。看了《逆核》的UPX脱壳一章后,俺尝试把UPX脱壳与PE文件结构的知识结合起来整理了一些(也可联系压缩器Paker的知识)。
分析样本来自BUUCTF:Reverse题目“新年快乐”(本文将寻找样本的OEP)

OD跟踪命令

可能会用到的几个跟踪命令:

命令 快捷键 作用
Animate Into Ctrl+F7 反复执行Step Into命令(画面显示)
Animate Over Ctrl+F8 反复执行Step Over命令(画面显示)
Trace Into Ctrl+F11 反复执行Step Into命令(画面不显示)
Trace Over Ctrl+F12 反复执行Step Over命令(画面不显示)
停止跟踪 F7

Animate:执行时画面会跟着光标移动一直显示;
Trace:会在事先设置好的跟踪条件处停下,并生成日志文件。
跟踪命令适合用在大型代码,一好处是容易发现短循环。
我分析时只是使用了F8/F7/F4。

先结合PE知识分析

一般情况下,分析压缩后的UPX壳,可以看到第一个节区的名称为UPX0,SizeOfRawData=0,而VirtualSize=1000h(大于0),第二个节区UPX1,它的PointerToRawData和第一个节区的相同。也就是说,第一个节区在文件中是不占用空间的,只有运行时才分配大小。
其实,第二个节区含有解压代码和将被解压的代码(压缩前的代码),在加载过程中,第二个节区的解压代码运行,将被解压代码解压到第一个节区。最后到达EP执行代码。

分析“新年快乐.exe”

  1. 打开:
    打开程序后

  2. 根据上文,下面会先执行解压代码,这个代码在UPX1节区,在此节区设置内存访问断点。
    Memory map

  3. F9几次,就能在UPX1看到经

### 回答1: UPX脱壳工具是一款用于解密并还原被UPX壳包装的程序的工具。UPX是一种非常流行的免费开源压缩工具,许多黑客使用它来保护自己的恶意代码。为了解决这个问题,开发人员开发了UPX脱壳工具,它可以反向工程UPX壳,使原始代码可读性高,并且可以检测和修复代码中的漏洞和攻击。UPX脱壳工具也可以帮助代码分析人员进行代码审计,以及帮助开发人员提高代码的质量。 UPX脱壳工具的优点是快速、高效、易用。它可以快速识别和解密UPX壳,并还原原始代码。此外,UPX脱壳工具非常容易使用,不需要任何专业技能或知识。使用UPX脱壳工具,用户可以通过几个简单的步骤来解密和还原被加密的程序。 总之,UPX脱壳工具是一款非常有用的工具,它可以为代码分析人员、安全研究人员和开发人员提供帮助,确保他们能够在维护程序安全及质量方面取得成功。 ### 回答2: UPX是一种用于压缩和加密可执行文件的开源工具。UPX压缩后的文件体积明显减小,加密也能增强文件的保密性,常被恶意程序使用以防止反汇编和分析UPX脱壳工具是专门为解压和解密UPX压缩的文件而设计的工具。目前市面上有很多UPX脱壳工具,在解密时会根据具体的UPX版本和加密方式进行处理,从而解压出原始的可执行文件。这些工具具有操作简单、速度快、功效稳定的特点,大大提高了对加密文件的分析和研究效率。 但是,UPX脱壳工具也面临着一些问题。首先,一些UPX脱壳工具只适用于特定版本的UPX程序,如果UPX版本发生变化,这些工具可能无法正常工作。其次,恶意程序有时会使用更高级的加密方式,这些加密方式超出了UPX脱壳工具的处理能力。此外,UPX脱壳工具也可能会被反病毒软件所检测和拦截,需要谨慎使用。 总的来说,UPX脱壳工具对于分析和研究可执行文件具有重要意义,但在实际使用时需要考虑到所处理的文件类型、加密方式、以及UPX工具版本等因素,以免出现错误。 ### 回答3: UPX脱壳工具是一种用于反编译、反混淆和脱壳UPX压缩的软件的工具。UPX是一种广泛使用的可执行文件压缩器,用于减小可执行文件大小和保护代码,但这可能会使反汇编和动态分析变得困难。因此,UPX脱壳工具是研究人员、安全专业人员和黑客们常用的工具,因为他们可以使用该工具更容易地分离出压缩的代码并进行更深入的研究。 UPX脱壳工具的使用方法相对简单,通常通过指定代码中的UPX头来识别可执行文件的使用UPX压缩的情况,然后压缩头会被删除,使反编译变得更容易。但是需要注意的是,使用该工具用于非法活动会被视为侵犯知识产权,这是不道德和非法的。 总之,UPX脱壳工具是一个有用的反编译、反混淆和脱壳UPX压缩的软件的工具,它可以帮助研究人员快速识别出压缩的代码和进行更深入的研究,但必须遵守法律和道德规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值