QNA > C > Come Convertire Un File Binario In Un Formato Di Testo Leggibile

Come convertire un file binario in un formato di testo leggibile

Questo dipende da quali dati contiene il file. I file binari possono essere combinazioni di istruzioni macchina e dati binari, la maggior parte dei quali sono semplicemente codice non stampabile, e stringhe di testo, in ascii o unicode, e compressi o non compressi. Alcuni formati di file compressi possono essere semplicemente decompressi, se il file originale era in formato testo.

L'insieme di utilità GNU coreutils ha due programmi di uso generale che presentano dati binari in forma leggibile: od, (Octal Dump) e strings. 'od' legge byte o parole binarie più lunghe e le rende come caratteri stampabili o valori ottali, decimali o esidecimali, secondo le opzioni del programma selezionate. 'strings' legge il file byte per byte e stampa sequenze di byte che sono nell'intervallo numerico ascii stampabile, la maggior parte dei quali sono semplicemente caratteri casuali.

Ci sono anche utility specifiche per diversi formati binari, come pdftotxt, un programma della collezione di utility Poppler che estrae testo semplice da file PDF, e collezioni di utility che operano su file in formato TeX DVI. Esistono disassemblatori speciali per tentare di estrarre il codice macchina leggibile dall'uomo da un file eseguibile, usati per il reverse engineering, ma non sono utili per altri scopi.

E, alcuni formati di file, come Microsoft OpenXML, sono archivi compressi che contengono più file, comprese immagini e testo marcato in XML. I file immagine, naturalmente, non hanno alcun significato testuale, e sono essi stessi strutture di dati compressi che rappresentano una griglia di punti colorati o una struttura di dati che può essere resa come una griglia di punti colorati.

Per esempio, ecco le prime 10 righe di output da od e strings, leggendo il binario del browser Google Chrome confezionato per l'installazione su un sistema Linux basato su Debian, di cui l'unica parte leggibile è l'intestazione del file, che indica che il pacchetto consiste di file compressi incorporati, e contiene dati utilizzati dal gestore del pacchetto per trovarli ed estrarli dal pacchetto, cioè, a binary file that contains other binary files:

  1. $ od -c google*deb | head -10 
  2. 0000000 ! < a r c h > \n d e b i a n - b 
  3. 0000020 i n a r y 1 5 6 5 0 4 9 7 
  4. 0000040 0 3 0 0  
  5. 0000060 1 0 0 6 4 4 4  
  6. 0000100 ` \n 2 . 0 \n c o n t r o l . 
  7. 0000120 t a r . g z 1 5 6 5 0 4 9 7 
  8. 0000140 0 3 0 0  
  9. 0000160 1 0 0 6 4 4 1 0 3 9 4  
  10. 0000200 ` \n 037 213 \b \0 \0 \0 \0 \0 002 003 355 } 
  11. 0000220 373 233 242 H 266 ` 377 272 374 025 L V } 323 ] c 
  12.  
  13. $ strings google*deb | head -10 
  14. debian-binary 1565049703 0 0 100644 4 ` 
  15. control.tar.gz 1565049703 0 0 100644 10394 ` 
  16. " Ou 
  17. 'N>" 
  18. N\?N 
  19. 1rm' 
  20. XW}X3 
  21. +H} 
  22. v}Pl 

Di Marietta Heneisen

How to stop a running handler in Android :: Come modificare un PDF senza Acrobat
Link utili