Assembly 获取共享对象文件(ELF)中函数的指令流(字节或程序集)
我正在获取与共享对象文件(ELF)中某个函数相关联的指令 这应通过python脚本实现。我当然可以通过命令行来实现这一点,目标不是从python脚本中启动cli命令。应该改用图书馆 我的脚本的输入是一个对象文件名和函数名,如Assembly 获取共享对象文件(ELF)中函数的指令流(字节或程序集),assembly,binary,pyelftools,Assembly,Binary,Pyelftools,我正在获取与共享对象文件(ELF)中某个函数相关联的指令 这应通过python脚本实现。我当然可以通过命令行来实现这一点,目标不是从python脚本中启动cli命令。应该改用图书馆 我的脚本的输入是一个对象文件名和函数名,如 python getInstructionStream.py main.o foo 结果应该是这样的 00000016 <foo>: 16: 55 push ebp 17: 89 e
python getInstructionStream.py main.o foo
结果应该是这样的
00000016 <foo>:
16: 55 push ebp
17: 89 e5 mov ebp,esp
19: 83 ec 10 sub esp,0x10
1c: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
1f: 8b 55 08 mov edx,DWORD PTR [ebp+0x8]
22: 01 d0 add eax,edx
24: 89 45 fc mov DWORD PTR [ebp-0x4],eax
27: 8b 45 fc mov eax,DWORD PTR [ebp-0x4]
2a: c9 leave
2b: c3 ret
00000016:
16:55推ebp
17:89 e5 mov ebp,esp
19:83 ec 10子esp,0x10
1c:8b 45 0c mov eax,DWORD PTR[ebp+0xc]
1f:8b 55 08 mov edx,DWORD PTR[ebp+0x8]
22:01 d0添加eax、edx
24:89 45 fc mov DWORD PTR[ebp-0x4],eax
27:8b 45 fc mov eax,DWORD PTR[ebp-0x4]
2a:c9离开
2b:c3 ret
不必以任何汇编语法显示输出。十六进制流也足够了。有人能给我举一个或多个能帮助我完成这类工作的库吗?谢谢libelf的提示。我可以从这里继续这听起来很像是你在请别人为你写代码。堆栈溢出不是这样工作的。你写代码,当你遇到麻烦时,你会寻求帮助。我不想让任何人为我写代码。我请求图书馆的支持,但我必须承认,这个问题没有得到很好的阐述。下次我会做得更好