Awesome REA
Français
Retour à tous les cas

bzip2: vérification des résultats binaires supprimés par rapport à une version symbolisée

Cible: bzip2 1.0.8 compilé avec gcc -O2 et supprimé, Linux x86-64

Auteur / attribution: CassieFox23

Date d'examen des sources:

Statut de l'examen: Sources examinées ; les tests de l'auteur ne sont pas réexécutés indépendamment.

La question

Comment trouver une fonction à partir d’une chaîne de sortie et vérifier ses relations d’appel ?

Ce que REA a fait

REA 6.4.0 et Ghidra localisent une fonction à partir d'une chaîne, répertorient les appelants et les appelés et renvoient Evidence étiqueté observed/derived.. L'auteur vérifie séparément une version non supprimée de la même source avec le code source, nm et objdump.

Résultats rapportés par l'auteur

L'auteur rapporte avoir trouvé une décompression avec l'appelant 1 et les appelés 24 correspondant à la version de référence. Les étapes de construction, les enregistrements MCP supprimés et deux classes de réponses d'erreur sont publics.

Limitations et réclamations non vérifiées

Un programme, une configuration de compilation et une fonction, sans comparaison d'outils. Les bords 24 sont des appels directs résolus par le fournisseur, et non un graphique d'exécution complet. Le script client complet n'est pas public ; l'archive a un hachage enregistré mais aucune vérification de signature. Ce catalogue ne l'a pas réédité.

Quoi apprendre

Construisez la vérité terrain à partir d’une construction symbolisée correspondante et d’observations, d’inférences et de vérifications de références séparées.

Preuve d'utilisation de REA dans la source

REA's function, one caller and 24 callees all matched an unstripped build and the source.

Le formatage des extraits est simplifié. Lisez la source originale pour le contexte complet.

Sources originales

Résumé éditorial indépendant. Le crédit appartient aux auteurs originaux. Les logiciels cibles, les installateurs et la sortie complète du décompilateur ne sont pas redistribués ici.

Voir ce cas sur GitHub · Proposer une correction