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文件中是不是有完整性检查?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查文件(由完整路径给出)是不是存在?节点js [重复]

检查请求是不是是 Chrome 扩展程序中的子资源完整性

怎么检查光盘md5值

检查是不是给出完整路径

核心数据和数据完整性:读操作与写操作。如何保护?

怎么检查光盘md5值