Вечно жить не запретишь крис касперски ака мыщъх Хакер, номер #087, стр. 087-064-4 хак на диске Модификация игр в памяти — мощная штука, но все-таки несвободная от ограничений. Программы, защищенные различными протекторами (типа star-force), активно сопротивляются снятию дампа, а под linux нормальных дамперов вообще нет! В этих (и многих других) случаях приходится прибегать к альтернативному методу — правке файлов состояния игры ("сэйвов"). Тактическая стратегия выглядит как обычно: сохраняется в saved_1, перемещаемся без потери здоровья (патронов) и сохраняется в saved_2, затем стреляем один раз (тратим несколько процентов здоровья) и сохраняемся в saved_3. Сравниваем полученные файлы нашей утилитой fck.exe и смотрим различия. Выбрав наиболее вероятных "кандидатов", правим их в hex-редакторе, загружаем исправленный файл в игру и, если патроны/здоровье не изменились, правим следующий байт и т.д. Вернемся к DOOM'у. Подготавливаем три сэйва (doomsav0.dsg, doomsav1.dsg и doomsav2.dsg) и сравниваем их друг с другом. Опс! Все они имеют разный размер: 2440, 2586 и 2650 байт. Плохо дело! Судя по всему, сэйв имеет сложную структуру, и простое побайтовое сравнение, скорее всего, ничего не даст, поскольку ячейки, отвечающие за хранение патронов (здоровье), окажутся расположенными по различным смещениям. Расшифровка структуры сэйв-файлов — сложное, но очень увлекательное дело, "заразившее" множество светлых умов. Основным оружием становится интуиция и нечеткий "скользящий" поиск — мы ищем совпадающие (или просто похожие) фрагменты и корректируем смещения с привязкой к ним. |