网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 破解手记 >> 文章正文 用户登录 新用户注册
HowtounpackPEfilepackedbyUPX0.72           
HowtounpackPEfilepackedbyUPX0.72
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:59:09

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_DEs criptOR中的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_DEs criptOR结构中,只有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

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     Softice使用指南---配[2611]
     中文编辑排版专家—Dr[2442]
     一个破解注册码的例子[1436]
     C语言学习系统v3.0破解[1413]
     获得键盘扫描码[1243]
     破解ComposerforRingT[1082]
     自动脱壳之ProcDump应[990]
     流光4.5完全破解[978]
     VisualBasic程序之Sma[978]
     PE文件结构剖析[891]
    相 关 文 章
    破PowerStrip2.67
    BrickShooter2.1破解心得
    BuddyPhonev2.07广告条去除
    回家(PBackhome)v1.02版注
    电脑幽灵pcGhost4.0注册机
    windowsXP下的向量化异常处
    Windows程序
    加密算法之BLOWFISH算法
    Windows消息
    GreenBrowser1.0.312破解手
    Bannershop4.5破解手记
    eBookWorkshopv1.4
    STEP7KNOW_HOW_PROTECTver
    GSviewV4.12forWindows注册
    家庭银行家(HomeBanker)V2
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)