8 Reverse engineering
Table des matières
8.1 Objectif
Dans ce sujet de TP, vous allez devoir relever 5 défis qui nécessitent de modifier directement la version assemblée d'un programme pour lequel nous n'avons pas accès au code source.
8.2 Préembule
Les fichiers générés par l'assembleur et éditeur de liens pour Motorola 68000 sont au format SREC (format appelé Hex Format de Motorola).
Le fichier contient de l’hexadécimal mais codé en ASCII.
$> cat exemple.x S0060000742E78DF S10F0000010013FC0020000000004E4032 S9030002FA
8.3 Défi n°1
Soit le programme prog1.x, assemblé pour le processeur Motorola 68000 au format SREC.
Le résultat de son exécution est le suivant :
$> pym68k -q prog1.x Attaque : 5 Vie : 10 Armure : 20
Modifiez le fichier prog1.x de façon à ce qu'il affiche 100 points de vie.
8.4 Défi n°2
Même question mais avec le programme prog2.x.
8.5 Défi n°3
Quel est le code d'accès du programme prog3.x ?
8.6 Défi n°4
Même question mais avec le programme prog4.x ?
8.7 Défi n°5
Modifiez le fichier prog5.x pour avoir accès à tous les coups soit en faisant qu'il accepte n'importe quel code, soit qu'il ne demande même plus le code.