Ricerca di file, cartelle, stream, extent, ecc.
È possibile avviare una ricerca per qualsiasi file, cartella, stream, extent o... utilizzando un'ampia gamma di opzioni, tramite due metodi diversi.
Tramite la finestra di dialogo di ricerca, che si attiva con il clic destro del mouse su un oggetto file o cartella, o tramite la barra degli strumenti di ricerca nell'angolo in alto a destra del programma.
L'opzione tramite la finestra di dialogo di ricerca si spiega da sé e offre un sottoinsieme di tutto ciò che è possibile.
L'opzione tramite la barra degli strumenti di ricerca nell'angolo in alto a destra accetta una gamma più ampia di comandi e opzioni.
Il metodo più semplice è una semplice ricerca per nome di file o cartella, con o senza caratteri jolly.
Ad esempio, *user* troverà tutti i file e le cartelle con "user" nel nome (o nell'estensione). Per impostazione predefinita, la ricerca non fa distinzione tra maiuscole e minuscole.
Ad esempio "Users", "System User" ecc.
Questa ricerca (*user*) è essenzialmente la stessa di: file:*user*|folder:*user*
A partire da IsoBuster 5.7, tutti i termini di ricerca possono essere combinati tramite OR (|) o AND (&), compreso l'uso di parentesi quadre/tonde quando appropriato.
È supportato anche un punto esclamativo (!), che significa il contrario di ciò che viene richiesto.
Una conseguenza di questo cambiamento è che se la stringa/il nome del termine di ricerca contiene uno di questi caratteri, è necessario proteggerli con una barra rovesciata.
Ad esempio, se si desiderano tutti i file che iniziano con una (, è necessario proteggere il carattere ( con una barra rovesciata.
Ad esempio: file:\(*
Esempi di pseudocodice:
Term1&Term2 // entrambi i termini devono essere veri affinché l'oggetto sia elencato
Term1|Term2 // se uno dei due termini è vero, l'oggetto viene elencato
(Term1&Term2)|Term3 // entrambi i termini 1 e 2 devono essere veri a meno che il terzo termine non sia vero
!(Term1&Term2) // se l'oggetto non corrisponde al termine 1 e non corrisponde al termine 2, viene elencato
Esempi concreti:
file:*.exe&unreadable: // Tutti gli eseguibili che sono noti per essere illeggibili (Questa particolare ricerca può anche essere scritta semplicemente come unreadable:*.exe)
file:*.png&address:>100,000 // Tutti i file *.png che iniziano a un indirizzo > 100.000
file:*.png&address:>100,000&containslba:<=200.000 // Tutti i file *.png che si trovano in un intervallo di blocchi compreso tra 100.000 e 200.000
Un termine può in realtà contenere più comandi/regole che sono compatibili, ma solo un payload (testo o numero) che viene per ultimo per ogni termine. Tutti questi comandi/regole sono sempre AND.
Ad esempio file:unreadable:compressed:*.png // troverà tutti i file *.png che sono (parzialmente) illeggibili e si trovano a essere compressi
In caso di dubbio, è sufficiente dividerlo in più termini, in questo caso: file:*.png&unreadable:&compressed:
Le regole (ad es. File:) sono sempre insensibili alle maiuscole/minuscole.
Il payload (testo) è sempre insensibile alle maiuscole/minuscole (a meno che non sia attivato (case:)) e supporta i caratteri jolly (a meno che non sia disattivato (-wc:)).
Regole che combinano le proprietà dell'oggetto e il nome dell'oggetto
File:
Folder:
FileOrFolder: (>= IsoBuster 5.7)
Stream:
Extent:
RF:
ResourceFork:
Readable:
Unreadable:
Hidden:
Compressed:
Encrypted:
Fragmented:
Embedded:
System:
Deleted:
ReadOnly:
Recovered:
Shortcut:
Sparse:
HasStreams:
HasRF: (HasResourceFork:)
Esempi:
*.jpg troverà tutti i file .jpg (e le cartelle)
*.jpg|*.bmp troverà tutti i file .jpg e .bmp (e le cartelle)
file:*.jpg|file:*.bmp troverà tutti i file .jpg e .bmp (non le cartelle)
Compressed:*.log troverà tutti i file .log compressi (o le cartelle .log se esistono)
Fragmented:* troverà tutti i file e le cartelle che sono frammentati (che consistono in più estensioni)
file:z*|stream:z* troverà tutti i file e i flussi di file/cartella che iniziano con una 'z'
folder:desktop troverà la cartella 'desktop'
Una proprietà senza testo, ad esempio ReadOnly:, restituirà tutti i candidati. È essenzialmente la stessa cosa di ReadOnly:*.
Regole che cercano valori numerici:
LBA: // Indirizzo di inizio
Address: // (Come LBA:) Indirizzo di inizio
LastLBA: // Ultimo indirizzo di blocco dell'oggetto
ContainsLBA: // Contiene il blocco con l'indirizzo
UID: // ID unico (specifico del file system. Record MFT per NTFS, Inode per MFS, HFS, FE per UDF ecc.)
Bytes: // La quantità di byte nell'oggetto
Blocks: // La quantità di blocchi nell'oggetto
StreamCnt: // La quantità di stream allegati a un oggetto (>= IsoBuster 4.4)
ExtentCnt: // La quantità di estensioni che compongono l'oggetto (il minimo è 1) (>= IsoBuster 4.4)
MemberCnt: // La quantità di file e cartelle in una Cartella, o la quantità di Tracce in una Sessione, o Sessioni su un CD, o Partizioni su un Disco (>= IsoBuster 4.4)
UnreadableCnt: // La quantità di blocchi illeggibili in un oggetto (>= IsoBuster 4.4)
Range:x:y // Trova tutti gli oggetti (file, cartelle, ..) che si trovano (interamente o parzialmente) in un intervallo che inizia dall'indirizzo di blocco x su un intervallo di y blocchi (>= IsoBuster 4.8)
FromTo:x:y // Trova tutti gli oggetti (file, cartelle, ..) che si trovano (interamente o parzialmente) in un intervallo che inizia dall'indirizzo di blocco x e termina con l'indirizzo di blocco y (>= IsoBuster 4.8)
Esempi:
lba:1000&bytes:10
Queste stesse regole possono essere utilizzate anche in combinazione con >, <, >=, <= e = (quest'ultimo = è implicito se assente).
Esempi:
lba:>=1000&lba<2000 troverà tutti gli oggetti con un indirizzo di inizio compreso tra 1000 e 2000
lba:>=1000&lba<2000&file:*a* troverà tutti i file con un indirizzo compreso tra 1000 e 2000, che contengono una 'a' nel nome del file
lba:>=1000&lba<2000&(file:|stream:) troverà tutti i file e i flussi con un indirizzo compreso tra 1000 e 2000
lba:>=1000&lba<2000&(file:|stream:|extent:) troverà tutti i file, i flussi e le estensioni con un indirizzo compreso tra 1000 e 2000
uid:14234 (su NTFS) troverà il file o la cartella utilizzando il record MFT 14234
bytes:<100&stream: troverà tutti gli stream più piccoli di 100 byte.
Altre regole:
Limit: // Limita la ricerca a (numero fornito) oggetti (Se non vengono fornite altre regole, per impostazione predefinita cercherà oggetti regolari (file, cartelle, ...)) // Si applica a tutti i termini di ricerca se ne viene fornito più di uno
deep: // Si addentra nei file e nelle cartelle // Novità in IsoBuster 5.7 - ma era già implicito // Si applica a tutti i termini di ricerca se ne viene fornito più di uno
-deep: // Disattiva l'approfondimento nei file e nelle cartelle // Novità in IsoBuster 5.7 // Si applica a tutti i termini di ricerca se ne viene fornito più di uno
wc: // Supporto per i caratteri jolly nei nomi // Novità in IsoBuster 5.7 - ma era già implicito // Si applica al termine di ricerca di cui fa parte
-wc: // Disattiva il supporto per i caratteri jolly // Novità in IsoBuster 5.7 // Si applica al termine di ricerca di cui fa parte
case: // Test dei nomi sensibile alle maiuscole/minuscole // Novità in IsoBuster 5.7 // Si applica al termine di ricerca di cui fa parte
regex: // Utilizza espressioni regolari durante il test dei nomi (i caratteri jolly vengono ignorati) // Novità in IsoBuster 5.7 // Si applica al termine di ricerca di cui fa parte
Esempi:
*|Limit:50 interrompe la ricerca dopo che sono stati trovati 50 oggetti
Limit:50 fa la stessa cosa del precedente
file:*.txt&Limit:50 interrompe la ricerca dopo che sono stati trovati 50 file di testo
UID:2000|Limit:1 interrompe la ricerca dopo che è stato trovato l'oggetto con l'ID unico 2000
file:-wc:question? cerca un file con il nome effettivo question? (PS: questo è impossibile su un sistema Windows, ma su Unix (EXT, XFS,..) ad esempio, questo carattere è consentito in un nome di file)