IDA交叉引用详解

简介: 代码和数据交叉引用分析

1.代码交叉引用
代码交叉引用的前缀为:CODE XREF如下图显示,箭头方向表示引用位置的相对方向。
每一个交叉引用的最后一位后缀表示引用的类型:
image.png

o 普通流 ,表示一条指令到另一条指令的顺序流
p 调用流,表示控制权被转交给目标函数,如BL等命令
j 跳转流,表示分支操作,常见于if等操作

  1. 数据交叉引用

数据交叉应用的前缀为:DATA XREF如下图所示,数据交叉引用
image.png

每一个交叉引用的最后一位后缀表示引用的类型
r 读取交叉引用,表示访问的是某个内存位置的内容
w 写入交叉引用,指出了修改变量内容的程序位置
o 偏移量交叉引用,表示引用的是某个位置的地址(而非内容)

  1. 交叉引用列表
    Jump - Jump to xref 或快捷键X,将光标放在一个交叉引用的目标地址上,通过该快捷键可弹出交叉引用列表。

image.png

相关文章
显示按下的键的编码的汇编源代码
显示按下的键的编码的汇编源代码
|
5月前
[VS&Halcon] 无法定位程序输入点于动态链接库 .dll上
[VS&Halcon] 无法定位程序输入点于动态链接库 .dll上
155 0
|
5月前
|
网络协议 Shell Linux
安卓逆向 -- IDA动态调试
安卓逆向 -- IDA动态调试
78 0
|
5月前
|
小程序
[VS&Halcon] 无法定位程序输入点于动态链接库 .exe上
[VS&Halcon] 无法定位程序输入点于动态链接库 .exe上
134 0
IDA宏定义
IDA宏定义
137 0
|
编译器 开发工具 Windows
VS2008 未找到编译器可执行文件 csc.exe【当网上其他方法试玩了之后不起作用的时候再用这个方法】
被公司派遣到中国海洋石油惠州炼化公司做项目,做的是生产管理,来了发现他们的项目结构简直烂的要命,和同学们写的毕业设计差不多,然后开发工具用的是vs2008,我电脑是安装了vs2005和vs2010,vs2012就是没有安装vs2008,在安装vs2008的时候那是一番折腾好长时间,然后把vs2008安装好了打开项目代码,生成解决方案发现报了好多错,然后一一解决,最奇怪的是VS2008 未找到编译器可执行文件 csc.exe,我把所以路径都配好了,并且在dos环境下执行csc.exe都可以执行,环境变量路径设置的也么有问题,就是很奇怪重启机子打开项目还是找不到csc.exe
180 0
|
图形学 C++ iOS开发
Unity 符号表
Unity 符号表
572 0
Unity 符号表
|
Python
LyScript 自实现汇编搜索功能
通过对LyScript自动化插件进行二次封装,实现从内存中读入目标进程解码后的机器码,并通过Python代码在这些机器码中寻找特定的十六进制字符数组,或直接检索是否存在连续的反汇编指令片段等功能。
209 0
LyScript 自实现汇编搜索功能
|
安全
LyScript 寻找ROP漏洞指令片段
ROP绕过片段简单科普一下,你可以理解成一个可以关闭系统自身内存保护的一段机器指令,这段代码需要我们自己构造,这就涉及到在对端内存搜寻这样的指令,LyScript插件增强了指令片段的查找功能,但需要我们在LyScript插件基础上封装一些方法,实现起来也不难。
208 0
LyScript 寻找ROP漏洞指令片段
|
Python
LyScript 批量搜索反汇编特征
LyScript 插件实现对特定汇编指令片段的批量搜索功能,用户传入一个汇编指令列表,然后循环搜索该列表内的所有指令特征,如果找到了,则返回该指令的内存地址。
195 0
LyScript 批量搜索反汇编特征