0) ALT+K 查看调用堆栈
使用od破解软件时,经常会用到栈回溯的方法,假设我们现在所在main个函数的入口点

使用alt+k来查看此函数的父级调用

堆栈调用窗口显示的每一行,代表从上一层函数,进入当前函数的入口,这个功能缺点就是只能在程序运行到某个函数中,并且断下来后,才能使用。
1) CTRL+K
假设我们有这样的需求,我不想运行到某个函数,只想查看该函数的调用关系。
- 我想知道谁调用了它?
- 我想知道它又调用了哪些函数?
这时候使用CTRL+K可以清楚的看到某个函数的上一层,以及这个函数内部调用了那些方法

还是以main函数为例,我们看到:
- 第一列 显示的是main函数的上一层函数是谁
- 第二列 显示的是当前的函数
- 第三列显示的是当前函数内部调用了那些函数
在任意一列,双击,可以把双击的那一列,作为当前函数,进一步追踪。假设我双击了test.CDemo::CDemo这个函数

2) CTRL+R 交叉引用
我们知道,IDA中有个很强大的功能,就是查看某个函数或者变量的交叉引用。同样OD中也这样的功能
我在main函数的入口点,按下CTRL+R,可以看到谁引用了这个函数入口的地址。

假设我在内存窗口,看到有个重定位的变量地址,先选中它,然后按下CTRL+R

我可以找到所有引用这个常量的地方,同理,字符串常量也可以。

本文详细介绍使用OllyDbg(OD)进行软件调试的高级技巧,包括利用ALT+K查看调用堆栈,CTRL+K追踪函数调用关系,以及CTRL+R进行交叉引用查找,帮助读者深入理解程序执行流程。
2313

被折叠的 条评论
为什么被折叠?



