Implémentation d’une architecture processeur non supportée sur IDA PRO et Ghidra

Magazine
Marque
MISC
HS n°
Numéro
21
Mois de parution
juillet 2020
Spécialité(s)


Résumé

Malgré le nombre d’outils aidant au désassemblage voire à la décompilation de programmes, il arrive parfois que les mécanismes ou les processeurs étudiés ne soient pas nativement supportés. Pour cette raison, certains outils proposent des API permettant d’implémenter une nouvelle architecture. Cet article détaillera les grandes étapes de ce travail pour deux outils majoritairement utilisés, à savoir IDA PRO et Ghidra.


L’implémentation d’un nouveau processeur peut être fastidieuse selon l’architecture ciblée. Le choix d’une architecture d’apparence triviale est préférable pour démarrer : quoi de mieux qu’un challenge du SSTIC pour sélectionner la candidate idéale ?

Pour être dans son temps, c’est l’architecture DWARF2 qui sera détaillée dans cet article. Un tel processeur virtuel dispose d’un nombre réduit d’instructions qui sont a priori simples à décoder. L’article fournira également un plugin minimaliste d’émulation pour chacun des outils. Il conclura par dresser les avantages/inconvénients de ces outils pour ce genre d’exercice en fonction du cas d’usage. Cet article n’a pas vocation à être complet, aussi certains détails auront été omis (in)volontairement.

Tous les fichiers assurant le support et l’émulation de l’architecture DWARF2 sont consultables et utilisables sans restriction [FICHIERS].

1. Méthodologie...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous