QtREAnalyzer
1.0.0
Qtreanalyzer是一种GHIDRA分析仪,旨在逆转QT框架的二进制。它的主要功能是恢复QT特定的对象和方法信息,从而为二进制结构提供有价值的见解。
该分析仪与正在安装的Ghidra版本相关。目前是建造它的必要条件;将来将为最新的Ghidra版本提供建造的扩展。
QtREAnalyzerQtREAnalyzer文件夹 cd QtREAnalyzer Q tREAnalyzer$GHIDRA_DIR )。例如,如果您具有以下ghidra安装路径C:ghidra_11.0.3_PUBLIC您将运行gradle -PGHIDRA_INSTALL_DIR=C:ghidra_11.0.3_PUBLIC 。 gradle -PGHIDRA_INSTALL_DIR= $GHIDRA_DIR File > Install Extensions... ,单击+标志,然后选择QtREAnalyzerQtREAnalyzerdistghidra_*_QtREAnalyzer.zip ,然后单击“确定”。要验证QTreanalyzer已正确安装,您可以打开CodeBrowser并选择Analysis - > Auto Analyze ... A并检查QtReAnalyzer选项是否存在。

目前,Qtreanalyzer仅与具有RTTI的X32或X64二进制文件一起使用(即与MSVC编译器一起编译)。之所以如此,是因为QTreanalyzer使用RTTI查找类是否从qobject继承。这就是说,如果一个人想将此分析仪扩展到没有rtti的二进制文件的情况下,所有需要做的就是适当地修改RttiClass.java文件。
在极少数情况下,将不正确的签名应用于一个函数,否则将在错误地址中添加属性。这几乎是不可能修复的,因为QTreanalyzer将QT信号,插槽和属性签名映射到相应的函数地址/属性偏移的方式是基于启发式的。这不应该是一个主要限制,在一个超过10 000个QT信号和插槽的文件中,手动检查了一个大量的样本,我只找到了少数错误标记的符号。
没有以下惊人的资源,QTreanalyzer将是不可能的: