Fun question. I am a sucker for using dd to edit files, so lets do that. I had to look up the spec for the iso9660 format here:
https://wiki.osdev.org/ISO_9660 in the section Primary Volume Descriptor.
I have a Slitaz iso sitting in downloads so thats what I will use for an example. This is the iso-info beforehand.
Code:
> iso-info slitaz-rolling.iso
iso-info version 2.3.0 x86_64-pc-linux-gnu
Copyright (c) 2003-2005, 2007-2008, 2011-2015, 2017, 2025 R. Bernstein
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
__________________________________
ISO 9660 image: slitaz-rolling.iso
Application : tazlito 537/genisoimage 1.1.11 (Linux)
Preparer : root
Publisher : www.slitaz.org
System : LINUX
Volume : SliTaz core-4in1
Volume Set : SliTaz cooking
No Joliet extensions
Verify the current info at the correct offset:
Code:
> xxd -s 0x8028 -l 32 slitaz-rolling.iso
00008028: 536c 6954 617a 2063 6f72 652d 3469 6e31 SliTaz core-4in1
00008038: 2020 2020 2020 2020 2020 2020 2020 2020
Change it with disk destroyer and check the change.
Code:
> echo "my string of 32 bytes " | dd of=slitaz-rolling.iso bs=1 seek=32808 count=32 conv=notrunc
32+0 records in
32+0 records out
32 bytes copied, 0.000227785 s, 140 kB/s
> xxd -s 0x8028 -l 32 slitaz-rolling.iso
00008028: 6d79 2073 7472 696e 6720 6f66 2033 3220 my string of 32
00008038: 6279 7465 7320 2020 2020 2020 2020 2020 bytes
>iso-info slitaz-rolling.iso iso-info version 2.3.0 x86_64-pc-linux-gnu
Copyright (c) 2003-2005, 2007-2008, 2011-2015, 2017, 2025 R. Bernstein
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
__________________________________
ISO 9660 image: slitaz-rolling.iso
Application : tazlito 537/genisoimage 1.1.11 (Linux)
Preparer : root
Publisher : www.slitaz.org
System : LINUX
Volume : my string of 32 bytes
Volume Set : SliTaz cooking
No Joliet extensions