我试图在二进制文件中找到两个字节,然后增加这两个字节的值并将其替换为文件中的字节。这两个字节位于位置0x82-0x83上。现在,我已经使用此命令成功提取了这两个字节:
#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
这些字节的值是:1B 1F
。我坚持:
- 如何将字节转换为整数?应该是
6943
十进制。 - 如何将二进制数据附加/回显到文件
- 如何在位置0x82-0x83的文件内写入增加的字节。我可以使用
head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin
,但是必须有更好的方法。
我可以用PHP做到这一点,应该会更容易,但是我对如何在bash中做到这一点感兴趣。