#dump #section #file #binarys #read #align #symbol

app objgrep

二进制文件转储工具

1 个稳定版本

1.0.0 2024年4月12日

#12#align

MIT 许可证

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