Short in English https://pastebin.com/wwCGPUYZ.
Раз уж я таки собрался и собрал практически все написанные когда-то за много лет исходные коды по XXX играм и закинул их на сайт, то не могу не упомянуть и об этой игре.
Узнал я о ней когда рылся в Интернете в поисках ссылок на наш сайт - кто-то дал в комментариях ссылку на наш распаковщик формата *.GX.
Собственно, ссылка, где можно скачать игру и почитать комментарии:
https://www.myabandonware.com/game/strip-poker-professional-volume-ii-7q6
Читая комментарии я узнал о том, что с этой игрой есть проблема - она идёт на CD с ключом, который позволяет играть только с одним архивом оппонентов, а при использовании специальных ключей их можно открыть ещё 6 штук. Хех, даже с мужчинами есть - полная политкорректность. Мне стало интересно, что же там такое в 1995 году придумали, что до сих пор никто не взломал. Нужно отдать должное авторам - именно потому что они хорошо продумали защиту она так и осталась невзломанной. Я прошёл только первый уровень защиты, но дальше дело не сдвинулось. Расскажу подробности.
На CD-диске есть большой файл VEND1278 - это зашифрованный .HFS (Hierarchical File System) образ диска - от MAC'ов, как я понял. UltraISO их поддерживает и может открыть. Собственно прокол (слабое место в методе защиты) шифрования этого диска был в том, что там обычный xor, который сбрасывается на (это важно!) границе сектора или какого другого блока. Короче, каждые 131072 байт (0x20000) ключ начинает генерироваться заново. Я не знаю алгоритма и начальных значений, зато изучив файл я увидел эту повторяющуюся особенность и прочитав первый блок использовал его как ключ для всех последующих. Потом я понял что что-то не так, потому что дублировался заголовок диска. Выяснилось, что там 16 первых секторов этих, но из них только первый и тот где FAT не пустые, а остальные нули. Таким образом прочитав второй сектор я получал чистый ключ, которым уже расшифровывал весь диск. Вот утилита, которая это делает:
http://www.ctpax-x.org/uploads/sppv2hfs.zip (с исходными кодами на C)
Да, это было ровно два года назад - у меня всё никак времени не было об этом подробно написать, а сейчас очень в тему будет.
Так вот после расшифровки образ VEND1278.HFS можно открыть в UltraISO и извлечь оттуда файлы команд TEAM?.VCL (даже дата будет правильная - 1995 год). Но, как я уже сказал, каждый файл команд зашифрован своим собственным ключом, потому что они покупались по отдельности.
Ключи для установки и разблокировки состоят только из букв английского алфавита длинной в 14 символов - это два 32-ых ключа (два DWORD'а). Т.е. берёте первые 7 символов, скармливаете вот этой функции и получаете первый ключ, затем вторые - второй: