Domanda

Non ho trovato una risposta a questa particolare domanda; forse non ce n'è uno. Ma mi sto chiedendo da un po '.

Cosa causa esattamente la visualizzazione di un file binario come " gibberish " quando lo guardi in un editor di testo? È la stessa cosa con i file crittografati. I valori binari del file stanno provando a essere convertiti in ASCII? È possibile convertire la vista per visualizzare valori binari non elaborati, ovvero per mostrare gli 1 e gli 0 che compongono il file?

Infine, c'è un modo per determinare quale programma aprirà correttamente un file di dati? Molte volte, specialmente con Windows, un file è orfano o altrimenti non associato a un determinato programma. Aprirlo in un editor di testo a volte ti dice dove appartiene, ma la maggior parte delle volte no, a causa del gibberish. Se l'estensione non fornisce alcuna informazione, come puoi determinare a quale programma appartiene?

È stato utile?

Soluzione

  • I valori binari del file stanno cercando di essere convertiti in ASCII?

Sì, è esattamente quello che sta succedendo. In genere, i valori binari del file includono anche caratteri di controllo ASCII che non sono stampabili, risultando in una visualizzazione ancora più bizzarra in un tipico editor di testo.

  • È possibile convertire la vista per visualizzare valori binari non elaborati, ad es. per mostrare gli 1 e gli 0 che compongono il file?

Dipende dal tuo editor. Quello che vuoi è un "editor esadecimale", piuttosto che un normale editor di testo. Questo ti mostrerà i contenuti grezzi del file (in genere in formato esadecimale piuttosto che binario, poiché gli zeri e quelli occuperebbero molto spazio e sarebbero più difficili da leggere).

  • Infine, c'è un modo per determinare quale programma si aprirà correttamente un file di dati?

Esiste un programma da riga di comando Linux chiamato " file " che prova ad analizzare il file (in genere cercando schemi di intestazione comuni) e ti dice che tipo di file è (ad esempio testo, audio, video o XML, ecc.). Non sono sicuro che esista un programma equivalente per Windows. Ovviamente, l'output di questo programma è solo un'ipotesi, ma può essere molto utile quando non sai quale sia il formato di un file.

Altri suggerimenti

Un file binario appare incomprensibile perché i dati in esso contenuti sono progettati per essere letti dalla macchina e non per l'uomo. Purtroppo, alcuni di noi si abituano a interpretare senza senso - anche se con strumenti un po 'specializzati per aiutare a vedere meglio i dati - ma la maggior parte delle persone non dovrebbe aver bisogno di saperlo.

Ogni byte nel file viene trattato come un carattere nel set di codici corrente (probabilmente CP1252 su Windows). Il valore di byte 65 è 'A', ad esempio; puoi trovare facilmente esempi illustrativi sul web. Pertanto, i byte che compongono i dati binari vengono visualizzati in base all'insieme di codici, nel miglior modo possibile con l'editor di testo. Non cerca di convertire il binario - non sa come (solo il programma originale lo fa).

Come rilevare quale programma ha creato il file - potresti essere in grado di farlo a volte, ma non facilmente e in modo affidabile. Su Unix (o con Cygwin su Windows) il programma 'file' potrebbe essere di aiuto. Questo programma esamina i primi byte per provare a indovinare il programma.

I dati crittografati dovrebbero apparire incomprensibili. Se non sembra incomprensibile, probabilmente non è molto ben crittografato.

Il motivo per cui i file binari vengono visualizzati in modo incomprensibile quando visualizzati in editor di testo standard come il blocco note è perché quando vengono visualizzati con le codifiche comunemente utilizzate da questi tipi di applicazioni (ad es. ASCII di UTF-8) i dati vengono associati a caratteri quando è codificato per la visualizzazione, l'output di questo processo ha generalmente poco senso per gli umani quanto i dati binari che vengono mappati, ergo il gibberish che vedi

Come accennato in precedenza, questi file hanno più senso se visualizzati in modo diverso, ad esempio con un hex hexutor.

Alcuni tipi di file possono essere riconosciuti dai dati presenti in tutti i file di un determinato tipo, ad esempio tutti i file eseguibili (* .exe) iniziano con le lettere MZ

Il display sembra interessante, perché un file binario può contenere caratteri non stampabili. Spetta al programma di visualizzazione sostituire tali personaggi con qualcos'altro.

Questo può essere evitato usando un editor esadecimale. Tale programma visualizza ogni byte del file come valore esadecimale. Ciò rende piacevole una visualizzazione tabulare del file, ma non è facile per la persona media decifrare questa vista, perché non siamo abituati a guardare i dati in questo modo.

Esistono alcuni modi per scoprire a quale programma potrebbe appartenere un file. Puoi dare un'occhiata all'inizio del file e, con alcune conoscenze, potresti riconoscere il tipo di file. Esistono alcuni tipi che iniziano con gli stessi caratteri (RAR, GIF ecc.). Per altri tipi potrebbe non essere così semplice.

In Linux puoi usare il " file " comando per aiutarti a determinare il tipo di file. Probabilmente ci sono programmi per Windows che faranno lo stesso.

I dati binari sono spesso molto casuali. Dati crittografati in particolare, per definizione. Ogni byte può essere rappresentato da uno di 256 caratteri (lasciando Unicode fuori dall'equazione). ASCII copre solo 128 di questi e solo 94 di questi sono caratteri stampabili effettivi. Al di fuori dell'intervallo ASCII, hai un numero di caratteri internazionali e strani simboli. Ce ne sono sicuramente più di 128, quindi è necessario specificare una tabella codici per selezionare un set specifico di simboli.

Comunque, poiché i file binari possono essere rappresentati come un assortimento molto casuale di caratteri familiari e non familiari, il file sembrerà incomprensibile se lo si apre in un editor.

Puoi sempre aprire un file (binario o di testo, non c'è davvero alcuna differenza) in un editor esadecimale e guardare i dati binari grezzi.

Non c'è modo di dire quale programma ha creato un file specifico. In particolare, se il programma ha crittografato i suoi dati, ogni speranza è persa. Altrimenti, è spesso facile riconoscere certe "firme". & Quot;

Sì, Wordpad e Blocco note e molti altri editor di testo presuppongono che qualsiasi file aperto sia un file di testo e proverà a visualizzare i caratteri ASCII rappresentati dai byte nel file.

Editor esadecimali sono creati per visualizzare e modificare file binari. Di solito visualizzano ogni byte come una coppia di cifre esadecimali anziché "1 e 0". perché è più facile da leggere in questo modo.

Un editor di testo fa pochissime ipotesi sui dati che vi arrivano, oltre a cose come la codifica dei caratteri. Pertanto, (come dici tu) leggerà i dati del file come ASCII e li visualizzerà in questo modo. Poiché i dati binari non rientrano sempre nell'intervallo alfanumerico, si ottiene incomprensibile. Per quanto riguarda la visualizzazione dei valori binari non elaborati, è necessario un editor esadecimale come XVI32 .

I file binari spesso non hanno alcun contesto al di fuori del programma che li utilizza. Alcuni formati binari contengono all'inizio una sequenza magica di 4 byte (ad esempio, i file Java .class iniziano con "CAFE"), ma per riconoscerli senza il loro programma, è necessario mappare quelle sequenze di 4 byte. Credo che alcune distro Linux contengano queste informazioni per un'ampia varietà di formati binari e esamineranno l'inizio del file per tentare di identificarlo. A parte questo, non c'è molto che puoi fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top