Разработка и ромхакинг > Ромхакинг и программирование
[NES] Учебник по ромхакингу
<< < (8/13) > >>
DendyJunior3:

--- Цитата: ALXR от 29 Сентябрь 2016, 00:39:08 ---Если на вход будет подано 0, то цикл выполнится куда больше, чем 0 раз.

--- Конец цитаты ---
Ты ж писал, что подается от 1 до 4
ALXR:

--- Цитата: DendyJunior3 от 29 Сентябрь 2016, 01:52:14 ---Ты ж писал, что подается от 1 до 4

--- Конец цитаты ---

Неправильно твой вопрос прочитал  :blush:
CaH4e3:

--- Цитата: lancuster от 28 Сентябрь 2016, 23:50:33 ---Нафиг писать "ниббл", если и так видно, что это означает? :)

--- Конец цитаты ---
и что это означает, расскажи нам

Добавлено позже:

--- Цитата: DendyJunior3 от 29 Сентябрь 2016, 01:52:14 ---Ты ж писал, что подается от 1 до 4

--- Конец цитаты ---

--- Цитата: ALXR от 29 Сентябрь 2016, 13:06:19 ---Неправильно твой вопрос прочитал  :blush:

--- Конец цитаты ---
вообще там не подается 1, только от 2 до 4 хех (ДА, У МЕНЯ ЕСТЬ УЖЕ ДИЗАСМ ЭТОЙ ИГРЫ ЛОЛ)
DendyJunior3:

--- Цитата: CaH4e3 от 30 Сентябрь 2016, 22:00:28 ---ДА, У МЕНЯ ЕСТЬ УЖЕ ДИЗАСМ ЭТОЙ ИГРЫ ЛОЛ
--- Конец цитаты ---
ты уже приписал свое имя к копирайтам лол?
CaH4e3:
да, а что?
lancuster:
А то, что ты - пират, лолъ. :D
CaH4e3:
и снова искрометный юмор от гуру стэндапа ланкустера
* CaH4e3 сыто лолкает
lancuster:
* CaH4e3 сыто лолкает, поедая говно. Лолъ :D
CaH4e3:
дада, продолжай плясать, смешная говорящая голова, вдруг хаки начнут получаться (на самом деле нет) лол
lancuster:
Это только твоя смешная голова так думает. Остальные так не считают. :P
Maximum:
Переименуйте уже тему в "Санчез и Ланкастер: Противостояние"  :D
lancuster:
Нет-нет. Вернемся к теме. Скоро напишу ещё один урок. Кому не надо - валите мимо. ;)
Mefistotel:
Ещё статья попалась из журнала хакер:
https://xakep.ru/2014/10/19/start-romhaking/
CaH4e3:

--- Цитата: Mefistotel от 02 Октябрь 2016, 05:42:08 ---Ещё статья попалась из журнала хакер:
https://xakep.ru/2014/10/19/start-romhaking/

--- Конец цитаты ---

