魔改upx工具脱壳
前言
之前一直学的是用esp定律进行脱壳,可是脱完壳的软件往往无法运行。
而之前也从来没有接触过对upx壳进行修改的方法,导致使用 upx -d 命令不成功。
本文就upx魔改的方法来讲解一下如何使用十六进制工具+upx -d进行脱壳。顺便复习一下PE文件知识。
本文的主要内容来自于下面这个链接
链接如下:
UPX壳的特征
1. 区段名
upx壳保护的exe文件中,会有以下几个区段,upx0,upx1,resc。
其中upx0的实际大小是0。
实际上,UPX压缩器将这些节区压缩后放置于UPX1中,并且将压缩和解压代码也放到里面去。一旦该程序被加载运行,位于UPX1节的解压缩代码会释放原数据到UPX0中并且让PE正常运行。
“.rsrc”是程序资源信息区段名,这个区段含有原资源段的完整头部以及图标、Manifest、版本等未被压缩的资源,当然还有UPX自身需要的导入信息等(如果程序自身不含资源段,加壳后就是“UPX2”)。
2. upx1头部的信息
在upx1这个区段中,最开始是关于upx壳的信息,比如版本、压缩方式等等。
这段内容对程序运行无影响,但对工具脱壳有影响。

这段信息如果进行修改,那么就无法使用-d命令进行脱壳了。
修复upx信息
通过以上知识,我们只需要将Upx壳的关键信息进行恢复,那么就可以使用upx -d命令进行脱壳了。
常见的魔改upx壳的方法就是单纯的修改区段名和upx1的信息,因此我们在十六进制工具中,找到对应的信息进行修改就好了。
后言
emmmm ,这么一点东西是不是不值得写在博客里?
手动脱壳?见我第一篇文章。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 tgrddf55's Blog!





