是否有 Ghidra 的变量前缀列表?

逆向工程 吉德拉 反编译器
2021-07-05 05:56:43

在 Ghidra 中,反编译器在变量名前添加了各种前缀。例如,iVar1是一个整数。但是,有很多前缀不是很明显,请在下面找到一些,但如果有人知道它在哪里,我正在寻找完整的字典:

  • local_31
  • auStack8320
  • uStack4
  • DAT_<addr>
1个回答

这令人恼火地很难找到答案。这是一个很好的起点,但我认为我还没有找到一切。

  1. 变量名
    1. Function.java
      1. param_
      2. local_
      3. local_res
      4. temp_
    2. 来自database.cc <-- 这个函数有大部分(也许是全部?)变量命名逻辑。这个函数有很多部分我还不明白;我非常有信心隐藏在那里的其他变量命名约定。
      1. unaff_retaddr
      2. unaff_
      3. in_
      4. param_
        1. 虽然也在 中引用Function.java,但我相信这是实际生成名称的地方。
      5. extraout_
      6. Var
        1. 似乎通常以其他东西为前缀(例如i在您的示例中)
    3. 我认为这个函数varmap.cc是创建堆栈变量的函数,但我还没有确认。
  2. 标签名称(来自SymbolUtilities.java):
    1. SUB_
    2. LAB_
    3. DAT_
    4. UNK_
    5. EXT_
    6. FUN_
    7. OFF_

同样有用的是,FindPotentialDecompilerProblems.java脚本对其中一些含义有一些解释。也就是说,一些变体extraoutin_unaff_