How to unpack PE file packed by UPX 0.72
How to unpack PE file packed by UPX 0.72
Analysis:
UPX是一个可以高度压缩PE文件格式的免费的packer,压缩后original file的section被重新组织成4个section,分别从upx0到upx2, section of upx0,其Raw Size是0,但Virtual Size与原始文件Size of Image相比,稍大,可见是UPX是将解压缩后的原始文件数据映射到此;upx1起始部分是被UPX重新构建的Import Table,但很不幸,只包括IMAGE_IMPORT_DESCRIPTOR中的Name部分的正确信息,再往下是被extract出的Resource部分的Icon和Version Information,但无法用eXeScope正确查看;upx2为UPX的解压缩代码,upx3包括被压缩的原始数据。
Unpacking Procedure:
1.用PEditor查看size of image及image base,并记录
2.在Hex Workshop中,查找"EBE261E9",在E9处记下file offset
3.计算E9处的VA
4.在Sice Loader中载入要dump的压缩exe文件,并根据E9的VA设断点
5.中断后,记下断点处jmp 00********,其中跳转的地址是程序真正的EP,并记下
6.根据size of image及image base用IceDump将刚刚解压缩完毕的内存映射数据dump到文件中
7.修改文件的EP,并令各个section的Raw size=Virtual Size, Raw offset=Virtual Size
8.删除section upx2,upx3(一些情况下你可能需要保留upx2)
9.Realign File
Tools to be included:
1.PEditor 1.7 by by yoda and M.o.D.
2.SoftIce for Win9x 4.05 by NuMega Company
3.Hex Workshop by BreakPoint SoftWare, Inc.
4.IceDump 6.0.1.9 by the Icedump Team
5.笔和纸 :-)
以上所有工具均可从Programmer's tools站点下载(别告诉我你不知道)
Problem:
虽然用UPX 0.72加完壳的程序在脱壳后,可以不需重新构建import table,但我看到 import table 结构已完全发生变化,IMAGE_IMPORT_DESCRIPTOR结构中,只有Name部分指向是正确的,而FirstThunk部分定位不正确,但原始文件中被FirstThunk所指向的array of IMAGE_THUNK_DATA与脱壳的文件中存在的部分内存映射是一样的,只是原始文件中的array of IMAGE_THUNK_DATA在被映射到内存中后会被PE Loader替换为各个dll中的function的内存真正入口地址,而在脱壳文件中本身已被UPX手动替换成各个dll中的function的内存入口地址,当脱壳文件被PE Loader载入后,不再需要PE Loader的帮忙,我的疑问就在于此,即我现在搞不清楚,PE Loader在将此脱壳文件装入内存后,就不再需要对这些function做重新定位了吗?每次dll的装载位置都是一样的吗?
另外resource如何重新构建?请高手回答!
Written by dREAMtHEATER
E-Mail: dreamtheater@263.net
2000.10.22 (出处:赢政天下收集整理)
相关资讯:
·怎样脱用 Aspack2.12 加的壳(适合初学者)
·EZIP1.0脱壳手记
·脱pecompact1.71加的壳
·PEPack1.0脱壳手记
·手动脱壳的教程(由petite v2.2加壳)
·论 彩票快车白金版v90 的脱壳+爆破
·Aspack的壳
·对PECompact.exe v1.34的手动脱壳
·Petite 脱壳“标准”解决方法
·Petite 2.x 脱壳
相关软件:
·NetConch(网络贝壳) 1.1
·甲壳虫进销存 V3.20
·甲壳虫医药版 V3.82
·甲壳虫服装鞋帽版 V3.92
·甲壳虫超市版 V3.70
·花生壳(PeanutHull) V2.0 正式版
·甲壳虫XP插件版 2.0.5
→ 特别推荐
→ 热点TOP10
我为人人《《==》》人人为我
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright ? 1998-2003 winzheng.com
All Rights Reserved.
特别感谢 蓝芒科技 提供下载站及论坛服务器
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。