Creare report ed elenchi personalizzati con IsoBuster

È possibile creare elenchi personalizzati in due modi: tramite la riga di comando e tramite la GUI. Entrambi i metodi sono disponibili da diverso tempo, ma il numero dei comandi utilizzabili è cresciuto esponenzialmente con IsoBuster 4.1. A dire il vero, il metodo di creazione tramite GUI non è stato mai spiegato pubblicamente e comprendeva un numero di comandi di molto inferiore a quanto disponibile oggi.

Elenchi e report personalizzati tramite la riga di comando

Come detto, questa funzionalità è disponibile da diverso tempo e la Guida in linea dovrebbe essere sufficientemente esaustiva su questo argomento. Naturalmente, il numero di parametri disponibili è aumentato sensibilmente rispetto alle versioni precedenti di IsoBuster 4.1. Per iniziare, siete quindi invitati a consultare la relativa sezione della Guida in linea.

Elenchi e report personalizzati tramite la GUI

Questo metodo necessita di un approfondimento e si basa su una singola stringa per report memorizzata nel Registro di sistema di Windows. È possibile memorizzare fino a 10 report. IsoBuster, all'avvio, utilizzerà quelle stringhe per creare il menu popup, richiamabile con il pulsante destro del mouse, per l'esportazione degli elenchi. La sintassi delle stringhe è identica a quella utilizzata sulla riga di comando, quindi, per l'elenco dei parametri, vi invito nuovamente a consultare la relativa sezione della Guida in linea.

