有6人阅读过
使用sed修改二进制文件
发布于2025/07/05 更新于2025/07/05
[ 教程仅保证更新时有效,请自行测试。]
发布于2025/07/05 更新于2025/07/05
[ 教程仅保证更新时有效,请自行测试。]
[ 教程仅保证更新时有效,请自行测试。]
二进制文件实际也是类似于文本文件,可以用bash命令sed直接修改,关键是找到要修改哪里
例如我现在有文件:
先使用工具查看它原始字符:
然后找出你需要修改的位置,或者把转出来的内容发给ai,让他解析一下你需要修改的位置在哪里,
例如此文件,ai指出我需要修改的是版本号,位置在630行左右,
然后自己在文件中看:
其实是620和630两行,
在二进制文件中其实是完整字符:
69 00 67 00 00 00 08 00 31 00 2e 00 32 00 2e 00 30 00 2e 00 31 00 38 00 00 00 02 00 31 00 38 00
对应的是ig 1.2.0.18 18
把这段16进制,直接替换为新值就可以了,保证位数一致:
OLD_HEX="69 00 67 00 00 00 08 00 31 00 2e 00 32 00 2e 00 30 00 2e 00 31 00 38 00 00 00 02 00 31 00 38 00" NEW_HEX="69 00 67 00 00 00 08 00 31 00 2e 00 32 00 2e 00 30 00 2e 00 31 00 38 00 00 00 02 00 31 00 36 00" sed -i "s/$OLD_HEX/$NEW_HEX/g" hex.txt
文章对你有帮助吗?
- 一般[0]
- 很赞[0]
- 没用[0]
- 垃圾[0]
- 无语[0]