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 и нажмите OK. Чтобы проверить Qtreanalyzer правильно установлен, вы можете открыть CodeBrowser и выбрать Analysis -> Auto Analyze ... A и проверить, что опция QtReAnalyzer существует.

В настоящее время Qtreanalyzer работает только с двумя двоичными файлами x32 или X64, которые имеют RTTI (то есть скомпилированным с компилятором MSVC). Это так, так как Qtreanalyzer использует RTTI, чтобы найти, наследуют ли классы от Qobject. Это сказано, если кто -то хочет расширить этот анализатор для работы с двоичными файлами без RTTI, все, что необходимо для того, чтобы изменить файл RttiClass.java соответствующим образом.
В очень редких случаях к типу данных будет добавлен неверная подпись, иначе будет добавлено свойство в тип данных в неправильном адресе. Это практически невозможно исправить, так как Qtreanalyzer отображает сигналы, слоты и подписи QTERANALY Это не должно быть основным ограничением, в файле с более чем 10 000 сигналов QT и слотами, проверяющими вручную существенный образец, я обнаружил только несколько ошибочно маркированных символов.
Qtreanalyzer был бы невозможным без следующих удивительных ресурсов: