1 个稳定版本
1.0.0 | 2024年4月12日 |
---|
#12 在 #align
15KB
357 行
Objgrep
二进制文件反汇编工具
安装
要安装objgrep
,请运行
cargo install objgrep
用法
要转储一个对象文件,只需运行
objgrep test.o
显示所有信息:(Hello World! C程序的转储输出)
test.o Elf X86_64-Little-endian
Sections:
Name Size Align Kind
0x0 0x0 Metadata
.text 0x23 0x1 Text
.rela.text 0x30 0x8 Metadata
.data 0x0 0x1 Data
.bss 0x0 0x1 Uninitialized Data
.rodata 0xc 0x1 Read Only Data
.comment 0x2c 0x1 Other String
.note.GNU-stack 0x0 0x1 Other
.note.gnu.property 0x20 0x8 Note
.eh_frame 0x38 0x8 Read Only Data
.rela.eh_frame 0x18 0x8 Metadata
.symtab 0x90 0x8 Metadata
.strtab 0x14 0x1 Metadata
.shstrtab 0x74 0x1 Metadata
Syms:
Bind Typ Symbol Section
Unknown Null Undefined
Private File test.c
Global Func main .text
Global Unknown printf Undefined
entry: 0
main:
0xF3 0xF 0x1E 0xFA | endbr64
0x55 | push rbp
0x48 0x89 0xE5 | mov rbp, rsp
0x48 0x8D 0x5 0x0 0x0 0x0 0x0 | lea rax, [rip] # .rodata + 0x7
0x48 0x89 0xC7 | mov rdi, rax
0xB8 0x0 0x0 0x0 0x0 | mov eax, 0
0xE8 0x0 0x0 0x0 0x0 | call 0x1c # printf
0xB8 0x0 0x0 0x0 0x0 | mov eax, 0
0x5D | pop rbp
0xC3 | ret
依赖
~37MB
~1M SLoC