重命名 Ghidra 中的阴影变量

逆向工程 吉德拉
2021-06-11 23:13:54

我正在 Ghidra 反编译器中处理一个函数,其中包含一堆在不同范围内重复使用的变量。我没有看到任何方法可以在每行的基础上重命名这个变量。是否可以?

2个回答

Yaldi 已经提到了Commit Locals更精细的变量范围的重要的第一步

如果您的 Ghidra 版本至少有提交https://github.com/NationalSecurityAgency/ghidra/commit/885402bbc3618b895c4b9b8f09300d3120a9abe8可能会在9.2发行版中,您可以Commit Locals通过右键单击反编译器视图中的变量并选择Split out as New Variable.

GitHub 用户 ubitux 在此处建议了此解决方法:https : //github.com/NationalSecurityAgency/ghidra/issues/1510,我可以确认它在某种程度上解决了该问题。

当你对函数“Commit Locals”时,一些变量的类型和名称会被固定,变量的作用域会变小,这样一个变量就会自动拆分到多个作用域。然后,您可以迭代地注释变量类型、重命名变量、提交,范围将进一步缩小。