IDA Pro 的局部变量语法是什么意思?

逆向工程 艾达
2021-06-23 16:34:03

IDA Pro 使用的语法类似于Var_A4 = dword ptr -0A4h在 x86 汇编例程顶部声明堆栈变量时,如下所示:

在此处输入图片说明

但是,我希望它使用 EBP 偏移语法来引用此类局部变量和参数。dword ptr 语法的含义是什么,为什么要使用这种语法?

1个回答

来自堆栈指针(esp+xxx)的参数是正数 来自堆栈指针(esp-xxx)的局部参数是负数

ida 将所有本地变量DWORD ptr ss:[esp-xx]重命名var_xxx
和所有参数,即DWORD PTR SS:[esp+xxx]arg_XX

您可以使用脚本批量重命名它们或使用 K 键盘快捷键查看单个实例

我有一些关于如何在这里这里批量重命名它的帖子

编辑

或者您可以更改 ANALYSIS 内核选项 1 取消选中创建堆栈变量

或打开 ida.cfg 并将分析选项 = 0xffff 更改为 0xfbff 并且 ida 不会创建这些 vars 和 args

:\>echo %cd%
E:\IDA_FREE_5\cfg

:\>grep -n ANA.*FBFF *
ida.cfg:194:ANALYSIS        = 0xFBFF // This value is combination of the bits defined