Creër uw eigen stijl rapport of lijst met IsoBuster

Er zijn twee methodes om uw eigen lijsten te maken. Via de commandolijn en via de GUI. Beide methodes zijn reeds beschikbaar sinds lange tijd maar het aantal tags en commando's is exponentieel toegenomen sedert IsoBuster 4.1. De GUI versie was eigenlijk nog nooit gedocumenteerd, en het was maar een mini versie van de huidige implementatie.

Zelfgedefiniëerde rapporten of lijsten via de commandolijn

Zoals reeds gezegd bestaat deze functionaliteit al langer en de '/tree sectie in het help bestand zou dat voldoende moeten uitleggen. Echter, de tags/tokens en commando's zijn nu een veelvoud van wat beschikbaar was vóór IsoBuster 4.1. Dus, raadpleeg het help bestand on zelf lijsten of rapporten te definiëren.

Zelfgedefiniëerde rapporten of lijsten via de GUI

Deze optie heeft wat meer uitleg nodig. Het is gebaseerd op één string per lijst/rapport in de registry. Je kan tot 10 zo'n strings in de registry opslaan. Tijdens het opstarten kijkt IsoBuster in de registry en bouwt vervolgens de rechtermuisknop dialoog op voor het exporteren van lijsten. De strings zijn identiek aan deze die gebruikt kunnen worden via de commandolijn (/tree commando). Dus, voor een overzicht van de tags/tokens en commando's, check de relevante sectie in het helpbestand om te starten.

Echter, er zijn ook een aantal commando's die enkel nut hebben bij de GUI implementatie. Zie deze commando's hier:

  • {'Title'}    Indien gebruikt, moet het het eerste commando zijn op de lijn, anders wordt het genegeerd. De titel bevindt zich tussen (enkelvoudige) aanhalingstekens
  • {%DEFAULT}   Deze tag wordt gebruikt om de lijst de primaire lijst te maken. Vet gedrukt. Dubbel klikken van het overkoepelend menu item zal deze lijst exporteren
  • {%CHECKED}   Deze tag wordt gebruikt om een vinkje naast de lijst te tonen
  • (%INVISIBLE} Deze tag wordt gebruikt om een lijst volledig te verbergen. Het heeft weinig zin dit te doen bij eigen lijsten maar het heeft wel zijn als je de bestaande lijsten wil bewerken

Om uw eigen rapporten toe te voegen aan de GUI, creëer een simpel tekst bestand en voeg strings "CustomFileList1" tot "CustomFileList10" toe, met uw eigen commando string

Dit alles voor de "[HKEY_CURRENT_USER\Software\Smart Projects\IsoBuster]" registry key. Zie het voorbeeld onderaan om te begrijpen welke tekst precies nodig is om dit te laten werken.

Hernoem het tekstbestand naar iets met extensie '.reg', vb 'rapporten.reg'. Dubbelklik het .reg bestand en laat Windows RegEdit toe om de aanpassingen door te voeren. Start IsoBuster terug om de nieuwe functionaliteit te zien.

Onderaan een werkend voorbeeld dat u kan copiëren naar een tekstbestand (met .reg extensie) om te starten (Of download het voorbeeldbestand hier):

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>"

Indien u dit voorbeeld gebruikt zal u de geel ingekleurde opties zien in IsoBuster (na IsoBuster opnieuw opgestart te hebben)

Custom Reports with IsoBuster

Klik om te vergroten

Verander of vervang de bestaande rapporten functionaliteit

Ten laatste kan je ook de eigen-lijsten-technologie gebruiken om de bestaande lijsten te veranderen of te vervangen.

Om dat te doen gebruik je bovenstaande logica maar dan met registry sleutel strings EmdeddedFileList in plaats van CustomFileList. Al de rest blijft hetzelfde. Je kan de volledige functionaliteit vervangen met je eigen functionaliteit of je kan je eigen stuk toevoegen. Om functionaliteit toe te voegen, en dus niet alles volledig te veranderen, gebruik je tag <%EMBEDDED> in de nieuwe string. <%EMBEDDED> wordt vervangen door het in-het-programma-opgeslagen-rapport. Indien u geen titel {'Title'} voorziet, zal de in het programma opgeslagen titel gebruikt worden. Dit laatste (de titel) is vooral belangrijk als je de functionaliteit volledig vervangt.

Een paar voorbeelden:

Vb 1: De functionaliteit blijf hetzelfde, maar de bestanden worden weggeschreven met UTF8 encodering ipv de standaard UTF16 encodering

Vb 2: De functionaliteit blijf hetzelfde, maar deze lijst is nu de primaire lijst (en ook nog eens aangevinkt)

Vb 3: De functionaliteit blijf hetzelfde, maar er is een post script aan het einde die toont welke versie van IsoBuster gebruikt werd

Vb 4: Volledig nieuwe functionaliteit met een eigen titel

Vb 5: Deze lijst is nu volledig verborgen

REGEDIT4

[HKEY_CURRENT_USER\Software\Smart Projects\IsoBuster]

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

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

"EmdeddedFileList3"="<%EMBEDDED>{%FOOTER}<%BR>Gemaakt met <%APP> <%VERS>"

"EmdeddedFileList4"="{'Mijn nieuwe lijst'}{%UTF8}{%GMT}{%STREAMS}<%LBA>;<%NAME>;<%TOTSIZE>;<%TIME>"

"EmdeddedFileList5"="<%INVISIBLE>"