公开学习文档

公开学习文档


二进制文件分析工具

<h2>二进制分析</h2> <p><code>ltrace</code> 库调用跟踪器</p> <p><code>hexdump</code> 可用 <code>hexdump -C xxx</code> 查看文件二进制内容</p> <p><code>objdump</code> 可用 <code>objdump -d xxx</code> 查看汇编内容</p> <p><code>gdb</code> 调试</p> <p><code>nm</code> 列出文件中的符号:</p> <pre><code class="language-c">A :符号的值是绝对值,不会被更改 B或b :未被初始化的全局数据,放在.bss段 D或d :已经初始化的全局数据 G或g :指被初始化的数据,特指 small objects I :另一个符号的间接参考 N :debugging 符号 p :位于堆栈展开部分 R或r :属于只读存储区 S或s :指为初始化的全局数据,特指 small objects T或t :代码段的数据,.test段 U :符号未定义 W或w :符号为弱符号,当系统有定义符号时,使用定义符号,当系统未定义符号且定义了弱符号时,使用弱符号。 ? :unknown 符号</code></pre> <h2>用到</h2> <pre><code class="language-sh"># 查看调试信息 readelf -w xxx.bin # 查看 elf 文件分布信息(两种都一样) objdump -h xxx.bin readelf -S xxx.bin</code></pre>

页面列表

ITEM_HTML