我已经开始使用Ghidra,并且发现反编译器视图非常有用。但是,当我重命名变量时,该名称会在整个函数中通过该寄存器或堆栈指针的所有使用传播。在大多数情况下,这很好,但是当变量存储在寄存器中时,同一寄存器稍后将用于在函数中存储另一个变量。

我的问题是:有没有办法只重命名当前行下方函数中的变量?这样,以后使用所述寄存器将具有正确的变量名称。

评论

我也遇到了这个问题。我就此主题提交了github.com/NationalSecurityAgency/ghidra/issues/975。

#1 楼

从2020.11.13开始,包含此功能的9.2版本已可用。提到了Muizelaar。
根据https://github.com/NationalSecurityAgency/ghidra/issues/1510#issuecomment-582052718,这目前仅适用于寄存器,但也适用于Stack变量。