O qTreanalyzer é um analisador Ghidra projetado para binários de engenheiros reversos que utilizam a estrutura QT. Sua função principal é recuperar informações de objetos e métodos específicos para QT, fornecendo informações valiosas sobre estruturas binárias.
Este analisador está vinculado à versão Ghidra em que está sendo instalado. Atualmente é necessário para construí -lo; Extensões construídas serão fornecidas no futuro para as mais recentes versões de Ghidra.
QtREAnalyzerQtREAnalyzer cd QtREAnalyzer Q tREAnalyzer$GHIDRA_DIR pelo seu diretório de instalação). Por exemplo, se você tiver o seguinte caminho de instalação ghidra C:ghidra_11.0.3_PUBLIC executaria gradle -PGHIDRA_INSTALL_DIR=C:ghidra_11.0.3_PUBLIC . gradle -PGHIDRA_INSTALL_DIR= $GHIDRA_DIR File -> Install Extensions... , clique no sinal + e selecione o QtREAnalyzerQtREAnalyzerdistghidra_*_QtREAnalyzer.zip e clique em OK. Para verificar o qtreanalyzer está instalado corretamente, você pode abrir o código de código e selecionar Analysis -> Auto Analyze ... A e verifique se a opção QtReAnalyzer existe.

Atualmente, o QTeanalyzer trabalha apenas com binários x32 ou x64 que possuem RTTI (ou seja, compilados com o compilador MSVC). Isso ocorre desde que o qtreanalyzer usa o RTTI para descobrir se as classes herdam do QOBject. Dito isto, se alguém quiser estender esse analisador para trabalhar com binários sem o RTTI, tudo o que é necessário para fazer é modificar o arquivo RttiClass.java adequadamente.
Em casos muito raros, uma assinatura incorreta será aplicada a uma função ou uma propriedade será adicionada a um tipo de dados no endereço incorreto. Isso é quase impossível de corrigir, pois a maneira como o QTeanalyzer mapeia sinais, slots e assinaturas de propriedades para o endereço de função/deslocamento de função correspondente é baseado em heurística. Isso não deve ser uma limitação importante, em um arquivo com mais de 10.000 sinais QT e slots verificando manualmente uma amostra substancial, encontrei apenas um punhado de símbolos marcados erroneamente.
O QTeanalyzer não teria sido possível sem os seguintes recursos incríveis: