What is the process of getting a BIN file back to its original state after dahack.exe and cdda.exe convert it? I think I figured dahack out. If run on an original file (unmodified), all instances of 0x 5E B0 00 00 are changed to 0x 96 00 00 00 and instances of 0x 6E B0 00 00 are changed to 0x 5C 2E 00 00. Is that correct?
B05E -> 0096 is changing unbiased MSF from 10:02:00 (LBA 45000) to 00:02:00 (LBA 0). The high-density session of a GD-ROM starts at 10:02:00, whereas a pirate CD would have started at 00:02:00. I don't know what the second patch is. 0x2E5C may be game-specific. It might've been the unbiased LBA (+150 from normal LBA like above) of track 03, the first or second audio track on the disk. I would check whether track 02 or 03 starts at MSF 02:38:18.
Dahack does 45166 -> LBA+166 and 45150 -> 0 in hex in the bins. Both can be undo if you know what LBA it was hacked to. CDDA is more complex and you can't undo it I think. It writes over too much stuff that isn't always the same afaik. If it's always the same stuff is overwrites, then you could undo it.