在Ghidra中,反编译器在变量名之前添加了各种前缀。例如,iVar1是整数。但是,有很多前缀不是立即显而易见的,请在下面找到一些前缀,但是如果有人知道它在哪里,我正在寻找完整的词典: /> local_31
auStack8320
uStack4


#1 楼

这很难找到答案。这是一个很好的起点,但我想我还没有找到所有内容。

变量名称

来自Function.java:

param_
local_
local_res
temp_


来自database.cc <-此函数具有大多数(也许全部?)变量命名逻辑。我尚不了解此功能的多个方面;我非常有信心在其中隐藏其他变量命名约定。 >尽管在unaff_retaddr中也引用了该文件,但我相信这实际上是该名称的生成位置。


unaff_通常以其他前缀(例如您的示例中的in_)为前缀。我认为param_中的此函数是创建堆栈变量的那个函数,尚未确认。


标签名称(来自SymbolUtilities.java):

Function.java
extraout_
Var
i
varmap.cc
SUB_
LAB_



另外,FindPotentialDecompilerProblems.java脚本也对其中的一些含义进行了解释。即,DAT_UNK_EXT_的某些变体。