#1 Le 13/08/2014, à 15:02
- bartazuk
Lire et ecrire un octet en mémoire
Bonjour à tous!
Est ce qu'il existe un moyen de lire et écrire un octet dans une adresse bien précise? Par exemple "commande 0A43AFE4 F0" écrit F0 sur l'adresse 0A43AFE4 et "autreCommande 0A43AFE4" permet de lire le contenu de 0A43AFE4.
J'ai réussi à me débrouiller pour la lecture en utilisant dd, mais j'ai du mal avec l'écriture.
Merci
Alexandre
Hors ligne
#2 Le 14/08/2014, à 08:55
- pingouinux
Re : Lire et ecrire un octet en mémoire
Bonjour,
Voici une méthode qui devrait convenir avec dd.
Pour lire un octet à l'adresse 0x0A43AFE4 d'un fichier
octet=$(dd bs=1 count=1 if=fichier skip=$((0x0A43AFE4)))
et pour y écrire
echo "$octet"|dd bs=1 count=1 conv=notrunc of=fichier seek=$((0x0A43AFE4))
ou avec ton exemple
echo $'\xF0'|dd bs=1 count=1 conv=notrunc of=fichier seek=$((0x0A43AFE4))
On peut remplacer fichier par le nom d'une partition (/dev/sda1 par exemple), mais c'est dangereux et il faut vraiment savoir ce qu'on fait pour y écrire (je n'ai pas testé).
Hors ligne