gpt4 book ai didi

python - 覆盖二进制文件中的单个字节会使它无法被 objdump 识别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:45 25 4
gpt4 key购买 nike

我想覆盖二进制文件中特定偏移量 处的单个字节。值 cval 是一个整数。

为此,我编写了以下代码:

f = open(program, "wb")
f.seek(offset, 0) # absolute
#print(f.read(1))
f.write(bytes([cval]))
f.close()

当读取offset 处的字节时,代码可以完美运行,但写入此位置会导致objdump 无法识别ELF 二进制文件。

mfo@mfo-Ubuntu:~/llvm-ir-obfuscation/checker$ objdump -dF fac_c
objdump: fac_c: File format not recognized

我不明白我做错了什么?

最佳答案

您使用 w 模式打开文件,该模式会在打开文件时将其截断。所以你的最终文件将只包含你写的一个字节。

只需在更新模式下打开它:

f = open(program, "r+b")

应该没问题。

关于python - 覆盖二进制文件中的单个字节会使它无法被 objdump 识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43388767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com