修改pe文件头中的Win32VersionValue值,有的程序可以正常启动,有的有问题。

czb 2008-10-19 05:37:11
各位大侠:
我用一个小程序,计算EXE文件的CRC32值,然后把计算出来的CRC32值写到这个EXE文件PE头中的Win32VersionValue字段。经过修改后的EXE文件,有的可以正常运行;有的报错“应用程序正常初始化(0xc00000fd)失败。请单击“确定”,终止应用程序。”;有的闪了一下就自动关闭了。
程序应该是没有错误的,因为我拿二进制工具比较过修改之前和之后,程序就修改了Win32VersionValue,而且我用pexplorer查看修改过后的文件,pexplorer也认得我修改过后的Win32VersionValue值。如果用UltraEdit,把文件头中的Win32VersionValue改回0值,程序又可以正常使用了。

我的操作系统是XP SP3。请大家指点。
...全文
257 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinhuli 2011-12-15
  • 打赏
  • 举报
回复
很多地方可以写的,在image_file_header里面,有很多无用的结构,,比如timedatestemp
czb 2008-10-21
  • 打赏
  • 举报
回复
再次向aca_jingru等大侠请教:

如何获取一个节(SECTION)的真实大小?用IMAGE_SECTION_HEADER中的VirtualSize吗?因为只有知道了节的偏移,再加上节的真实大小,才能获得节后面的间隙。

看别人的资料介绍说,有的链接器在VirtualSize字段处填入尺寸、有的链接器填入地址、有的链接器填入0。我用vc2005编译器,倒是发现VirtualSize被写成了节的真实大小。
czb 2008-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 aca_jingru 的回复:]
区域间隙吧,因为文件要对齐,找个空白地方,说的不对还请指出。。
另外我翻看了一下看雪精华,好像是有篇文章把crc校验写真Win32VersionValue里,不过规范上写的是保留,必须为0
[/Quote]

又想了下,你说的可能可以,不过比较麻烦。
czb 2008-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 aca_jingru 的回复:]
区域间隙吧,因为文件要对齐,找个空白地方,说的不对还请指出。。
另外我翻看了一下看雪精华,好像是有篇文章把crc校验写真Win32VersionValue里,不过规范上写的是保留,必须为0
[/Quote]

写区域间隙肯定不对的吧?因为你把CRC校验值写到区域间隙中去,则整个文件的CRC值又变了,成了一个死循环。
过去的我 2008-10-19
  • 打赏
  • 举报
回复
区域间隙吧,因为文件要对齐,找个空白地方,说的不对还请指出。。
另外我翻看了一下看雪精华,好像是有篇文章把crc校验写真Win32VersionValue里,不过规范上写的是保留,必须为0
czb 2008-10-19
  • 打赏
  • 举报
回复
那请教aca_jingru,要是Win32VersionValue不能用,那哪个字段可以用呢?我要计算EXE文件CRC32的值,简单的防止别人修改我的EXE文件。
过去的我 2008-10-19
  • 打赏
  • 举报
回复
这个域在pecoff规范上, 必须为0
特等奖标准成品论文(Word无水印纯净版) 硬核结构:全文包含完整的摘要、问题重述与分析、模型假设、符号说明、模型建立与求解、灵敏度分析及结论。 即插即用:排版严格遵循官方规范,逻辑严密。拿到手即可作为绝佳的高分参考模板,稍作替换与个性化润色即可极速完稿,彻底解决写论文难的痛点。 双源硬核解题代码(Python与MATLAB双版本) 拒绝假代码:提供底层逻辑清晰、模块化设计的全套可运行源码。 全流程覆盖:涵盖从前期数据清洗预处理,到中期核心数学模型训练,再到后期启发式算法寻优。 傻瓜式运行:代码自带详尽的逐行中文注释,并支持一键生成高质量结果可视化图表,编程小白也能轻松复现与二次开发。 全量数据与结果展示表 所有中间处理数据、模型输出参数以及最终结论,均已精细整理成高质量表格。直观呈现性能评估指标与多模型对比分析,可直接作为论文正文或附件使用,极大提升学术说服力。 独家硬核思路解析 深入浅出剖析出题人意图,详细拆解每一小问的数学本质与底层逻辑,让你不仅知其然更知其所以然。 【四大核心产品优势】 高效实用:所有代码与论文均经过严格测试,确保结果精准无误、完全可复现,省去熬夜试错的时间。 全栈覆盖:从思路分析到跑出结果,再到写出高质量论文,提供一站式全流程资料矩阵。 排版辅助:资料内提供专业的论文排版一键转换工具与官方标准模板,告别格式调整的繁琐。 持续迭代:网盘直发,开赛后资料库将持续滚动更新,所有用户均可免费同步获取最新包。 【适用人群】 想要打破建模瓶颈的参赛队长与主攻手;急需高质量底层代码的编程小白;目标直指特等奖需要高分模板对标的精英团队。

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