Pregunta

No he encontrado una respuesta a esta pregunta en particular; tal vez no hay uno Pero me lo he estado preguntando durante un tiempo.

¿Qué hace que un archivo binario se muestre exactamente como " gibberish " Cuando lo miras en un editor de texto? Es lo mismo con los archivos encriptados. ¿Los valores binarios del archivo intentan convertirse en ASCII? ¿Es posible convertir la vista para mostrar valores binarios sin formato, es decir, para mostrar los 1 y 0 que forman el archivo?

Finalmente, ¿hay una manera de determinar qué programa abrirá correctamente un archivo de datos? Muchas veces, especialmente con Windows, un archivo queda huérfano o no está asociado con un programa en particular. Abrirlo en un editor de texto a veces te dice a dónde pertenece, pero la mayoría de las veces no lo hace, debido a las malas palabras. Si la extensión no proporciona ninguna información, ¿cómo puede determinar a qué programa pertenece?

¿Fue útil?

Solución

  • ¿Los valores binarios del archivo intentan convertirse en ASCII?

Sí, eso es exactamente lo que está pasando. Por lo general, los valores binarios del archivo también incluyen caracteres de control ASCII que no son imprimibles, lo que da como resultado una visualización aún más extraña en un editor de texto típico.

  • ¿Es posible convertir la vista para mostrar valores binarios sin formato, es decir, para mostrar los números 1 y 0 que conforman el archivo?

Depende de tu editor. Lo que desea es un " editor hexadecimal " ;, en lugar de un editor de texto normal. Esto le mostrará el contenido sin procesar del archivo (generalmente en formato hexadecimal en lugar de binario, ya que los ceros y unos ocuparían mucho espacio y serían más difíciles de leer).

  • Finalmente, hay una manera de determinar qué programa se abrirá correctamente un archivo de datos?

Hay un programa de línea de comandos de Linux llamado " archivo " que lo hará intente analizar el archivo (por lo general, busque patrones de encabezado comunes) e indíquele qué tipo de archivo es (por ejemplo, texto, audio, video, XML, etc.). No estoy seguro si hay un programa equivalente para Windows. Por supuesto, la salida de este programa es solo una conjetura, pero puede ser muy útil cuando no sabes cuál es el formato de un archivo.

Otros consejos

Un archivo binario aparece como un galimatías porque los datos que contiene están diseñados para que la máquina los lea y no para los humanos. Lamentablemente, algunos de nosotros nos acostumbramos a interpretar la jerga, aunque con herramientas un tanto especializadas para ayudar a ver mejor los datos, pero la mayoría de las personas no deberían saberlo.

Cada byte en el archivo se trata como un carácter en el conjunto de códigos actual (probablemente CP1252 en Windows). El valor de byte 65 es 'A', por ejemplo; Puedes encontrar ejemplos ilustrativos fácilmente en la web. Por lo tanto, los bytes que componen los datos binarios se muestran de acuerdo con el conjunto de códigos, lo mejor que puede hacer el editor de texto. No intenta convertir el binario, no sabe cómo (solo lo hace el programa original).

En cuanto a cómo detectar qué programa creó el archivo, puede hacerlo a veces, pero no de manera fácil y confiable. En Unix (o con Cygwin en Windows), el programa 'archivo' puede ayudar. Este programa analiza los primeros bytes para probar y adivinar el programa.

Se supone que los datos encriptados parecen gibberish. Si no parece una tontería, entonces probablemente no esté muy bien encriptado.

Los archivos de motivos que son binarios se visualizan como errores cuando se ven en editores de texto estándar, como el bloc de notas, porque cuando se muestran con las codificaciones utilizadas comúnmente por estos tipos de aplicaciones (p. ej., ASCII de UTF-8), los datos se asignan a los caracteres cuando está codificado para su visualización, la salida de este proceso generalmente tiene tan poco sentido para los seres humanos como los datos binarios que se asignan, por lo tanto, el galimatías que ves

Como se mencionó anteriormente, estos archivos tienen más sentido cuando se ven de una manera diferente, por ejemplo, con un editor de hex.

Ciertos tipos de archivos pueden ser reconocidos por los datos presentes en todos los archivos de un tipo dado, por ejemplo, todos los archivos ejecutables (* .exe) comienzan con las letras MZ

La pantalla parece interesante, porque un archivo binario puede contener caracteres no imprimibles. Depende del programa de visualización reemplazar dichos caracteres con otra cosa.

Esto se puede evitar usando un editor hexadecimal. Dicho programa muestra cada byte del archivo como su valor hexadecimal. Eso lo convierte en una buena vista tabular del archivo, pero no es fácil para la persona promedio descifrar esta vista, porque no estamos acostumbrados a mirar los datos de esa manera.

Hay algunas maneras de averiguar a qué programa podría pertenecer un archivo. Puede mirar el principio del archivo y, con cierto conocimiento, puede reconocer el tipo de archivo. Hay algunos tipos que comienzan con los mismos caracteres (RAR, GIF, etc.). Para otros tipos podría no ser tan fácil.

En Linux puede usar el archivo " " comando para ayudarle a determinar el tipo de archivo. Probablemente hay programas para Windows que harán lo mismo.

Los datos binarios son a menudo muy aleatorios. Datos cifrados en particular, por definición. Cada byte se puede representar con uno de 256 caracteres (dejando a Unicode fuera de la ecuación). ASCII solo cubre 128 de estos, y solo 94 son caracteres imprimibles reales. Fuera del rango ASCII, tiene una serie de caracteres internacionales y símbolos extraños. Ciertamente, hay más de 128 de estos, por lo que uno debe especificar una página de códigos para seleccionar un conjunto específico de símbolos.

De todos modos, dado que los archivos binarios se pueden representar como una variedad muy aleatoria de caracteres familiares y desconocidos, el archivo se verá como un alboroto si lo abres en un editor.

Siempre se puede abrir un archivo (archivo binario o de texto, realmente no hay diferencia) en un editor hexadecimal, y mirar los datos binarios sin procesar.

No hay forma de saber qué programa creó un archivo específico. En particular, si el programa ha cifrado sus datos, toda esperanza se pierde. De lo contrario, a menudo es fácil reconocer ciertas " firmas. & Quot;

Sí, Wordpad y Notepad y muchos otros editores de texto asumen que cualquier archivo que abra con él es un archivo de texto e intentará mostrar los caracteres ASCII representados por los bytes en el archivo.

Hex Editors están diseñados para ver y editar archivos binarios. Por lo general, muestran cada byte como un par de dígitos hexadecimales en lugar de " 1s y 0s " porque es más fácil de leer de esa manera.

Un editor de texto hace muy pocas suposiciones sobre los datos que ingresan, además de cosas como las codificaciones de caracteres. Por lo tanto, (como usted dice) leerá los datos del archivo como ASCII y los mostrará de esa manera. Dado que los datos binarios no siempre se encuentran dentro del rango alfanumérico, se obtiene un alboroto. En cuanto a mostrar los valores binarios sin formato, necesita un editor hexadecimal como XVI32 .

Los archivos binarios a menudo no tienen contexto fuera del programa que los usa. Algunos formatos binarios contienen una secuencia mágica de 4 bytes al principio (por ejemplo, los archivos .class de Java comienzan con "CAFE"), pero para reconocerlos sin su programa, necesita un mapeo de esas secuencias de 4 bytes. Creo que algunas distribuciones de Linux contienen esta información para una amplia variedad de formatos binarios y examinaremos el comienzo del archivo para intentar identificarlo. Aparte de eso, no hay mucho que puedas hacer.

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