Jump to content











Photo
- - - - -

[Release] ISOINFO.G4B to view ISO-9660/ UDF Descriptors, Directories, Files and Records

grub4dos

  • Please log in to reply
No replies to this topic

#1 deomsh

deomsh

    Frequent Member

  • Advanced user
  • 198 posts
  •  
    Netherlands

Posted 2 weeks ago

New script to view Descriptors on ISO-9660 and UDF, included Dir/ Record functionality.

More information, links and many print-screens on: https://github.com/deomsh/ISOINFO.G4B ('ISO' should be read in the broad sense). :ph34r:

 

This script will (should) support ISO-9660, El Torito Boot Catalog and up to two Secondary Volume Descriptors, Joliet and Rock Ridge Extensions.

 

In case of UDF this script will (should) support all versions including Virtual Partitions: Virtual Allocation Table (CDR/ DVDR), Sparing Table (CDRW/ DVDRW) and Metadata Partition (Duplicate Metadata Mirror too). Grub4dos has no support for these, as far as I know/ tested.

 

Although the script has been developed on Grub4dos 0.4.6a, last version of Grub4dos 0.4.5c (20160118) is supported too. Grub4dos for UEFI is supported in graphicsmode only, but will be quite soon 'out of malloc memory'

 

I added a small test-iso on Github to 'browse' history of Virtual Allocation Tables, dd-copied from DVD+R (DVDR1SES.ISO). This is possible on CD-R too.

In case of CD-R I had no success to browse sessions on CD-R (only first session is found), but on DVD+R I managed to browse two 'true' UDF sessions. The test-iso I made with dd-copy is 132 MB, added to my dropbox (link is to the folder).

 

As an example of how output will 'look-and-feel' print-screens of the File Entry and Header of the (embedded) Virtual Allocation Table (UDF v2.01), with switch '--HEX' and first part of Virtual Allocation Table added with help of 'raw cat --hex':

 

ISOINFO.G4B --VAT --HEX (0xe0) on very small CD-R I.jpg ISOINFO.G4B --VAT --HEX (0xe0) on very small CD-R WITH EXTRA cat --hex to view first part of actual VAT II.jpg

 

BTW: entries are shown with their relative (hexa-decimal) byte position. Utmost left the main entries according to the ECMA-sources. Some entries like tag's and identifiers have general specs, and are showed indented with their relative byte positions.

Hexa-decimal output is converted to decimal or 'translated' according to the used specs, if this seems useful.

All positions are zero-based, which is more convenient if the switch '--HEX' is used (sadly ISO-9960 specs are starting with '1', so read these '+1'). Most output in hex will use 'cached sectors' in memory and start with zero, but absolute starting sector/ address on DEVICE/ FILE are usually showed at the right of the descriptor name.



#2 deomsh

deomsh

    Frequent Member

  • Advanced user
  • 198 posts
  •  
    Netherlands

Posted A week ago

Version 0.7.1
BUGFIX: last byte of 'Implementation Use Area' was not displayed (UDF)
BUGFIX: Output variable 'Rblock' wrong in case of multiple Extents (UDF)

Small Output-related changes (textual only)

NEW: view Directory Record of the root of a directory with '--RECORD[2/3][RR]=[PATH].' (ISO-9660)
NEW: view Directory Record of Parent Directory with '--RECORD[2/3][RR]=[PATH]..' (ISO-9660)
NEW: view File Identifier Descriptor and (Extended) File Entry of Parent Directory with '--UDFRECORD=[PATH]..' (UDF)
 

Although Directory Records of root/parent of a directory on ISO-9660 could already be viewed with switch '--RECORD=[PATH]', all Directory Records will be showed in this case. Which is not so good if there are more than a few entries. On UDF only File Identifier Descriptors are showed.

 

Some action print-screens.

 

ISO-9660:

 

ISOINFO.G4B --RECORDRR=helpforwardslash. (0xe0) with Rock Ridge Extensions of root of directory 'help'.jpg ISOINFO.G4B --RECORDRR=helpforwardslash.. (0xe0) with Rock Ridge Extensions of parent directory of directory 'help'.jpg

 

BTW watch the Rock Ridge Extensions has no name field (NM) in these cases.

 

UDF:

 

ISOINFO.G4B --UDFRECORD=copytest.001-Subdir1-.. (0xe0) with File Identifier Descriptor and Extended File Entry of Parent Directory A.jpg ISOINFO.G4B --UDFRECORD=copytest.001-Subdir1-.. (0xe0) with File Identifier Descriptor and Extended File Entry of Parent Directory B.jpg

 

BTW UDF has only the Parent Directory.  Watch: Logical Block Numbers of 'Tag Location' and 'Directory Record Location'.

 

In case of 'registered descriptors' with special switch '--LBN=number' ONE sector can be viewed (UDF only).

With Logical Block Number '0xA7' of Parent Directory of copytest.001/Subdir1 of last print-screen above:

 

ISOINFO.G4B --LBN=0xA7 (0xe0) to view File Identifier Descriptors in parent directory of copytest.001-Subdir1-.. A.jpg ISOINFO.G4B --LBN=0xA7 (0xe0) to view File Identifier Descriptors in parent directory of copytest.001-Subdir1-.. B.jpg

 

BTW (absolute) Logical Sector Number is returned as variable 'LSN', as can be seen on last print-screen.

 

In certain cases setting a (byte) offset with '--OFFSET=bytes' is useful (here to continue viewing File Identifier Descriptors after first sector):

 

ISOINFO.G4B --LBN=0x3 --OFFSET=0xF4 (0xe0) to view more File Identifier Descriptors.jpg

 

Even needed in case of embedded File Identifier Descriptors (here Extended File Entry of a Root Directory with embedded File Identifier Descriptors):

 

ISOINFO.G4B --LBN=0x1 (0xe0) to view Extended File Entry of Root Directory A.jpg ISOINFO.G4B --LBN=0x1 (0xe0) to view Extended File Entry of Root Directory B.jpg ISOINFO.G4B --LBN=0x1 --OFFSET=0xD8 (0xe0) to view embedded File Identifier Descriptors C.jpg

 

BTW also possible: switch '--LSN=sector' with '--OFFSET=bytes' (LSN is 0x10811 in this case)







Also tagged with one or more of these keywords: grub4dos

3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users