PE文件中是不是有完整性检查?
Posted
技术标签:
【中文标题】PE文件中是不是有完整性检查?【英文标题】:Is there integrity check in PE files?PE文件中是否有完整性检查? 【发布时间】:2021-08-10 12:54:02 【问题描述】:我正在尝试使用文本编辑器编辑一些可移植的可执行文件。 在文件的顶部,一个向后兼容的字符串应该在 DOS 系统上显示消息。
This program cannot be run in DOS mode.
(click the link to see screenshot)
我首先尝试通过替换字符来编辑此字符串(不删除或添加:只是替换不更改文件大小)。然后,当我尝试执行文件时,windows 返回一个错误,说我无法在我的计算机上运行这个应用程序。
我也尝试编辑文件末尾的填充,错误是一样的。
我假设执行了完整性检查。有人已经读过这个吗?如果你这样做了,你知道文件哈希是否存储在其中吗?
【问题讨论】:
【参考方案1】:文本编辑器不适合编辑二进制文件。请改用十六进制编辑器。
【讨论】:
使用 hexeditor 效果很好。下次我不会那么懒惰,我会从头安装它。谢谢,祝你有美好的一天:) @MaxBuridant 只是为了补充 Norbert 的答案,PE 文件也可以签名以防止任何修改(请参阅Microsoft documentation 或搜索 PE 验证码)。 PE 标头中还有一个校验和,请参阅 IMAGE_OPTIONAL_HEADER32/IMAGE_OPTIONAL_HEADER64 CheckSum 归档文档。以上是关于PE文件中是不是有完整性检查?的主要内容,如果未能解决你的问题,请参考以下文章