Ajout de bits

Kalyptus -  
blux Messages postés 27913 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
comment est-il possible de mo^difier le code hexadécimal d'un programme, en AJOUTANT des bits, sans que tout foire ?
Merci d'avance
A voir également:

7 réponses

blux Messages postés 27913 Date d'inscription   Statut Modérateur Dernière intervention   3 364
 
Salut,

oui, on peut TOUT faire...

sans que tout foire, c'est une autre histoire ! Il faut savoir où on les met, pourquoi on veut les mettre (est-ce que le programme va les lire ?), et plein d'autres choses encore (je ne rentre pas dans le détail).

Tu veux faire quoi au juste ? tricher à un jeu ?
0
Kalyptus
 
Ben en fait j'avais pas de but précis, simplement dans Skype a un endroit c'est écrit "Le monde entier peut se parler gratuitement", alors j'ai modifié cette phrase, quand je conserve le meme nombre de caractères tout va bien, mais si je veux en ajouter, alors Skype ne se lance meme plus ! La première fois j'ai carrément du redémarrer ! Pour 3 malheureux bits rajoutés...
0
blux Messages postés 27913 Date d'inscription   Statut Modérateur Dernière intervention   3 364
 
Pour 3 malheureux bits rajoutés...
Ca serait pas des octets, plutôt ? :-)

C'est simple, tu modifies le binaire du programme pour AJOUTER des informations.

En faisant ça, tu écrases la zone du programme après la phrase, donc il ne peut plus s'exécuter, il lui manque des instructions, c'est pour ça qu'il part en sucette !

Va mettre un pignon plus gros dans une boite de vitesses de voiture, c'est pas sûr que tu y gagnes, si tu arrives à la refermer !
0
Kalyptus
 
Non non, bien des bits ! En fait, dans la partie droite de l'éditeur héxadécimal, il me manquait trois bits pour finir mon mot, alors je les ai rajoutés via la fonction rajouter, je n'ai donc rien supprimer
! Et grace à ça j'ai eu la place d'écrire, par contre impossible de lancer le programme après...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
claude ray Messages postés 3093 Statut Contributeur 700
 
Bonsoir
Je suis de l'avis de Blux, ce n'est probablement pas des bits que tu as rajoués. Un bit s'écrit avec un 1 ou un 0. Ne confondrais-tu pas bit et caractère hexadecimal ?
Donne-nous un exemple.
0
Kalyptus
 
ah ouais, juste, mais alors, je peux pas rajouter des caractères hexadecimaux ?
0
blux Messages postés 27913 Date d'inscription   Statut Modérateur Dernière intervention   3 364
 
Un caractère, quel qu'il soit, est généralement représenté par une suite de bits (8 le plus souvent). Qu'il soit affiché en hexadécimal, en octal, en décimal ou en binaire, sa valeur ne change pas...

Tu veux rajouter 3 caractères, c'est bien 24 bits et non 3 bits...

Ton éditeur te propose la visualisation en hexa, mais tu aurais pu l'avoir en base 10, voire en octal... Ca ne change rien, tu as quand même empiété sur des zones mémoire dont se sert le programme, provoquant un 'sérieux' plantage...
0
claude ray Messages postés 3093 Statut Contributeur 700
 
Tout dépend la façon dont le programme a été écrit. Les zones ont une longueur et si tu ajoutes des caractères tu empiètes sur d'autres zones et là bonjour les dégats.
Quand on modifie un programme, on doit savoir où on met les pieds.

Claude
0