Windows 为什么editbin/swaprun:CD/swaprun:NET更改了两个字节?
使用选项/swaprun:CD和/swaprun:NET为dll调用editbin会更改dll的PE头字,设置位$0400和$0800(因此实际上它只更改高位字节) 这就是它应该做的 但它也改变了另一个字节(参见十六进制比较) 谁能给我解释一下这个字节是什么意思,为什么要改变它 编辑:澄清: 带有这些选项的editbin应该设置 PE头特征字段(16位字)中的图像\u文件\u可移动\u从\u交换运行\u和图像\u文件\u网络\u从\u交换运行\u。这是我谈论的第一个字节。这些标志都没有存储在第二个字节中,那么为什么工具的更改超过了必要的范围,这意味着什么Windows 为什么editbin/swaprun:CD/swaprun:NET更改了两个字节?,windows,portable-executable,Windows,Portable Executable,使用选项/swaprun:CD和/swaprun:NET为dll调用editbin会更改dll的PE头字,设置位$0400和$0800(因此实际上它只更改高位字节) 这就是它应该做的 但它也改变了另一个字节(参见十六进制比较) 谁能给我解释一下这个字节是什么意思,为什么要改变它 编辑:澄清: 带有这些选项的editbin应该设置 PE头特征字段(16位字)中的图像\u文件\u可移动\u从\u交换运行\u和图像\u文件\u网络\u从\u交换运行\u。这是我谈论的第一个字节。这些标志都没有存储在第二
图像文件头.Characteristics |=图像文件可从交换中移除运行|图像文件从交换中运行| 所以0x2122->0x2d22(=2122 | 0x0c00) 及
IMAGE_OPTIONAL_HEADER.CheckSum从0x000a3c31更改为0x000a4831@dummzeuch使用任何pe查看器,所有内容都将易于查看这就是我刚才所做的。我必须承认我甚至不知道(可选)PE头有一个校验和字段。谢谢