You can do it under Windows with WinISO (
www.winiso.com). I'm still looking for a way to do it under Linux; I'll post back if I find one.
--Barry
Edit: Here's what I found. The bad news is that there doesn't seem to be an easy extractor and rewriter like WinISO, but the good news is that it is pretty easy to do this with commands.
Type "mount -o loop /path/to/iso /mnt/iso" (/mnt/iso must be created if it doesn't exist).
cp -a /mnt/iso /tmp/iso
Make all your changes in /tmp/iso.
Use mkisofs to create the modified ISO from the /tmp/iso directory:
mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o <new iso filename> /tmp/iso
NB: I just copied that mkisofs line from another post I found, and I haven't checked yet what all the options do. "man mkisofs" is left as an exercise for the reader. :-)