国外网站大全·环游世界互联网

当前位置:首页 > 汉化宝典 > >

内容详情

收录时间:2010-06-18

标题

脱壳后如何恢复正常的资源布局

已阅0
投稿须知

网站介绍

标准资源一般用来指PE文件中, 目录中资源目录记录所指向的资源目录和目录中资源项记录所指向的资源项的空间合集.
 
一般新手和粗心人脱壳后, 以程序能运行作为脱壳成功的信号, 这是不严谨和要死人的...
 
关于导入表的医错, 在论坛上已经反复的罗嗦过, 后文再补记, 这次就单表资源吧.
 
一般packer默认的选项都会压缩资源, 而惯用的方式是除第一个图标项目录或者第一个图标项目录的第一个图标项和版本资源外, 其他资源目录指向的都是和原代码段数据段混合在一起的未初始化空间, 由壳在初始化时候, 将压缩过的数据还原到此处的.
 
在磁盘上的区段排列中, 加壳后的rsrc段, 仅仅包含完整的资源目录和未经压缩的图标/版本信息, 这两个是用来在资源管理器中枚举图标和在左侧卷展栏/鼠标悬浮提示中提示厂商/版本信息等文字的, 因为是静态方式的萃取资料, 所以不能由壳来解压.
 
而余下的资源项, 其地址通常位于资源目录前的虚胖段, 既占用内存空间远大于磁盘空间的段(按照颗粒对齐后), 在脱壳后, 通常手脱或者通用脱壳机或者专用但是编写者技术一般的脱壳机, 会简单利用内存中解压后的数据, 将此段填实.
 
而资源编辑器/汉化工具在处理资源时候, 通常有以下行为特征或者完整性检测, 不符合完整性的或者提示, 或者勉强能够编辑资源, 但是保存后, 会覆写到业务数据而甭特.
 
根据Windows的PE Loader的行为和链接器产生文件的特征, 总结出三个基本条件, 来描述脱壳后的资源修复.
 
1. 资源目录记录和资源项记录与指向的资源项必须位于同一个区段中, 区段名通常为rsrc/.rsrc, 区段不能具有可执行属性.

2. 资源段必须位于所有不可丢弃段(不可挪动段)的后方, 也就是除了基址重定位表所在的区段外, 资源段后面不能有其他磁盘区段.
 
3. 资源段里面不能有其他乌七八糟的目录参考到这里, 正如资源目录不能参考到其他乌七八糟的目录一样.
 
正常资源(而不是合法资源)的特征的一个字, 从以上的描述就可以看出来了吧, 没错, 就是美.
 
要还原也好或者说再造出美的资源, 首先要让资源段独善其身, 而后要让资源段位于可以自由屈伸的后面, 而原所占据的空间最好要推挤填充过去.
 
当然, 有一些工具可以利用, resfixer, resource binder, presfix, df_fix都可以用来完成一些或者全部重要步骤.
 
分享给小伙伴们:
站长头像赫赫无敌:探索互联网世界,收集和分享实用互联网资源,推荐国内和国外知名、实用、创新、科技、优质的站点资源!互联无极限,探索无止境;分享求真知,网络无国界!
更多>>

同类站点推荐

评论

关于我们|联系方式|版权声明|关于图片|友情链接|

分享互联网优秀资源-国外网站推荐

Copyright ◎ 2014 egouz.com, All Rights Reserved.| 目前收录国外网站 个!

国外网站大全 版权所有 冀ICP备11014106号-