Pregunta

Tengo un conjunto de archivos de configuración binarios con tres versiones de cada uno - un original y dos versiones modificadas de manera diferente, de cada archivo. Tengo que ser capaz de ver las diferencias entre las dos versiones, así como el original, todo al mismo tiempo.

Lo que necesito es una herramienta de diferencias de tres vías para archivos binarios. A través de una búsqueda en Google en lugar de agotar, al final me encontré con un pantalla de una aplicación que hace exactamente lo que necesito - por desgracia, el mensaje del foro que contiene la imagen no menciona qué aplicación es que están usando :

http://www.xboxhacker.org/index.php?topic=15032.0

Puede alguien me punto en la dirección de una aplicación (Windows) que proporciona una (hex) comparación binaria de seguridad de tres archivos binarios ??

¿Fue útil?

Solución

La captura de pantalla es de Araxis Merge . Su Pro Edition ($ 270) es compatible con 3 vías compara.

Otros consejos

Vim tiene una herramienta integrada de diferencial que puede comparar un número arbitrario de archivos. También se ejecuta en Windows. Lo puede encontrar en http://vim.org .

La instalación estándar de vim para Windows incluye xxd, lo que le permite ver los archivos binarios como texto:

Así por ejemplo, si se intenta:

xxd xxd.exe

obtendrá:

0000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000  MZ..............
0000010: b800 0000 0000 0000 4000 0000 0000 0000  ........@.......
0000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000030: 0000 0000 0000 0000 0000 0000 d800 0000  ................
0000040: 0e1f ba0e 00b4 09cd 21b8 014c cd21 5468  ........!..L.!Th
0000050: 6973 2070 726f 6772 616d 2063 616e 6e6f  is program canno
0000060: 7420 6265 2072 756e 2069 6e20 444f 5320  t be run in DOS 
0000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000  mode....$.......
0000080: 6ba7 bec3 2fc6 d090 2fc6 d090 2fc6 d090  k.../.../.../...

etc ...

Así que usted puede utilizar xxd hacer un volcado de archivos binarios en archivos de texto:

xxd orig > orig.txt
xxd mod1 > mod1.txt 
xxd mod2 > mod2.txt

Y a continuación, ejecutar vim en modo de diferencias:

vim -d orig mod1 mod2

Y esto le dará algo como esto:

ejemplo de 3 vías vimdiff

(Esta captura de pantalla fue tomada de aquí y no es más que un ejemplo de lo que un diff de 3 vías se verá como en VIM)

Todas estas herramientas están disponibles en Windows, por lo que debe resolver su problema.

Editar

Después de combinar los resultados de xxd, puede convertir el volcado hexadecimal en un archivo binario utilizando xxd -r:

xxd -r merged_xxd_file merged_binary_file

Puede ver más detalles y opciones de xxd es página de manual

Se puede echar un vistazo a ECMerge (una herramienta de trabajo I sobre), que tiene un 2 y 3- diff forma de archivos binarios (HEX + ASCII). No hay ninguna función de combinación. Puede pasar de una zona a cambio de un cambio fácil y zonas largos compactos (inserciones largas, cambios o sin cambios).

La última versión de que no tiene comparación parece apoyar 3 vías dif y combinar . Además, su lista de características dice que apoya la comparación de archivos binarios.

Tenga en cuenta que esto no es software libre: -)

I fue introducido recientemente para p4merge , que parece apoyar también los archivos binarios.

Se tarda 3 archivos como entrada: El original y dos derivados. Muestra de ellos de lado a lado, con una cuarta ventana que muestra el archivo se fusionaron, con la edición de capacidades y la resolución de conflictos.

Yo sólo lo utilizó para fusionar dos ramas de una gran base de código, y era muy conveniente.

ejemplo p4merge

Ahora, no he utilizado para unir los archivos binarios, pero admite diffing imágenes, así que me sorprendería si los binarios no eran compatibles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top