▄▄▄ ▄ ▄▄ ▄ ▄ ▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄▄ ▄▄ ▄▄ ▄ (TM) █ █ █ █ █ ▀▄ ▄▀ █▄▄ █ █ ▀▄▄ █ █ █ █ █ █ █▀▀ █ █▀▀█ █ █ █▀▀▄ █ █ █ █ █ █ █ ▀ ▀▀▀ ▀ ▀ ▀ ▀▀▀▀ ▀ ▀ ▀▀▀ ▀ ▀▀ ▀▀ ▀▀▀ Russian operation manual. Version 5.0 beta ── 1.0 ───────═══════ Общие сведения о PT. ═══════────────────── У Вас сейчас в руках уникальная программа, заключающая в себе удобство управления, мягкость понимания, высокий уровень сервиса, последние разработки в технологии программирования. Для тех кто видел ранние версии, об истории создания PT советуем прочитать в файле history.lst. Для тех кто видит PT в первый раз, этого де- лать не следует (запутаетесь). PT задумывался как резидентный просмоторщик текстовых файлов в любой момент времени и взломщик различных игр, преимущественно аркадного типа. По ходу дела в него были встроены дополнительные полезные функции, о которых Вы можете прочесть ниже. ── 1.1 ───════ Общие сведения о взломе игр в памяти ════──────── На данный момент существуют две основные методики взлома игр: взлом программы и взлом в памяти. Взлом программы - исправление кода программы, обычно этот способ довольно трудоемкий, т.к. при- ходится долго копаться в программе под отладчиком, чтобы наконец добиться того, что маленькие зеленые человечки перестанут вре- дить вашему здоровью. Взлом программ в памяти - периодическое ис- правление в памяти значения количества жизней или чего-то подоб- ного. Этот способ несколько менее эффективен, зато гораздо менее трудоемок. Обычно это делается так: при различных значениях коли- чества жизней (денег, etc.) записываются на диск дампы памяти, затем сравниваются на предмет отличий, и таким образом находится место, где в памяти хранится количество жизней. После этого дос- таточно время от времени исправлять значение, находящееся в этой ячейке памяти, чтобы маленькие зеленые человечки не смогли вас убить. В PT использован второй метод, хотя можно его использовать и как вспомогательный инструмент для первого. ── 1.2 ───────═══════ Что такое крэк файл? ═══════────────────── Крэк файл представляет собой файл, в котором содержится спи- сок смещений адресов и значений с динамическими параметрами игры, которые необходимо заморозить. Также в нем находится комментарии к каждому смещению и общий комментарий. В одном крэк файле может располагаться список байтов для заморозки только к одной игре. Формат крэк файла изменен с версии PT v3.9972! Для использова- ния крек файла ранних версий PT, необходимо сконвертировать его с помощью программы PTTC.EXE поставляемой в пакете. PT использует по умолчанию BYTES.PT крек файл. Если Вы желаете использовать крек файл поставляемый в пакете, то рекомендуется переименовать его в BYTES.PT и скопировать в директорию с игрой. Для людей слабо разбирающихся во взломе игр Вы можете сделать trainer, сконвертивовав крэк файл в.com файл. Полученный trainer легко использовать и он в отличие от самого PT, требует меньше ресурсов компьютера. Процедуру изготовления trainer-ов подробней смотрите в описании PT2COM.DOC. В комплекте с PT поставляется коллекция крэк файлов к различ- ным играм в файле PTS???.LZH. Мы благодарим всех, кто помогает нам собирать эту коллекцию. Используя эту коллекцию следует учи- тывать, что смещения в одной и той же игре могут быть разными в зависимости от конфигурации (EGA/VGA/SB/SPEAKER /ADLIB/MOUSE/KEYBOARD etc.) а также возможно, что игра может на- зываться одинаково, и быть просто другой версией (shareware/release etc.) Если Вы сделали свой crack файл и хотите чтобы он попал в кол- лекцию, пришлите его в UUE на адрес FIDONet: 2:5020/200.77 или свяжитесь с одним из распространителей. ── 2.0 ──────────═══════ Возможности PT. ═══════───────────────── ── 2.1 ──────────═════ В резидентном режиме ═════──────────────── ■ Вы всегда можете вызвать HELP при работе с PT; ■ Англо-русский словарик на 20 тысяч слов; ■ редактор памяти (от 00000h до 0FFFFFh); ■ просмотр текстового файла в любое удобное вам время, даже если в данный момент вы в графическом режиме, а также поиск строки в файле; ■ динамическое редактирование крэк файла (т.е. не выходя из игры Вы можете редактировать с помощью PT любой *.PT файл). Эта функция также позволяет загружать любой крек файл, не только BYTES.PT; ■ гашение/восстановление звука (вероятность успеха - 90%, причем звук гасится обычно "намертво", т.е. начинаешь сомневаться: "А был ли звук?"); ■ засылка вплоть до 32 байтов в память (т.е. "заморажива- ние" некоторых байтов в памяти, например, количества жизней в игре); ■ съемщик памяти начиная с PSP текущей программы. Этой функцией Вы можете снять не только саму программу, но и, допустим, какой-нибудь расшифрованный [.MOD] файл, загруженный этой программой; ■ съемщик расширенной памяти; ■ съемщик ваших любимых картинок с экрана; ■ гашение экрана (на случай, если вдруг в комнату вошел ваш Босс, а вы считаете, что ему будет неинтересно смотреть на картинку из Larry 6 на вашем мониторе); ■ DOS SHELL - выход в DOS из любой программы, с возвра- том обратно и полным восстановлением режима работы; ■ быстрый выход из любой программы; ■ записывание/восстановление любой игры (очень помогает во всяких аркейдовских играх); ■ самовыгрузка из памяти; ■ корректировка багов драйвера мыши (это когда мышь ез- дит только на пол-экрана, а дальше боится); ── 2.2 ───────────═════ В обычном режиме ═════─────────────────── ■ загрузка резидентной части в память; ■ выгрузка резидентной части из памяти; ■ просмотр *.PTG-картинок; ■ конвертирование *.PTG-картинок в распространенный Windows BMP формат; ■ сравнивать от 2 до 8 файлов на различные признаки; ■ изготавливать любые trainer-ы на Ваш вкус; ── 2.3 ──────────══════ Общие возможности ══════───────────────── ■ дружелюбность с драйверами расширенной памяти, такими, как QEMM, EMM; ■ возможность использования XMS для хранения временных данных; ■ поддержка _некоторых_ SVGA видеокарт; ■ объем постоянно занимаемой резидентом оперативной памяти менее 3k; ■ оперативное исправление багов; ■ FIDONet эхо-конференция поддержки PT - UHC.TALKS в NOTNet - NOT.GAME ── 2.4 ──────────══════ Особенности работы ══════──────────────── Из-за нестандартной загрузки в память, некоторые антивирусы считают PT вирусом, хотя на самом деле он таким не является. Некоторые драйвера мыши (такие как AMOUSE.COM фирмы Pan & LEES' INDUSTRIAL CO., LTD. ) не поддерживают стандартный API. В след- ствии этого могут возникнуть проблемы с DOS Shell (т.е. при выхо- де из DOS Shell-a состояние мыши не будет восстановлено). Реше- ние проблемы сводится к замене драйвера. ── 3.0 ───────═══════ Требования к системе. ═══════────────────── ■ полностью IBM PC AT совместимый компьютер 80286+ рекомендуется 80386+; ■ обязательно наличие видеокарты VGA+; ■ операционная система MS-DOS 3.30+ или совместимая с ней; ■ свободное место на жестком диске необходимое для нормальной работы (включая DOS Shell и т.п.) ~4M. ── 4.0 ─────────═══════ Как работать с PT? ═══════─────────────── ── 4.1.1 ──────════ Как загрузить PT в память? ═════───────────── Ядро PT является резидентной программой, т.е. постоянно должно находится в памяти. Для того что-бы его загрузить в память, надо запустить PT следующим образом: PT.COM /I [/C##] [/@D] [/X] [/S] [/P], где: /P - альтернативный метод перехватки векторов (с помощью переп- рограмирования PIC-a), использовать если RTC метод (без клю- ча) мешает другим программам. /C## - ключ задает скан код hot-key для активации PT, где ## есть значение скан кода в hex (таблицу смотрите в конце файла) Далее в документации мы будем упоминать Scroll-Lock как hot-key по умолчанию, подразумевая, что он может быть и другим. /@D - диск для следующих swap файлов: D:\PT_SHELL.$$$ ~950K - swap файл для Shell функции; D:\$PTSAVES\DMP_#_.MEM =640K - файл сохраненной игры, где '#' - ее номер; D:\$PTSAVES\SCR_#_.PTG =260K - файл сохраненной картинки игры; D:\$PTSAVES\DMP_#_.EXT =???K - файл сохраненной расширенной памяти игры; D:\PT_OVL.$$$ ~90K - swap файл для переключения PT в текстовый режим (может хранится в XMS); Здесь, буква 'D' означает условный диск, т.е. на его месте мо- жет оказаться любое имя диска. При наличии в компьютере памяти >2M, рекомендуется сделать из нее виртуальный диск с помощью драйвера Ramdrive, поставляемого в комплекте MS-DOS и указать PT использовать этот диск для хранения временных файлов. Но при этом следует помнить, сколько может на него уместиться save и swap файлов (размеры файлов см. выше). Если ключ /@ не указан, то swap файлы будут создаваться на текущем диске. /X - отключить использование XMS, т.е. файл PT_OVL.$$$ хранить не в XMS, а на диске D:; Ключ /S указывается, если Вы хотите, чтобы PT нормально рабо- тал с 8-битными SVGA режимами. Эта возможность работает не на всех видеокартах корректно (например, работает на Cirrus Logic и Paradise, но не работает на Trident, S3). ── 4.1.2 ───────═════ Как выгрузить PT из памяти? ═════────────── Просто запустите PT следующим образом: PT /R ── 4.1.3 ───────═════ Как посмотреть [.PTG] файл? ═════────────── Запустите PT вот так: PT /V [/S] SAMPLE.PTG Ключ '/S' необходимо добавлять, если вы хотите просмотреть SVGA-картинку. Не-SVGA картинки можно просматривать на любой VGA-карте, а SVGA-картинки - только на той видеокарте, с которой вы картинку снимали. ── 4.2 ───═══ Что можно делать, загрузив PT в память? ═══──────── С этого момента, мы советуем Вам выйти из вьювера, которым Вы читаете данную документацию, загрузить PT в память (как указано выше), опять войти во вьювер и продолжить читать документацию. Загрузили? Хорошо. Теперь перейдем к резидентной части. Для ак- тивизации резидента нужно нажать Scroll-Lock. Нажмите Scroll-Lock. Нажали? Подтверждением активности будет изменение цвета рамки экрана, сначала на красный, а затем на белый (возмож- ны другие цвета, в зависимости от палитры). Чтобы выйти из PT нажмите Esc или BackSpace. После вызова PT Вы можете использовать следующие клавиши: F1 - Помощь. Штука крайне полезная, так как маловероятно, что Вы сразу за- помните все используемые клавиши. Если у Вас есть словарь PT.VOC, то там же Вы получите перевод любого английского слова. F2 - Редактор памяти с поиском строки F3 - Просмотр текстового файла с возмож- ностью поиска строки F4 - Динамическое редактирование BYTES.PT или другого указанного Ва- ми крэк файла F5 - Снять картинку с экрана в \$PTSAVES\SCR??.PTG файл F6 - Снять память текущей программы в \$PTSAVES\PT_MEM.0?? файл начиная от PSP F7 - Снять расширенную память в файл \$PTSAVES\PT_EXT.0?? F8 - Гашение экрана до нажатия Grey+ F9 - Временный выход в DOS (DOS shell). F10 - Быстрый выход из текущей программы в DOS (без восстановления исходно- го состояния!) Esc - Выход из резидента в текущую прог- рамму BackSpace - То же, что Esc (сделано для удоб- ства и обмана некоторых игр) 1 - Включить засылку в память байтов, указанных в BYTES.PT 2 - Выключить засылку байтов 3 - Включить динамик 4 - Выключить динамик 5 - Коррекция багов с мышью 6 - Пользовательская функция 7 - Сохранить игру 8 - Восстановить игру 9 - Борьба за существование 0 - Самовыгрузка из памяти ` - Снять/показать boss-screen (у меня эта кнопка под Esc) Del - Удаление некоторых результатов ра- боты PT ── 4.2.1 ─────────═══════ Функция Help. ═══════────────────────── Эта функция поможет Вам вспомнить все управляющие клавиши PT, получить некоторую информацию о текущем состоянии PT. Для этого необходимо нажать Scroll-Lock и затем F1. Вы сможете увидеть краткий список функций PT и состояние отключения звука 'Sound' (ON - означает включен), состояние флага засылки байтов 'Send' (OFF - выключено), количество свободного места на swap-диске, список доступных save game-ов. Из этого окна Вы можете вернутся обратно, нажав Esc или перейти в другое окно F2,F3,F4. (См. help в последней строке экрана). Если у Вас есть англо-русский словарь PT.VOC, то нажав любую буквенную клавишу Вы можете ввести любое английское слово и получить его перевод. Нажав F1 - можно подредактировать введеное ранее слово. ── 4.2.2 ───═════ Функция редактирования памяти. ═════─────────── Нажав F2 Вы перейдете в редактор памяти. В редакторе встроена функция 'Undo' на 8k. Клавишей Tab можно переключать тип редакти- рования (Hex/Ascii). По клавише F5 Вы можете указать адрес с ко- торого начать редактирование, F6 аналогично, но с учетом текуще- го PSP. (полезно отсчитывать относительно PSP пароль к игре и т.д.) Поиск строки вызывается по F7. ── 4.2.3 ──════ Функция просмотра текстового файла. ════───────── Активизировав PT и затем нажав F3, Вы переключитесь в тексто- вый режим и окажетесь в режиме просмотра текстового файла. Если Вы сделали это в первый раз, PT предложит Вам выбрать текстовый файл для просмотра. В следующий раз PT покажет ранее выбранный Вами файл. При просмотре файла Вы можете использовать следующие клавиши: Up, Down, PgUp, PgDn, Home, End. Также несколько фун- кциональных клавиш: F1 - перейти в Help, F2 - перейти в редактор памяти, F4 - перейти в редактирование крэк файла, 'S' - поиск строки в тексте, 'N' - выбрать новый файл для просмотра. ── 4.2.4 ──════ Функция редактирования крэк файла. ════────────── Функция динамического (т.е. не выходя из игры) редактирования крэк файла может быть вызвана в PT по F4. Колонка Type - указывает способ крека. В PT существует три спосо- ба: A - по абсолютному адресу (где-ньдь забить чего на экране), P - относительно текущего PSP (для обычных игр), F - от ядра DOS- Extendera (для игр с DOS4GW). В колонке Addr(ess) указывается смешение в которое необходимо периодически засылать данный байт. Колонка Val(ue) и есть сам байт который необходимо засылать. В колонке Mem(mory) можно ре- дактировать непосредственно указанный по смещению байт (для ти- пов P,F - необходимо присутствие ломаемой программы). Очень удоб- но для денег. Нет необходимости засылать постоянно, а просто ис- правил один раз и достаточно. Колонка Comment необходима для опи- сания функции данного байта. (Просьба всем кто присылает нам крэ- ки для коллекции, описывать каждый байт) Main Comment общий ком- ментарий для крэка. Обычно содержит название игры и имя автора крэка. Pause указывает с какой частотой необходимо засылать дан- ный байт. Частота засылки стабильно 16/N Hz, где N - число ука- занное в Pause. Клавишами Ins и Del Вы можете вносить в список и удалять из него байты. Клавиша L (Load) - загрузить любой крэк файл, ей же задается имя крэка для засылки. Само имя указывается вверху экрана. Клавиша S (Save) - записать крэк файл с возможнос- тью изменения его имени. Также, как и функция Load, изменяет имя текущего крэк файла. При выходе по Esc крэк файл автоматически записывается на диск, при выходе по F10 записывается и включает- ся засылка с исправлеными байтами. Клавишей Space устанавливает- ся, будет ли байт засылаться в память или нет (серый цвет - зна- чит не будет засылаться). Следует учесть, что эта функция именно редактор крэк ФАЙЛА, а не той части крэка которая загружена по клавише (1). Все что Вы изменили будет записано в файл, а состояние на момент нажатия клавиши (1) не изменится. Для введения в действие исправленных параметров крэк файла нужно повторно нажать клавишу (1) или (F10) при выходе из крэк файла. Ограничения: Длина строки для каждого байта 22 символа, длина строки для общего комментария 78 символов, длина паузы засылки не больше 0FFh/16 сек, диапазон адреса засылки ограничивается 24 разрядами. ── 4.2.5 ────═════ Функция снятия экрана в файл. ═════─────────── Эта функция вызывается по клавише F5 в PT. Записывание картин- ки сопровождается гашением экрана и при успешном ее исполнении звучит высокий тон. В файле сохраняются дамп картинки, VGA палит- ра, VGA (SVGA) регистры для графических режимов и дополнительно фонты для текстовых режимов. Имя файла SCR??.PTG, где ?? есть но- мер картинки. Просмотреть картинку можно запустив PT следующим образом: PT /V SCR00.PTG Формат [.PTG] можно сконвертировать в Windows [.BMP] с помощью программы PTG2BMP. (См. более подробное описание в файле PTG2BMP.DOC) ── 4.2.6 ─══ Функция снятия дампа памяти от текущего PSP. ══───── Функция вызывается по F6 в PT. PSP (Prefix Program Segment) яв- ляется точкой отсчета адресации любой программы и каждый фраг- мент данных остается в постоянном месте относительно PSP. На этом основано множество крэкеров, в том числе и PT. Эта функция будет полезна не только для ломания игр, а также для снятия какого-ни- будь расшифрованного кода или данных запущенной программы. ── 4.2.7 ────══════ Пользовательская функция. ══════───────────── Функция может быть активирована по 6 в PT. Этой функцией будет передаваться управление любой резидентной программе перехватив- шей прерывание 0A7h. Может быть полезна для активации дебагеров, которые не смогли всплыть там, где всплыл PT. В обработчике пре- рывания 0A7h можно пользоваться дисковыми операциями. ── 4.2.8 ─────══════ Функция гашения экрана. ══════────────────── Активируется по F8. Для восстановления образа экрана нажмите Grey+ (Plus). Используется, если Вы не желаете чтобы посторонние люди не увидели Ваш экран. ── 4.2.9 ────────══════ Функция DOS SHELL. ══════──────────────── Функция DOS SHELL (временный выход в DOS) исполняется по F9. После выхода в DOS Вы можете полноценно работать как в обычном DOS-e. Для того чтобы вернуться обратно в прерванную программу нужно выполнить команду EXIT в DOS-e, выйдя предварительно из всех оболочек, типа Norton Commander. Для исполнения этой фун- кции необходимо свободного места на диске ~900K. В SHELL PT не может быть активирован и также как загружен и выгружен. После возврата в программу будет полностью восстановлено ее состояние. ── 4.2.10 ──────══════ Функция быстрый выход. ══════───────────── По F10 PT прерывает любую программу и выходит в DOS или оболоч- ку. К сожалению пока не освобождаются EMS блоки захваченные пре- рываемой программы (EMB освобождаются). ── 4.2.11 ──════ Функция включения засылки байтов. ════────────── Функция включается по клавише 1. Крэк файл будет браться из те- кущий директории с именем BYTES.PT или файл указанный Вами в ре- дакторе крэк файла. ── 4.2.12 ──════ Функция выключения засылки байтов. ════───────── Функция вызывается по клавише 2 и просто выключает периодичес- кое обновление байтов. ── 4.2.13 ──══════ Функция включения динамика. ══════──────────── По клавише 3 PT включает динамик заглушенный функцией выключе- ние динамика. ── 4.2.14 ──══════ Функция выключения динамика. ══════─────────── По клавише 4 PT глушит динамик компьютера. ── 4.2.15 ──═══ Функция коррекция драйвера мышки. ════─────────── Бывают случаи когда мышь не заезжает за половину экрана (например в Die Hard II). Для этого в PT предусмотрена функция 'коррекция мыши', которая позволит Вам исправить эту проблему на- жав 5. ── 4.2.16 ──════ Функция дампа расширенной памяти. ═════───────── Вызывается по F7 в PT. Эта функция имеет несколько вариан- тов: Если нажать F7 и затем еще раз F7 (F7-F7)- то будет скинута вся расширенная память которая есть от 100000h. Если нажать F7-1 - то будет скинута вся расширенная память от ядра DOS-Extender-a. Если нажать F7-2 - то будет скинута память от ядра DOS-Extender-a размером 1M. F-3 - тоже только размером 3M, F7-4 - тоже размером 7M. Замечено, что работает в большинстве случаев (даже с qemm/emm). Функция не работала пока только в OS/2. ── 4.2.17 ──════════ Функция записывание игры. ═══════─────────── Для того, что бы сохранить игру (и вообще текущее состояние ма- шины) Вам надо активизировать PT и выбрать функцию сохранения с помощью 7, а потом нажать одну из буквенно-цифровых клавиш. Теку- щее состояние памяти будет сохранено в файл с именем D:\$PTSAVES\DMP_#_.MEM и состояние экрана в файл D:\$PTSAVES\SCR_#_.PTG, где # и есть буквенно-цифровая клавиша. Данная функция работает и с DOS-Extender-ами. Записывать всю па- мять (с расширенной) или только основную определяется нажатием буквенно-цифровой клавиши. Строго говоря, если ASCII код клавиши меньше 'A' (т.е. !@#$%^&()1234567890-~`<>| ), то будет сохранена игра без расширенной памяти. Если ASCII код больше или равен A (т.е. ABCDEFGHIJKLMNOPQRSTUWXYZ abc), то будет сохранена и расши- ренная память. Второй случай стоит использовать осторожно (не ра- ботает с Emm/Qemm (хотя как выяснилось, иногда работает; не стоит скидывать на Ram-Drive) ***************************************************************** *** ВНИМАНИЕ! Крайне не рекомендуется использовать сохране- *** ние/восстановление игры c кэшами диска хранящими свои буфе- *** ра в расширенной памяти. Например с Smartdrv, HyperDsk или *** Stacker-a Последствия непредсказуемы - вплоть до потери ин- *** формации на HDD. ***************************************************************** Предварительно убедитесь что на диске для swap-a будет доста- точно места. (Каждая записанная игра для случая # 45 NumLock 02 1 ! 13 R 24 J 35 / ? 46 ScrollLock 03 2 @ 14 T 25 K 36 Shft(Rt) 47 Home [7] 04 3 # 15 Y 26 L 37 * PrtSc 48 Up [8] 05 4 $ 16 U 27 ; : 38 Alt 49 PgUp [9] 06 5 % 17 I 28 " ' 39 spacebar 4a Grey - 07 6 ^ 18 O 29 ` ~ 3a CapsLock 4b Left [4] 08 7 & 19 P 2a Shft(L) 3b F1 4c [5] 09 8 * 1a [ { 2b \ | 3c F2 4d Right [6] 0a 9 ( 1b ] } 2c Z 3d F3 4e Grey + 0b 0 ) 1c Enter 2d X 3e F4 4f End [1] 0c - _ 1d Ctrl 2e C 3f F5 50 Down [2] 0d + = 1e A 2f V 40 F6 51 PgDn [3] 0e bksp 1f S 30 B 41 F7 52 Ins [0] 0f Tab 20 D 31 N 42 F8 53 Del [.] 10 Q 21 F 32 M 43 F9 57 F11 11 W 22 G 33 , < 44 F10 58 F12 ────────────────────────────────────────────────────────────────────