反汇编工具使用

当遇到内核开发中的kernel panic时,可以借助objdump工具进行反汇编分析,通过异常栈定位错误位置。将vmlinux镜像反汇编成文本,并根据oops信息搜索错误。另外,addr2line工具能根据地址指出错误发生的源文件和行号,辅助调试。这两个工具位于prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin目录下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核开发,kernel panic是再常见不过的了,根据异常栈通常即可定位出代码出错的大概位置,但是有些时候我们还是会需要使用反汇编工具来帮助我们定位一些异常,objdump.

该反汇编工具存在于prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/文件夹下,可参考如下使用方法:

  1)   prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-android-objdump  vmlinux > 1.txt可把内核镜像反汇编,可以根据oops打印出的PC搜索在哪里出错了;

该文件夹下还有一个工具可以根据地址指出在哪个文件的哪一行出错,使用方法如下:

  2)    prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-android-addr2line -a  要查询的地址  -e vmlinux

Hackers Disassembler 1.06 汉化版是一个非常快速和舒适的免费反汇编工具,玩过破解的我相信Hacker’s Disassembler 会成为你收藏的工具之一。 软件功能特色:对于COM,MZ和PE可执行文件的支持 在JMP和CALL指令和给定的地址,存储地址的历史 认识到引用字符串,对话框和菜单 认识到导入函数的调用 有关导出函数的信息 自定义的热键和颜色,语法高亮 “跟踪模式” 程序和全局变量名称 注释 书签 使用拖放和拖放打开文件 保存文本片段 对话框中的“反汇编模式” 在正常模式下可以反汇编或者整个文件(二进制和MZ),部分路段(PE)或间隔(虚拟地址在相应的字段中指定)。 在跟踪模式下反汇编开始从虚拟地址在现场开始设置,到结束设置地址,或到最接近的指令JMP或沤。然后当控制被转移到块被分解。这种模式便于拆卸的代码的小片段,例如,在RTL函数调用一些辅助功能。请注意,该守则某些部分可以通过反汇编,如果控件使用间接寻址指令(例如,调用[ESI EAX*4])转让有被错过。默认情况下,现场开始包含入口点的地址。 当打开二进制文件,需要指定文件图像(物理地址)的偏移量,图像的大小,对应于图像(虚拟地址)的开头的虚拟地址,进入点的和是否该代码是32位的虚拟地址。     反汇编 最小的字符串长度:具有长度小于给定数量少的字符串是由反汇编忽略,并且不包括在字符串引用列表。此参数用于预防参考其他不属于字符串符号的短序列。
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.26.00相对上一版本,增强EXE反汇编,增加dbx老邮件解析、二维码功能,;V1.25.07相对上一版本,增加二进制反汇编、IQ数据解析功能,完善MIPS反汇编,修复小BUG;V1.25.05相对上一版本,增加内存数据按数据类型解析功能;V1.25.04相对上一版本,完善X86反汇编,修复小BUG;V1.25.02相对上一版本,COREDUMP统计、匹配目标文件等相关功能优化,修复小BUG;V1.25.00相对上一版本,相关功能支持动态库文件,查询代码支持无符号目标文件+有符号目标文件,COREDUMP统计、与问题单关联、目标文件/CORE文件/问题单同步;V1.24.02相对上一版本,针对进程主动捕捉异常的信息定制处理进一步完善COREDUMP文件解析与应用,增强软件管理;V1.24.01相对上一版本,进一步完善COREDUMP文件解析与应用,提供部分ARM Thumb指令反汇编;V1.24.00相对上一版本,进一步完善COREDUMP文件解析与应用,提供堆栈调用关系分析;V1.23.03相对上一版本,提供32位X86反汇编;V1.23.02相对上一版本,提供源代码行查询指令地址,OBJ/COREDUMP文件解析,sprintf函数参数特定检查,完善文件拖放操作,修复小BUG;V1.23.01相对上一版本,提供ELF文件指令修改,修复ARM MLS指令反汇编错误等BUG;V1.23.00相对上一版本,提供程序地址对应源代码行查询,修复MIPS调试信息错误;V1.22相对上一版本,修复MIPS小端字节序反汇编错误,网上最新版本提示;V1.21相对上一版本,菜单调整,完善64位ELF文件解析,解析调试信息;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!
反汇编Linux/Windows OS运行的32位/64位程序/动态库文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有CORE文件解调用栈、文本比较等功能。V2.0.3相对上一版本,完善ARM64、X8664、PPC64反汇编、ko反汇编,完善反汇编文本文件比较、IQ数据解析,修复小BUG;V2.0.2相对上一版本,完善ARM64、X8664反汇编、ARM64位core文件调用栈,完善文本文件比较、增加高亮、查找功能,修复小BUG;V2.0.0相对上一版本,完善ARM64反汇编、ARM64位core文件调用栈,完善C++符号名字解析,支持工具运行在英文版OS;V1.26.01相对上一版本,增加ARM64反汇编64位core文件解析;V1.26.00相对上一版本,增强EXE反汇编,增加dbx老邮件解析、二维码功能;V1.25.07相对上一版本,增加二进制反汇编、IQ数据解析功能,完善MIPS反汇编,修复小BUG;V1.25.05相对上一版本,增加内存数据按数据类型解析功能;V1.25.04相对上一版本,完善X86反汇编,修复小BUG;V1.25.02相对上一版本,COREDUMP统计、匹配目标文件等相关功能优化,修复小BUG;V1.25.00相对上一版本,相关功能支持动态库文件,查询代码支持无符号目标文件+有符号目标文件,COREDUMP统计、与问题单关联、目标文件/CORE文件/问题单同步;V1.24.02相对上一版本,针对进程主动捕捉异常的信息定制处理进一步完善COREDUMP文件解析与应用,增强软件管理;V1.24.01相对上一版本,进一步完善COREDUMP文件解析与应用,提供部分ARM Thumb指令反汇编;V1.24.00相对上一版本,进一步完善COREDUMP文件解析与应用,提供堆栈调用关系分析;V1.23.03相对上一版本,提供32位X86反汇编;V1.23.02相对上一版本,提供源代码行查询指令地址,OBJ/COREDUMP文件解析,sprintf函数参数特定检查,完善文件拖放操作,修复小BUG;V1.23.01相对上一版本,提供ELF文件指令修改,修复ARM MLS指令反汇编错误等BUG;V1.23.00相对上一版本,提供程序地址对应源代码行查询,修复MIPS调试信息错误;V1.22相对上一版本,修复MIPS小端字节序反汇编错误,网上最新版本提示;V1.21相对上一版本,菜单调整,完善64位ELF文件解析,解析调试信息;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值