Description
Afin de se familiariser avec la machine virtuelle et son langage assembleur, vous devez écrire dans cette épreuve un code assembleur qui effectue une comparaison.
La machine est initialisée avec deux valeurs aléatoires dans les registres R5
et R6
.
À la fin du programme, R0
doit contenir 1
si les valeurs sont différentes, 0
sinon.
Le code machine (bytecode) sera envoyé sous un format hexadécimal, qu’on pourra générer à l’aide de l’assembleur fourni (fichier assembly.py
).
La documentation de la machine virtuelle est disponible sur cette page.
Fichiers
- docker-compose.yml
-
assembly.py
18.64 KiB – dc0970c915e15e4356a54ee592ec0c10aa39db0f31e33ddc50a38d5f80897dea -
challenge.py
1.12 KiB – f9a8144c45c430c7dac2424757d3de2012cc3d3f5c0f017d8677d06f735151f2 -
machine.py
11.31 KiB – 216f14947d8daedfc71175035487674a0687d5b66ecedb61120330df1ebceff0
Auteur
Instructions
- Pour commencer, téléchargez le fichier docker-compose.yml :
curl https://hackropole.fr/challenges/fcsc2023-hardware-asm-comparaison/docker-compose.public.yml -o docker-compose.yml
- Lancez l'épreuve en exécutant dans le même dossier :
docker compose up
- Dans un second terminal, accédez à l'épreuve via Netcat avec :
nc localhost 4000
Si vous rencontrez des problèmes, veuillez consulter la FAQ.
Flag
Soumettez votre solution
Vous pouvez envoyer votre solution rédigée pour cette épreuve. La FAQ contient la marche à suivre.
Vous avez besoin d'être identifié(e) pour soumettre une solution.