首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从objdump重新汇编汇编代码

从objdump重新汇编汇编代码
EN

Stack Overflow用户
提问于 2017-03-24 00:55:59
回答 1查看 375关注 0票数 1

我有一个二进制文件,我首先用objdump反汇编了它,如下所示:

代码语言:javascript
复制
objdump -Mintel -d mybinary

结果看起来是这样的(我只放了一部分,想法是让你看看它是什么样子的):

代码语言:javascript
复制
patchme:     format de fichier elf64-x86-64

Déassemblage de la section .init :

00000000004003e0 <_init>:
  4003e0:   48 83 ec 08             sub    rsp,0x8
  4003e4:   48 8b 05 0d 0c 20 00    mov    rax,QWORD PTR [rip+0x200c0d]        # 600ff8 <_DYNAMIC+0x1d0>
  4003eb:   48 85 c0                test   rax,rax
  4003ee:   74 05                   je     4003f5 <_init+0x15>
  4003f0:   e8 3b 00 00 00          call   400430 <__gmon_start__@plt>
  4003f5:   48 83 c4 08             add    rsp,0x8
  4003f9:   c3                      ret   

我修改了汇编代码(以及相关的十六进制值)。我想知道是否有一种简单的方法可以将这些代码重新汇编成二进制代码?就像一个命令来做这件事。

谢谢!

PS:我知道我可以将每个十六进制转换成二进制,并将它们连接起来……但是工作量很大:-p

EN

回答 1

Stack Overflow用户

发布于 2017-03-24 02:37:53

您可以使用十六进制编辑器或补丁工具将更改应用于原始二进制文件(您可以将--file-offset参数传递给objdump,让它告诉您正在修改的偏移量的实际文件位置)。

当然,您总是可以去掉地址和十六进制,然后使用您选择的汇编程序重新汇编代码,但您仍然有一个问题,即如何将其修补到原始二进制文件中(据推测,原始二进制文件中包含的内容不仅仅是上面显示的部分)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42982379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档