Utilità "Stringhe" tra cui linefeed (LF) e carrier return (CR)


0

Voglio filtrare un file di grandi dimensioni (un'immagine di partizione non elaborata) per le stringhe (un file di testo eliminato per errore). La normale utilità "stringhe" (stringhe GNU Linux o stringhe sysinternals di Windows) non conta CR e LF come parti di una stringa ma come separatore di stringhe. Ho bisogno che NON vengano trattati come separatori. C'è qualche strumento in grado di farlo? Uno strumento di Windows sarebbe fantastico, ma se ne ho bisogno posso usare un live-Linux.

grazie

PS: i toool non ripristinati non riescono a trovare questo file

EDIT: Poiché molti di voi non mi hanno capito, lasciami provare a spiegare di nuovo:

La stringa "test \ ntext" con \ n come newline (windows o unix) è trattata dall'utilità stringhe come "test" e "text". Se cerco stringhe con un numero basso di caratteri, ci sono molti "falsi positivi" - solo piccole stringhe di un binario o qualcos'altro. Dato che voglio cercare file di testo (o frammenti) il numero di caratteri è grande, il che è buono in quanto molti falsi positivi possono essere rimossi dall'elenco. MA: i file di testo contengono nuove righe e l'utilità stringhe standard (GNU o sysinternals) non "vede" quelli come una singola stringa.

credo

-w --include-all-whitespace Per impostazione predefinita, i caratteri di tabulazione e spazio sono inclusi nelle stringhe visualizzate, ma altri caratteri di spazi bianchi, come newline e ritorni a capo, non lo sono. L'opzione -w cambia questo in modo che tutti i caratteri degli spazi siano considerati parte di una stringa.

è la soluzione, ma non l'ho ancora testata.


scrivi "linux oder windows sysinternals" <- cosa diavolo significa?
barlop

L'ho corretto su stringhe di Linux o su stringhe di sistema sysinternals, perché immagino fosse quello che volevi dire. Anche se ciò che hai scritto su CR e LF .. Ne sei sicuro? Non conosco le stringhe, Linux usa LF come terminatore di linea (no CR) e non usa separatori. Windows utilizza CRLF come separatore di riga (senza terminatori). Ma ho un'idea generale. vuoi una stringa che coutn CR e LF come parti di una stringa.
barlop

Sto pensando che non funzionerà in questo modo. è discutibile se un file di testo sia una stringa senza fine o una serie di stringhe più piccole separate da un delimitatore. In entrambi i casi, l'output di strings.exe per un file di testo in cui il file è stato trattato come un singolo BLOB sarebbe indistinguibile dall'output se fosse considerato una serie di stringhe. poiché i byte sono codificati per l'output, il carattere delimitatore diventa un'interruzione di riga nell'output. Ora, se stai chiedendo stringhe letterali \ r o \ n, questo è un problema diverso.
Frank Thomas,

Risposte:


0

Devi assicurarti di utilizzare le ultime stringhe GNU. Prendi qui: " https://www.gnu.org/software/binutils/ . Compila e usa l'opzione -w delle stringhe ...


È piuttosto difficile cercare su Google qualcosa con un nome molto generico come "stringhe" e le pagine man che ho visto non includevano l'opzione -w. Quanto tempo è disponibile questa opzione nelle stringhe GNU ?! Penso che questa sia la soluzione. Grazie.
MartinPosider234,

ha taggato questa finestra. È un programma Windows se è così, dove viene scaricato? Ho notato che binutils non è un pacchetto
gnuwin32
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.