A tecnologia de identificação e reconhecimento da biblioteca rápida, também conhecida como flerte, é o identificador de símbolos internos da IDA que pesquisa nos binários desmontados para localizar, renomear e destacar as sub -rotinas de biblioteca conhecidas. O flerte elimina a necessidade de analisar funções que podem ser entendidas simplesmente lendo a documentação ou o código-fonte da biblioteca de que veio e reduz a quantidade de trabalho necessária para reverter e entender os binários com símbolos em uma quantidade considerável.
Para mais informações, visite: https://www.hex-rays.com/products/ida/tech/flirt/index.shtml
Aqui está um diagrama simplificado demais no funcionamento interno da Flirt:
A entrada para o sistema é um arquivo de biblioteca (.lib no Windows) de uma biblioteca de escolha, enquanto a saída é um arquivo de assinatura (.sig) armazenado em /sig (e somente lá ou mais ou mais não o encontrará). Usando uma das ferramentas (PLB/PCF/PELL) (fornecido aqui para clientes pagantes), você converte todas as funções da biblioteca em assinaturas armazenadas em um arquivo PAT (.pat). A etapa final na criação de um arquivo de assinatura envolve a conversão do arquivo PAT gerado em um arquivo .sig utilizável pela IDA com o uso do sigmake. O problema com isso é que às vezes as colisões existem para assinaturas, pois o método HEX-RAYS Usa não é à prova de idiotas. Quando ocorre um erro, é criado um erro EXC (.Exc). Para ignorar as colisões, basta editar esse arquivo removendo os primeiros comentários (linhas que começam com ';') e reencontrar o sigmake.
Para obter mais informações, procure o readme dentro do diretório de ferramentas de talento.
Considerando o fato de que existem inúmeras bibliotecas por aí (ambas de fonte aberta/fechada), cada uma com suas infinitas construções/versões, é óbvio que a equipe de Raios de Helé nem sempre pode nos fornecer os arquivos de assinatura de que precisamos. Devido a isso, criei esse repositório na esperança de que ele serve como um hub para os engenheiros reversos obterem arquivos de assinatura (e esperançosamente enviam também).
Qualquer pessoa pode contribuir para este repositório gerando um arquivo de assinatura para uma versão específica de uma biblioteca (ou vários!) E seguindo as regras sob ética.
Devido ao fato de que existem várias bibliotecas/versões para gerenciar, é um requisito que classifiquemos todas as informações da maneira mais fácil possível para que as pessoas possam encontrar o que estão procurando com facilidade. Basta seguir as regras abaixo e espero que tudo corra bem:
Michael Kiros