Esistono però diversi parametri che ha senso utilizzare unicamente via GUI. Di seguito l'elenco:

  • {'Title'}    se utilizzato, questo deve essere il primo tag specificato sulla riga, altrimenti viene ignorato. Tra i singoli apici è possibile inserire qualsiasi testo
  • {%DEFAULT}   utilizzare questo tag per rendere predefinito un report/elenco (il report/elenco viene evidenziato in grassetto e viene eseguito quando si effettua doppio clic sull'oggetto genitore)
  • {%CHECKED}   utilizzare questo tag per mostrare il segno di spunta a fianco del titolo
  • (%INVISIBLE} utilizzare questo tag per nascondere un report. Sebbene possa sembrare avere poco senso utilizzare questo tag per i report personalizzati, in realtà risulta utile qualora si desideri arricchire o sostituire i report esistenti predefiniti

Per includere i propri report nella GUI, create un semplice documento di testo e aggiungete le stringhe "CustomFileList1" fino a "CustomFileList10" con i parametri desiderati nella chiave di registro "[HKEY_CURRENT_USER\Software\Smart Projects\IsoBuster]" (l'immagine seguente illustra un esempio). Rinominate il documento di testo in qualcosa.reg, fate doppio clic sul file .reg e consentite all'Editor del registro di sistema di Windows di aggiungere le informazioni al Registro di sistema. Avviate IsoBuster e vedrete la nuova funzionalità.

Di seguito è riportato un esempio funzionante che potete copiare ed incollare in un documento di testo e che potete quindi utilizzare come base per i vostri progetti (in alternativa, potete scaricare da qui il file di registro di esempio):

REGEDIT4

[HKEY_CURRENT_USER\Software\Smart Projects\IsoBuster]

"CustomFileList1"="{'XML (IsoBuster 4.1 version)'}{%UTF8}{%XML}{%GMT}{%STREAMS}<%XMLHEADER><%BR><xml><%BR><Creator><%BR> <Application><%APP></Application><%BR> <Version><%VERSION></Version><%BR> <Operator><%USER></Operator><%BR> <OS><%OS></OS><%BR> <Start_Time_Date><%SYSTIMEDATE></Start_Time_Date><!--GMT--><%BR></Creator><%BR><%BR><Source><%BR> <Target_Name><%NAME></Target_Name><%BR> <Target_Type><%TYPE></Target_Type><%BR> <Target_Time_Date><%TIMEDATE></Target_Time_Date><!--GMT--><%BR> <Partition_LBA><%PARTITIONLBA></Partition_LBA><!--Session in case of optical--><%BR> <Partition_Blocks_Cnt><%PARTITIONBLOCKS></Partition_Blocks_Cnt><!--Session in case of optical--><%BR> <Media_Blocks_Cnt><%DEVICEBLOCKS></Media_Blocks_Cnt><!--Entire Device or inserted Media--><%BR> <Device><%DEVICE></Device><%BR> <Block_Size><%DEVICEBLOCKSIZE></Block_Size><!--Bytes--><%BR> <ImageFile><%DEVICEPATH></ImageFile><!--If working from imagefile--><%BR> <ImageFile_Size><%DEVICEFILESIZE></ImageFile_Size><!--Bytes--><!--If working from imagefile--><%BR></Source>{%HEADER}{%FILE}<%BR><Object Name='<%NAME>'><!--File--><%BR> <Path><%RELPATH></Path><%BR> <Size><%BYTES></Size><!--Bytes--><%BR> <Total_Size><%TOTBYTES></Total_Size><!--Bytes -Includes Streams (and/or Resource Fork) size (if present)--><%BR> <Time_Date><%TIMEDATE></Time_Date><!--GMT--><%BR> <UID><%UID></UID><%BR> <Type><%TYPE></Type><%BR> <Creator><%CREATOR></Creator><!--Relevant if MAC File System--><%BR> <Streams Streams='<%STREAMS>'><%STREAMLOOP> </Streams><%BR> <Extents Extents='<%EXTENTS>'><%EXTENTLOOP> </Extents><%BR></Object>{%STREAM}<%BR><Object Name='<%NAME>'><!--Stream and/or Resource Fork--><%BR> <Path><%RELPATH></Path><%BR> <Size><%BYTES></Size><!--Bytes--><%BR> <Time_Date><%TIMEDATE></Time_Date><!--GMT--><%BR> <UID><%UID></UID><%BR> <Type><%TYPE></Type><%BR> <Extents Extents='<%EXTENTS>'><%EXTENTLOOP> </Extents><%BR></Object>{%EXTENT} <Extent Name='<%NAME>' Index='<%INDEX>'><%BR> <LBA><%LBA></LBA><%BR> <Last_LBA><%LASTLBA></Last_LBA><%BR> <Size><%BYTES></Size><!--Bytes--><%BR> <Offset_In_Block><%OFFSET></Offset_In_Block><%BR> <Blocks_Cnt><%BLOCKS></Blocks_Cnt><%BR> <Bad_Blocks_Cnt><%BADBLOCKS></Bad_Blocks_Cnt><%BR> </Extent>{%STREAMLOOP} <Stream Name='<%NAME>' Index='<%INDEX>'/>{%FOLDER}<%BR><Object Name='<%NAME>'><!--Folder--><%BR> <Path><%RELPATH></Path><%BR> <Size><%BYTES></Size><!--Bytes--><%BR> <Time_Date><%TIMEDATE></Time_Date><!--GMT--><%BR> <UID><%UID></UID><%BR> <Type><%TYPE></Type><%BR> <Streams Streams='<%STREAMS>'><%STREAMLOOP> </Streams><%BR> <Extents Extents='<%EXTENTS>'><%EXTENTLOOP> </Extents><%BR></Object>{%FOOTER}<%BR><Stats><%BR> <Objects><%CNT></Objects><%BR> <End_Time_Date><%SYSTIMEDATE></End_Time_Date><!--GMT--><%BR> <Elapsed_Time><%SYSTIMELAPSED></Elapsed_Time><%BR> <Elapsed_Time_Sec><%SYSTIMELAPSEDSEC></Elapsed_Time_Sec><%BR> <Elapsed_Time_NanoSec><%SYSTIMELAPSEDNANOSEC></Elapsed_Time_NanoSec><%BR></Stats><%BR><%BR></xml><%BR><!-- For more information: https://www.isobuster.com/reports -->"

"CustomFileList2"="{'DFXML (IsoBuster 4.1 version)'}{%UTF8}{%XML}{%GMT}{%FOLDERS}{%STREAMS}<%XMLHEADER><%BR><dfxml xmlns='http://www.forensicswiki.org/wiki/Category:Digital_Forensics_XML'<%BR> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'<%BR> xmlns:dc='http://purl.org/dc/elements/1.1/'<%BR> xmlns:hfs='http://www.forensicswiki.org/wiki/HFS' version='1.0'><%BR><%BR> <metadata><%BR> <dc:type><%DEVICETYPE></dc:type><%BR> </metadata><%BR><%BR> <creator><%BR> <program><%APP></program><%BR> <version><%VERSION></version><%BR> <execution_environment><%BR> <start_time><%SYSTIMEDATE></start_time><!--GMT--><%BR> <os_version><%OS></os_version><%BR> <username><%USER></username><%BR> </execution_environment><%BR> </creator><%BR><%BR> <source><%BR> <device_model><%DEVICE></device_model><%BR> <image_filename><%DEVICEPATH></image_filename><%BR> <image_size><%DEVICEFILESIZE></image_size><%BR> <sectorsize><%DEVICEBLOCKSIZE></sectorsize><%BR> <devicesectors coding='base10'><%DEVICEBLOCKS></devicesectors><%BR> </source><%BR><%BR> <volume><%BR> <ftype_str><%TYPE></ftype_str><%BR> <partition_offset><%PARTITIONLBABYTESOFFSET></partition_offset>{%HEADER}{%FOLDER}<%BR> <fileobject><%BR> <filename><%RELPATH></filename><%BR> <name_type>d</name_type><%BR> <filesize><%BYTES></filesize><%BR> <alloc>1</alloc><%BR> <inode><%UID></inode><%BR> <mtime><%TIMEDATE></mtime><!--GMT--><%BR> <byte_runs><%EXTENTLOOP> </byte_runs><%BR> </fileobject>{%FILE}<%BR> <fileobject><%BR> <filename><%RELPATH></filename><%BR> <name_type>r</name_type><%BR> <filesize><%BYTES></filesize><%BR> <alloc>1</alloc><%BR> <inode><%UID></inode><%BR> <mtime><%TIMEDATE></mtime><!--GMT--><%BR> <hfs:HFStype_creator><%TYPE>/<%CREATOR></hfs:HFStype_creator><!--Only relevant if MAC File System--><%BR> <byte_runs><%EXTENTLOOP> </byte_runs><%BR> </fileobject>{%STREAM}<%BR> <fileobject><!--Stream or Resource Fork--><%BR> <filename><%RELPATH></filename><%BR> <name_type>-</name_type><%BR> <filesize><%BYTES></filesize><%BR> <alloc>1</alloc><%BR> <inode><%UID></inode><%BR> <mtime><%TIMEDATE></mtime><!--GMT--><%BR> <byte_runs><%EXTENTLOOP> </byte_runs><%BR> </fileobject>{%EXTENT} <byte_run img_offset='<%LBABYTEOFFSET>' len='<%BYTES>' />{%FOOTER} </volume><%BR><%BR> <runstats><%BR> <stop_time><%SYSTIMEDATE></stop_time><!--GMT--><%BR> <clock_seconds><%SYSTIMELAPSEDSEC></clock_seconds><%BR> </runstats><%BR><%BR></dfxml><%BR><!-- For more information: https://www.isobuster.com/reports -->"

"CustomFileList3"="{'-'}"

"CustomFileList4"="{'LBA+TIME+DATE+SIZE+PATH (Old style IsoBuster < 4.1 report)'}<%LBA> , <%TIMEDATE> , <%SIZE> , <%FULLPATH>"

Se utilizzate questo esempio, vedrete evidenziate le opzioni aggiunte alla GUI (una volta aggiunte le stringhe, assicuratevi di riavviare IsoBuster)

Report personalizzati con IsoBuster

Fare clic sull'immagine per ingrandirla

Arricchire i report e gli elenchi esistenti via GUI

È possibile utilizzare la funzione di personalizzazione dei report per arricchire o sostituire i report e gli elenchi predefiniti di IsoBuster con report ed elenchi di propria scelta.

Per utilizzare questa funzionalità, usare il valore stringa EmdeddedFileList nel Registro di sistema, così come si utilizzerebbe il valore stringa CustomFileList. Tutto il resto rimane invariato. È possibile sostituire interamente le funzionalità esistenti con una propria oppure è possibile aggiungere nuove funzionalità. Per aggiungere o sostituire una funzionalità, usare il tag <%EMBEDDED>. Il tag <%EMBEDDED> verrà sostituito dalla stringa originariamente presente nel programma. Se non si specifica un titolo, verrà utilizzato il titolo originariamente presente nel programma. Questo è utile se si desidera sostituire in toto una funzionalità.

Alcuni esempi:

Esempio 1: la funzionalità rimane invariata, ma i file vengono salvati con codifica UTF8 anziché UTF16 (codifica predefinita)

Esempio 2: la funzionalità rimane invariata, ma questo tipo di elenco diventa predefinito (e con a fianco del titolo il segno di spunta)

Esempio 3: la funzionalità rimane invariata, ma è presente un piè di pagina in fondo all'elenco che mostra la versione di IsoBuster utilizzata

Esempio 4: una nuova funzionalità, con un nuovo nome, ecc.

Esempio 5: l'elenco viene rimosso

REGEDIT4

[HKEY_CURRENT_USER\Software\Smart Projects\IsoBuster]

"EmdeddedFileList1"="{%UTF8}<%EMBEDDED>"

"EmdeddedFileList2"="{%DEFAULT}{%CHECKED}<%EMBEDDED>"

"EmdeddedFileList3"="<%EMBEDDED>{%FOOTER}<%BR>Creato con <%APP> <%VERS>"

"EmdeddedFileList4"="{'Mio nuovo elenco'}{%UTF8}{%GMT}{%STREAMS}<%LBA>;<%NAME>;<%TOTSIZE>;<%TIME>"

"EmdeddedFileList5"="<%INVISIBLE>"