-
-
[旧帖]
[求助]关于PE资源的疑难问题
0.00雪花
-
2008-5-24 18:34
4518
-
[旧帖] [求助]关于PE资源的疑难问题
0.00雪花
刚遇到了一个问题,百思不得其解,望大家给予指点,谢谢!
是这样的,打算替换 VC++ 6.0 编译好的 PE 文件中的 BMP 资源,因为这个 BMP 是由用户随机指定的(大小不一),所以需要在另一个程序中重新构建 PE 的资源树实现。
这个程序中的资源除了 BMP,还有图标(组)、菜单、对话框、字符串、版本信息。现在遇到的问题是,修改完毕后,程序运行正常,但是唯独对话框不能显示。用 eXeScope、ResHacker 等查看其对话框资源,发现是乱码,但是其它资源均正常。
我的算法是先遍历源 PE 的资源树,记下每个叶节点(即资源数据)的相关信息,然后照搬除了 BMP 的资源到目标 PE 文件,BMP 资源另行拷贝指定的。当然在这一过程中各资源的排列顺序会打乱,我想问题是不是会出在这?难道 PE 的各资源有个必须依据的排列顺序?或者编译后对话框资源的偏移地址不能改变?(相关结构中的指针已经更新,不是这个的问题)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工
作,每周日13:00-18:00直播授课