为什么editbin / swaprun:CD / swaprun:NET更改两个字节?

愚蠢的

使用选项/ swaprun:CD和/ swaprun:NET调用dll的editbin会更改该DLL的PE标头字,并设置$ 0400和$ 0800位(因此,实际上它只更改了高字节)。

那是应该做的。

但它也会更改另一个字节(请参见十六进制比较)。

谁能向我解释这个字节的含义以及为什么要更改它?

编辑:明确说明:带有这些选项的editbin应该在PE标头的“特征”字段中设置IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP和IMAGE_FILE_NET_RUN_FROM_SWAP位(这是一个16位字)。这是我正在谈论的第一个字节。这些标志中没有一个存储在第二个字节中,那么为什么工具更改超出了必要,这又意味着什么呢?

在此处输入图片说明

RbMm

IMAGE_FILE_HEADER.Characteristics | = IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP | IMAGE_FILE_NET_RUN_FROM_SWAP;

所以0x2122-> 0x2d22(= 2122 | 0x0c00)

并且IMAGE_OPTIONAL_HEADER.CheckSum从0x000a3c31更改为0x000a4831

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么editbin / swaprun:CD / swaprun:NET更改两个字节?

来自分类Dev

为什么这两个字节操作不相等?

来自分类Dev

为什么BigInteger会将“ 80”(十六进制)解析为两个字节?

来自分类Dev

为什么这两个字符串不相等?

来自分类Dev

Golang为什么这两个字符串不相等?

来自分类Dev

为什么这两个字符£和¬无法正确解码

来自分类Dev

为什么这两个字符串==但不是===

来自分类Dev

为什么这两个字符串不相等?

来自分类Dev

为什么不能在条件中比较两个字符串?

来自分类Dev

为什么这两个字符串比较返回不同的结果?

来自分类Dev

为什么通过计算字符的异或比较两个字符串?

来自分类Dev

为什么while(* s ++ == * t ++)无法比较两个字符串

来自分类Dev

为什么在尝试比较两个字符串时出现分段错误?

来自分类Dev

写“ \ n”时,为什么要替换两个字符?

来自分类Dev

为什么这两个字符串不相等?

来自分类Dev

合并两个字典后为什么我会“无”

来自分类Dev

为什么我的if语句说两个字符串不在列表中?

来自分类Dev

为什么不能为输入框获得两个字符串中的前两个字符?

来自分类Dev

为什么我可以将两个字符串与“ ==”而不是两个字符数组进行比较?

来自分类Dev

为什么需要两个字符串或两个数组来完成此操作?

来自分类Dev

Swift为什么将这个字素簇算作两个字符而不是一个?

来自分类Dev

以两个字节存储日期

来自分类Dev

为什么将两个字符串作为对象进行比较会导致意外结果

来自分类Dev

为什么git将对象存储在具有哈希的前两个字符的目录中?

来自分类Dev

为什么CRM 2011在数据库中为Money数据类型创建两个字段?

来自分类Dev

为什么qUnit的assert.equal认为这两个字符串在IE中不同?

来自分类Dev

为什么两个字符串文字的最大值输出错误?

来自分类Dev

为什么此处的dict.pop()从两个字典中删除值,而仅指定一个?

来自分类Dev

为什么不能将这两个字符串加在一起?

Related 相关文章

  1. 1

    为什么editbin / swaprun:CD / swaprun:NET更改两个字节?

  2. 2

    为什么这两个字节操作不相等?

  3. 3

    为什么BigInteger会将“ 80”(十六进制)解析为两个字节?

  4. 4

    为什么这两个字符串不相等?

  5. 5

    Golang为什么这两个字符串不相等?

  6. 6

    为什么这两个字符£和¬无法正确解码

  7. 7

    为什么这两个字符串==但不是===

  8. 8

    为什么这两个字符串不相等?

  9. 9

    为什么不能在条件中比较两个字符串?

  10. 10

    为什么这两个字符串比较返回不同的结果?

  11. 11

    为什么通过计算字符的异或比较两个字符串?

  12. 12

    为什么while(* s ++ == * t ++)无法比较两个字符串

  13. 13

    为什么在尝试比较两个字符串时出现分段错误?

  14. 14

    写“ \ n”时,为什么要替换两个字符?

  15. 15

    为什么这两个字符串不相等?

  16. 16

    合并两个字典后为什么我会“无”

  17. 17

    为什么我的if语句说两个字符串不在列表中?

  18. 18

    为什么不能为输入框获得两个字符串中的前两个字符?

  19. 19

    为什么我可以将两个字符串与“ ==”而不是两个字符数组进行比较?

  20. 20

    为什么需要两个字符串或两个数组来完成此操作?

  21. 21

    Swift为什么将这个字素簇算作两个字符而不是一个?

  22. 22

    以两个字节存储日期

  23. 23

    为什么将两个字符串作为对象进行比较会导致意外结果

  24. 24

    为什么git将对象存储在具有哈希的前两个字符的目录中?

  25. 25

    为什么CRM 2011在数据库中为Money数据类型创建两个字段?

  26. 26

    为什么qUnit的assert.equal认为这两个字符串在IE中不同?

  27. 27

    为什么两个字符串文字的最大值输出错误?

  28. 28

    为什么此处的dict.pop()从两个字典中删除值,而仅指定一个?

  29. 29

    为什么不能将这两个字符串加在一起?

热门标签

归档