Le produit open source par excellence sur Linux (et sur tout le reste) est Radare qui fournit radiff2
explicitement dans ce but.
pour chaque octet différent
C'est insensé cependant. Parce que tel que demandé, si vous insérez un octet au premier octet dans le fichier, vous constaterez que chaque octet suivant est différent, donc la différence répétera tout le fichier, pour une différence réelle d'un octet.
Un peu plus pratique: radiff -O
. Le -O
signifie "Faire une différence de code avec tous les octets au lieu des octets d'opcode fixes"
0x000000a4 0c01 => 3802 0x000000a4
0x000000a8 1401 => 3802 0x000000a8
0x000000ac 06 => 05 0x000000ac
0x000000b4 02 => 01 0x000000b4
0x000000b8 4c05 => 0020 0x000000b8
0x000000bc 4c95 => 00a0 0x000000bc
0x000000c0 4c95 => 00a0 0x000000c0
Comme IDA Pro, Radare est un outil principalement pour l'analyse binaire, et vous pouvez également afficher la différence delta avec -d
, ou afficher les octets désassemblés au lieu de l'hexadécimal avec -D
.
Voir aussi:
0 votes
Xdelta.org fonctionne assez bien. Il serait peut-être utile d'y jeter un œil.
0 votes
Parce que vous ne pouvez pas répondre à cette question (car vous n'êtes pas un utilisateur), je vote pour la fermeture. Une différence binaire explicitement demandée ici n'est pas du tout utile, et je suis enclin à penser que vous voulez quelque chose d'utile, si vous insérez un octet au début du fichier, tous les octets doivent-ils être marqués comme étant différents? Sans savoir cela, cela est simplement trop vague.
0 votes
Ne pas mentionner que cela va explicitement à l'encontre des règles sur plusieurs domaines, il s'agit de "programmation et développement de logiciels" et vous demandez un produit ou une recommandation plutôt que comment utiliser un produit spécifique.
0 votes
Également mis à jour avec la méthode sur radare, mais je pense toujours que cette question est à la fois hors sujet et trop vague.
4 votes
@EvanCarroll Si vous pensez que la question est hors sujet, pourquoi y répondez-vous?
0 votes
@DavidPostill Je ne pense pas que ce soit hors sujet. Je pense que c'est une excellente question. Je pense que c'est mal formulé et que les administrateurs ici causeraient des problèmes induits si j'essayais autrement de le sauver. Consultez ma réponse pour plus d'informations. Question de différence binaire ? OUI! Différence octet par octet ? Eh bien, cela n'a aucun sens dans tous les cas d'utilisation que je peux imaginer.
0 votes
FreeBSD's
cmp
dispose d'un drapeau-x
("heXadecimal") qui produit une sortie formatée exactement comme spécifié dans la question, en conjonction avec-l
:cmp -xl file1.bin file2.bin
. source1 votes
Je fais toujours une différence octet par octet lorsque je rétro-ingénieure des choses. Voir une différence similaire à une sortie de différence de texte est très utile.