arm64汇编篇-015指针的反汇编

本文介绍了ARM64架构下指针的反汇编过程,通过代码示例展示了如何处理指针操作,包括将栈空间内存赋值给寄存器、在栈中存储数据,以及理解数组指针的使用方式。文中还提到,虽然不能直接对数组指针进行arr++操作,但可以通过类型转换和递增新变量实现类似效果。
摘要由CSDN通过智能技术生成

指针的反汇编

1.输入如下代码:

void func (){
  int * a;
  int b = 10;
  a = &b;
}

2.真机运行断点调试如图:
指针的反汇编
3.解析:

1.将栈空间四个字节内存给x8寄存器
2.将10赋值给w9寄存器
3.将w9寄存器的值存储到x8寄存器指向的内存空间
4.将x8的值存储在sp偏移8个单位空间,即栈空间。(局部变量是保存在栈中的寄存器不保存数据

  • 数组指针
    1.代码如下:
void func()
{
  int arr[5] = {
  1,
反汇编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文件解析,解析调试信息;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!
反汇编带符号表的32位/64位ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。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小端字节序反汇编错误,网上最新版本提示;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!
ARM汇编语言手册中文版是一本详细介绍ARM架构及其汇编语言的手册。在该手册中,我们可以学习到ARM指令的格式、指令集、寄存器以及各种操作方式和条件等内容。这本手册非常重要,对于开发ARM处理器的嵌入式系统工程师、汇编语言爱好者以及反汇编、调试等方面的工作都具有重要的参考价值。 首先,该手册提供了详细的ARM指令集介绍,包括数据处理指令、分支指令、访存指令等等。每个指令都详细说明了其操作方式、寄存器使用、标志位修改等相关信息。从中我们可以了解到如何正确地编写ARM汇编代码以及如何将高级语言转化为底层汇编指令。 其次,该手册介绍了ARM寄存器的使用。ARM架构有16个通用寄存器,可以用于存储临时变量或操作数。每个寄存器都有自己的命名规则和用途,例如程序计数器(PC)、堆栈指针(SP)等。手册中对每个寄存器的功能进行了详细解释,有助于程序员正确地使用寄存器。 此外,手册还介绍了一些高级特性,如条件执行、指令交叉操作等。条件执行允许指令根据条件码来决定是否执行,这个特性在编写高效率的汇编代码时非常有用。指令交叉操作则是ARM指令集独有的特性,允许在指令流中交替执行多个指令,从而提高程序的并行性和性能。 总之,ARM汇编语言手册中文版是一本非常重要的参考资料,可以帮助我们深入理解ARM架构及其汇编语言编程。无论是从事ARM处理器开发的工程师,还是对底层汇编语言有兴趣的人,都可以从中获得很多有价值的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值