El sistema anti-copia del juego para MSDOS Sam & Max Hit the Road (al menos la versión de disquetes) no era ni más ni menos que unas imágenes en un manual. Tienes que tener el manual original y fijarte en como va vestido MAX para vestirlo igual (o al contrario: como va SAM para vestirlo igual).
La idea es que cada vez que queramos jugarlo no tengamos que estar mirando el manual, es decir, queremos poder darle a comprobar y que al fallar (lo comprobará 2 veces) salte y le de igual si es correcto o no. Salte a la parte en la que comienza el juego si hubiéramos vestido a SAM o a MAX conforme a como viene en el manual.
Si fallamos 2 veces seguidas dirá adios y saldrá del juego.
Saltarnos la protección alterando en memoria un valor
Lo primero es obtener el juego: fanta.56k.es/games/1990/1993-Sam_and_Max_Hit_the_road-Spanish-Linux/Sam_and_Max-Hit_the_road.tar.gz y tener dosbox-x listo para usarse.
NOTA: El archivo viajará mediante http y no https ya que anda en un server escuchando por el puerto 80.
Saltar cuando dice adios y que comience el juego. Esto se hace cambiando en la posición 0000:00010744 el valor 74 por el EB. En modo debug con dosbox-x se puede hacer así:
D 0000:10744
SM 0000:00010744 EB
Para hacerlo permanente se tendría que cambiar el 74 por EB en el archivo SAMNMAX.EXE
$ cat C/SAMNMAX/SAMNMAX.EXE | xxd -u -c 16 -g 1 | grep -i "74 06 48 48 74"
00009910: E4 2D 9E 00 74 06 48 48 74 0C CB 90 6A 00 90 0E .-..t.HHt...j...
$ printf "00009914: EB" | xxd -r4 - C/SAMNMAX/SAMNMAX.EXE
La forma en la que encontramos en memoria los valores es mediante memdump (en el modo debug de dosbox) es así:
memdump 0:0 1000000
Luego con la memoria en un archivo llamado MEMDUMP.TXT podemos grepearlo:
$ cat MEMDUMP.TXT | grep -i "74 06 48 48 74"
0000:10740 E4 2D 9E 00 74 06 48 48 74 0C CB 90 6A 00 90 0E
En resumen. Para crackear el juego así:
$ printf "00009914: EB" | xxd -r4 - C/SAMNMAX/SAMNMAX.EXE
Y a disfrutar :).
Saludos cordiales.