一、IDA的交叉引用
- 对于一些没有符号的函数,IDA会使用
sub_
加其虚拟地址的方式来作为函数名,如果想要查看这个函数在哪里被引用了,可以使用快捷键x
或Ctrl+ x
- 代码交叉引用(code xref)用于表示一条指令将控制权转交给另一条指令。在IDA中,指令转交控制权的方式叫做流(flow) IDA中有3种基本流:
- 普通流 ,表示由一条指令到另一条指令的顺序流,用
o
表示。 - 调用流 ,表示控制权被转交给目标函数 ,用
p
表示。 - 跳转流,每个无条件分支指令和条件分支指令将分配到一个跳转流(jump flow),用
j
表示。
- 数据交叉引用(data xref)用于跟踪二进制文件访问数据的方式。数据交叉引用与IDA数据库中任何牵涉到虚拟地址的字节有关(换言之,数据交叉引用与栈变量毫无关系) 。IDA有3种数据交叉引用:
- address何时被读取(读取交叉引用)表示访问的是某个内存位置的内容,用
r
表示。 - address何时被写入(写入交叉引用) 指出了修改变量内容的程序位置 ,用
w
表示。 - address何时被引用(偏移量交叉引用)表示引用的是某个位置的地址(而非内容),用
o
表示。