--- Цитата ---пойнтерами (разделители текста)
--- Конец цитаты ---
уровень компетентности авторов хакера всегда славился своей недосягаемостью лол дальше этой фразы можно, впринципе, уже не читать
lancuster:
Разделители текста? Ха! А я-то всегда думал, что это указатели. :)
lancuster:
Если кому нужно - вот ещё урок:
[NES Ромхакинг] Урок № 5: Использование Game Genie кодов в ромхакинге и создание своих собственных GG кодов
В данном мини-уроке мы с вами рассмотрим, как можно использовать Game Genie (коды обмана) для взлома игр.
О том, что же такое Game Genie, наверное, вам рассказывать не стоит. Все мы играли в консольные игры на эмуляторы, доставали читы из Интернета и вставляли их в специальное окно, чтобы включить их в игру и получить желаемый результат. Ну, а для тех, кто не в курсе – я вкратце поясню. Game Genie (коды обмана) – это код, состоящий из 6 или 8 букв, в котором зашифрован адрес байта, который заменяется на указанный в этом же коде. Пример: SXSLUOVK - 39D3?CE:AD. Вставив код обмана и активировав его в эмуляторе, вы получите нужный эффект незамедлительно.
Но если эти коды можно использовать для временного эффекта – почему бы их не внедрить непосредственно в ром, чтобы иметь возможность играть во взломанный ром на любом эмуляторе или даже на приставке?.. Разумеется, мы так и поступим, правда? В таком случае предлагаю вам один очень интересный и, на мой взгляд, самый полезный ресурс для любого новичка в ромхакинге – GameHacking.Net. На нём собраны коды к большинству популярных консолей. И что самое главное – коды к ним добавляют такие же геймеры-любители, как и мы с вами, так что если захотите помочь ресурсу с наполнением страниц новыми рабочими кодами – можете зарегистрироваться на нём и помочь его облагородить.
Чтобы найти коды для нужной вам игры, переходим по адресу: gamehacking.org/?sys=nes (откроется страница со списком NES игр), где выбираем заглавную букву вашей игры и затем ищем её в списке. В данном случае рассмотрим такую игру, как «Чип и Дейл спешат на помощь»: gamehacking.org/game/29235 . У меня лично вот такой файл в наличии: Chip_'n_Dale_Rescue_Rangers_(U)_[!].nes (хотя это не столь важно, главное – чтобы регион совпадал). Заходим на страницу, видим кучу кодов, среди которых есть и ранее невиданного вами типа RAW. «Что они обозначают, как ими пользоваться?» - спросите вы. Отвечу: на сайте представлены коды трёх типов – GENIE, RAW и PAR. Что такое GENIE, вы, наверное, уже догадались. RAW (от англ. «raw» - «сырой») – в буквальном смысле «сырой код». Если вы читали мои предыдущие статьи, то вы, скорее всего, поймёте, что указанный код RAW – это адрес переменной во временной памяти эмулятора. Рядом указано значение, которое необходимо ввести в RAM памяти, чтобы получить эффект, указанный в описании чита (к каждому коду есть своё описание, но только на английском языке). Собственно, это всё равно, что кто-то уже нашёл переменные за вас, и вам нужно только сделать бряк и найти значение в ROM, чтобы заменить его на указанное. PAR (Pro Action Rocky) – аналог RAW, но в библиотеке чит-кодов для NES он не встречается, так что его рассматривать не будем (его можно встретить в списках читов к более мощным консолям).
А теперь – краткий ликбез для тех, кто плохо понимает английский:
1-Hit Kill Bosses – убийство боссов с одного удара
Always Have или Always Start With – Всегда иметь / Всегда стартовать с указанным предметом, жизнями и пр..
Jump In Mid-Air – прыгать в воздухе (бесконечные прыжки)
Infinite Lives – бесконечные (неопределённые) жизни
Infinite Health/Energy – бесконечное здоровье/энергия
Invincibility/Invulnerability – бессмертие/неуязвимость
Level/Stage Modifier – выбор уровня
Walk Thru Walls/Enemies – ходить через стены/врагов
… Остальное и так понятно. 
Как встраивать Game Genie в игру:
Берём любой понравившийся код со страницы, указанной выше. Например, вы хотите, чтобы в игре поверх ящиков отображалось их содержимое. В таком случае берите чит под названием X-Ray Vision (alt), код: ENSEXLEI. Копируете код, запускаете Chip 'n Dale Rescue Rangers на эмуляторе FCEUX 2.2.3 и затем заходите в Debug->Game Genie Encoder/Decoder. В появившемся окне вводите данный код в форму Game Genie Code:


Можете вводить вручную и с маленькой буквы (регистр не учитывается) – главное, чтобы код вводился вами без ошибок. Как только код будет полностью вами введён (или вставлен) – утилита сама напишет вам прямой путь на необходимое значение в ROM памяти. Нажав дважды на строчку в Possible Affected Address, вы попадёте прямо на нужное значение, которое вам нужно поменять. В окошке Game Genie Encoder/Decoder Value означает текущее значение в роме, а Compare (сравнение) – значение, на которое вам его нужно поменять. И как только вы это сделаете, и игра прочитает данные изменения – результат будет виден сразу:


Как видите, ничего сверхсложного в этом нет. Хочу ещё отметить, что коды с шестью буквами вместо восьми дают не всегда стабильный и не всегда правильный эффект, поскольку вставляют одно и то же значение в несколько мест, так что встраивать их в игру я не рекомендую, потому как ром можно запороть.
… Ну, и напоследок я бы хотел показать вам, каким образом получаются эти самые Game Genie. У нас уже есть готовый код… что нам делать дальше? Ищем в Интернете прогу под названием Game Genie Converter. Открыв её, выбираете пункт NES, затем вставляете имеющийся код в верхнее поле, как показано на картинке:


Таким образом, вы увидели GG код в расшифрованном виде. В Hex Code указан код в RAM (тот, что вы получаете после срабатывания брейкпоинта), далее идут всё те же – текущее и новое значение. Ниже располагается Instruction – инструкция машинного кода. Ранее я уже упоминал некоторые из них: DEC – DECREASE, INC – INCREASE, CMP – COMPARE, NOP - NOPE.
Собственно говоря, это всё, что вам нужно знать о создании и применении Game Genie в ромхакинге. Благодарю за внимание! ;)
neoborg:
lancuster,  :thumbup:
Kinbeas:
lancuster, полезная вещь. Даже странно, что ты на базе этого мало что посоздавал. ))
lancuster:
Дык я не пират. :D
neoborg:
готово около 50%  :D
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии