我有一个二进制文件,我首先用这样的objdump反汇编:
Step 1
结果看起来像这样(我只把它的一部分放在一边,想法就是你看它的外观):
objdump -Mintel -d mybinary
我修改了汇编代码(和相关的十六进制值)。我想知道是否有一种简单的方法可以将此代码重新组合成二进制文件?就像执行它的命令一样。
谢谢!
PS:我知道我可以将每个十六进制转换为二进制并连接它们......但它有很多工作:-p答案 0 :(得分:1)
您可以使用十六进制编辑器或修补程序工具将更改应用于原始二进制文件(您可以将--file-offset
参数传递给objdump,让它告诉您正在修改的偏移量的实际文件位置)。
当然,您可以随时删除地址和十六进制,然后使用您选择的汇编程序重新组装代码,但是您仍然有如何将其修补为原始二进制文件的问题(可能是包含的不仅仅是上面显示的部分。)