Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/11/2014, à 10:15

obibann

[Résolu] Injecter du binaire à l'aide de dd

Bonjour,

Pour un petit projet perso, j'aurai besoin de pouvoir écrire du binaire dans la mbr d'un disque de test.

L'extraction / injection de la MBR est relativement simple avec dd. Cependant, je n'arrive pas à modifier le contenu du dump de manière automatisée (sans passer par un éditeur). Auriez vous une méthode qui permet d'écrire en binaire dans un fichier ?

Merci beaucoup.

Dernière modification par obibann (Le 17/11/2014, à 14:32)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#2 Le 17/11/2014, à 10:46

Nasman

Re : [Résolu] Injecter du binaire à l'aide de dd

Un assembleur ? (gas, nasm...)


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#3 Le 17/11/2014, à 11:28

obibann

Re : [Résolu] Injecter du binaire à l'aide de dd

Il n'existe pas un genre de "pack" en shell ?


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#4 Le 17/11/2014, à 11:41

pingouinux

Re : [Résolu] Injecter du binaire à l'aide de dd

obibann a écrit :

Auriez vous une méthode qui permet d'écrire en binaire dans un fichier ?

Bonjour,
Tu peux utiliser python, C ou même le bash. As-tu un exemple précis de ce que tu veux  faire ?

Hors ligne

#5 Le 17/11/2014, à 12:04

obibann

Re : [Résolu] Injecter du binaire à l'aide de dd

Un exemple : modifier les octet 511 et 512 (0xAA55) vers autre chose (0xAA44) par exemple.

Si ça peut être réaliser en bash, ça serait top !

Merci.

Dernière modification par obibann (Le 17/11/2014, à 12:04)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#6 Le 17/11/2014, à 12:48

pingouinux

Re : [Résolu] Injecter du binaire à l'aide de dd

Tu peux essayer ceci (514 = 511 + 2 + 1 = adresse_du_1er_octet + nb_octets + 1) :

head -c 511 fic_1 >fic_2
printf "\xaa\x44" >>fic_2
tail -c +514 fic_1 >>fic_2

Ajouté : Un peu plus simple

deb=511; lon=2
(head -c $deb;printf "\xAA\x44";tail -c +$((lon+1)) ) <fic_1 >fic_2

Dernière modification par pingouinux (Le 17/11/2014, à 13:23)

Hors ligne

#7 Le 17/11/2014, à 13:12

credenhill

Re : [Résolu] Injecter du binaire à l'aide de dd

essayer

(dd if=dump bs=1 count=510 ;echo -en $'\xAA\x44'; dd if=dump bs=1 skip=513)>newdump

Dernière modification par credenhill (Le 17/11/2014, à 13:15)

Hors ligne

#8 Le 17/11/2014, à 13:22

obibann

Re : [Résolu] Injecter du binaire à l'aide de dd

Merci pingouinux et credenhill !

Vos 2 solutions sont parfaites !!

Merci !!


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#9 Le 17/11/2014, à 13:35

pingouinux

Re : [Résolu] Injecter du binaire à l'aide de dd

Attention : La solution de credenhill et la mienne ne sont pas équivalentes.
En #6, on commence à écrire à l'octet d'adresse 511 (le 512ème du fichier), alors qu'en #7, on écrit à l'octet d'adresse 510 (le 511ème du fichier). C'est à toi de voir ce qui te convient.

Hors ligne

#10 Le 17/11/2014, à 14:30

obibann

Re : [Résolu] Injecter du binaire à l'aide de dd

Les 2 me plaisent. Je vais me décider dans l'après midi.

2 solutions possibles, que demander de mieux ?

Merci beaucoup wink


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#11 Le 18/11/2014, à 13:40

credenhill

Re : [Résolu] Injecter du binaire à l'aide de dd

autre méthode

hexdump -ve '1/1 "%.2X\n"' dump | sed '511s/.*/AA/;512s/.*/44/' | xxd -r -p >newdump 

Hors ligne