Электронная библиотека
Хакер
Xakep Online -> Журнал, номер #011, стр. 011-074-2
Ну вот. Теперь ты знаешь, где находятся ресурсы, и можешь приступать к издевательству над ресурсами System Shock. Хороших мыслей твоему извращенному уму! Главное - не заблудись в ресурсах, их там очень много, можно замучить игру до неузнаваемости. А еще обрати внимание на качество спрайтов: большинство из них примитивны. Вот так мы и выводим игрульки на чистую воду ;))
Азы жестоких издевательств
Все, конечно, хорошо и классно, но как самому додуматься, что файл с расширением .CRF - это на самом деле простой архив? Ведь не буду же я каждую игру тебе по кускам разжевывать, верно? Но, надеюсь, ты и сам захочешь научиться узнавать, для чего реально предназначен конкретный файл. Научившись этому, ты почувствуешь себя настоящим Хакером! :-)
Итак, начнем учиться распознавать реальное назначение файлов. Практически все файлы состоят из двух частей: заголовок и данные. Сами данные нас особо не интересуют. Конечно, эти самые данные и представляют собою всю необходимую инфу, однако в большинстве случаев ты там все равно ни хрена не поймешь. А вот в заголовке есть много чего интересного. Самое интересное для нас на данном этапе - это первые два байта. Хотя заголовки в разных типах файлов сильно отличаются друг от друга, но все же обычно первые два байта служат одной и той же цели - идентификации файла. Например, когда программа "Фотожоп" читает файл .BMP, он проверяет первые два байта, и если они равны "BM", значит, это .BMP, а если нет, то значит, это чего-то другое. Точно также поступают все проги, когда они открывают какой-либо файл.
Итак, первые два байта (в программистских кругах откликаются на "сигнатура"), это идентификатор формата файла, который подтверждает, что он действительно относится к данному семейству файлов. Все расширения типа .BMP или .WAV - это только условность, сделанная для удобства. Какое расширение - вообще-то, пофиг. Главное - содержимое, а формат содержимого определяется сигнатурой. Вот по ней ты и можешь узнать, что именно прячут в файле.
С учетом всего вышесказанного, стратегия поиска ресурсов немного изменилась, теперь ты должен открывать все файлы в режиме просмотра (в Windows Commander или в Нортоне жмешь на пимпу F3) и просматривать сигнатуру, то есть первые два байта.
Рассмотрим .JPG файл. Это наиболее сложный формат, потому что здесь сигнатура не постоянна, хотя в большинстве случаев это "яШ". Дополнительным идентификатором .JPG является "JFIF" начиная с 7 байта. Чуть дальше ты можешь увидеть название программы, с помощью которой был создан данный файл (на рисунке это Photoshop 3.0).
Чтобы тебе было легче, я приведу несколько сигнатур. В скобках приведены шестнадцатиричные значения сигнатур:
.BMP - "BM" (42 4D);
.ZIP - "PK" (50 4B);
.DLL - "MZ" (4D 5A), эти файлы имеют для нас особый интерес, поэтому я расскажу тебе о них в другой раз. Читай ближайшие номера Х;