Разработка и ромхакинг > Ромхакинг и программирование
Pirates of Dark Water
(1/1)
japanbonnie:
Здравствуйте,скажите пожалуйста как мне сохранить измененный ром с кодом на бессмертие? значение нашел оно работает а вот в HEX искал не могу найти. Вот оно FF0F67 -6160 Значение на бессмертие. Мне надо ром сохранить с этим значением чтоб включил игру и там уже  бессмертие было изначально.
Ximial:
Это как завершённое - не факт. Изменение может быть не однозначно по ПЗУ рома, оно может быть в задействованном RAM-е программы через что может модифицироваться работа рома.

Добавлено позже:
В RAM-е эмулятора может быть поддубликат ПЗУ рома в том числе.
japanbonnie:
Как это узнать?  я новичок   просто. И если это так как взломать чтоб изменения всегда были?
paul_met:

--- Цитата: japanbonnie от 15 Ноябрь 2018, 17:28:38 ---Как это узнать?  я новичок   просто. И если это так как взломать чтоб изменения всегда были?

--- Конец цитаты ---
Для этого нужно уметь программировать под процессор. Читай документацию и учи ассемблер процессора консоли. Ну а также нужно уметь работать с отладчиком.
japanbonnie:
Нее ради  того чтоб поиграть на  приставке  с паролем столько  учить не спасибо) я понимаю там софт  дали бы и  сказали что делать, а   это перебор для меня)
Я  всего лишь попросил как мне изменить данные  и сохранить ром)
paul_met:

--- Цитата: japanbonnie от 15 Ноябрь 2018, 18:23:16 ---Я  всего лишь попросил как мне изменить данные  и сохранить ром)
--- Конец цитаты ---
Это не настолько "всего лишь", как тебе кажется. Нужно отследить откуда берётся нужное тебе значение, которое записывается по данному адресу. И в таком ключе до тех пор, пока не найдёшь константу.
krocki:
1. Коды есть здесь или здесь
2. GameGenieConverter.
3. Любой НЕХ-Редактор.
japanbonnie:

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

--- Цитата: krocki от 15 Ноябрь 2018, 19:01:53 ---1. Коды есть здесь или здесь
2. GameGenieConverter.
3. Любой НЕХ-Редактор.

--- Конец цитаты ---
Спасибо)

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

--- Цитата: japanbonnie от 15 Ноябрь 2018, 20:35:33 ---
Добавлено позже: Спасибо)

--- Конец цитаты ---
Я через поиск в Hex редакторе нахожу меняю  сохраняю и ничего? может что-то не то делаю?
krocki:
По шагу опиши что делаешь?...там поправим где неправильно. :neznayu:
japanbonnie:
1 Открываю WinHex
2 игру открываю в WinHex
3 ищу данные с того сайта нашел    00FB24:4E75 поменял 4E75 на 6160   

krocki:
В редакторе нех утя должно быть по смещению 00FB24 - 6160 и меняешь его на 4E75
С вторым адресом так же делаешь, меняешь на 6006
japanbonnie:
А вот этот адрес? я вот  ввел game genie 96HT-ATDW  а вот тут что менять мне надо чтоб бессмертие заработало? на какие значения

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

--- Цитата: japanbonnie от 15 Ноябрь 2018, 23:51:38 ---А вот этот адрес? я вот  ввел game genie 96HT-ATDW  а вот тут что менять мне надо чтоб бессмертие заработало? на какие значения

--- Конец цитаты ---
Там было по дефолту  4E75  это уже  я поменял на 6160
krocki:
Короче вот я сделал GG для рома версии (U)...будем брать от базового к текущему значению здоровья.
При прокачке у нас жизни что бы не просто стоял счётчик на одном месте как замороженный.
Бессмертие: 2X8T-BGS4
походу там есть прокачка перса, раз полоска здоровья не полная.

Значение здоровья = 71 в начале игры...
Текущий адрес здоровья в памяти = FF0F66
Базовый адрес здоровья в памяти = FF0F6A

Ставим бряк на чтение в отладчике на базовый адрес, переходим в ром и смотрим где брякает в отладчике...

Методы изменения кода чтения на запись...
13С4 - запись по адресу из регистра D4 (Малая часть регистра).
23С4 -  запись по адресу из регистра D4 (Средняя часть регистра).
33С4 -  запись по адресу из регистра D4 (Полная часть регистра).

Прямая запись по адресу из регистра.
13 - это 1 байт
23 - это два байта
33 - это 4 байта

C0 - C7 это регистр от нуля до семи.
p_star:
Есть прога, которая к РОМу применяет GG кды раз и навсегда GameGenieGuy называется

https://www.romhacking.net/forum/index.php?topic=17595.0
japanbonnie:

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

--- Цитата: krocki от 16 Ноябрь 2018, 04:15:13 ---Короче вот я сделал GG для рома версии (U)...будем брать от базового к текущему значению здоровья.
При прокачке у нас жизни что бы не просто стоял счётчик на одном месте как замороженный.
Бессмертие: 2X8T-BGS4
походу там есть прокачка перса, раз полоска здоровья не полная.

Значение здоровья = 71 в начале игры...
Текущий адрес здоровья в памяти = FF0F66
Базовый адрес здоровья в памяти = FF0F6A

Ставим бряк на чтение в отладчике на базовый адрес, переходим в ром и смотрим где брякает в отладчике...

Методы изменения кода чтения на запись...
13С4 - запись по адресу из регистра D4 (Малая часть регистра).
23С4 -  запись по адресу из регистра D4 (Средняя часть регистра).
33С4 -  запись по адресу из регистра D4 (Полная часть регистра).

Прямая запись по адресу из регистра.
13 - это 1 байт
23 - это два байта
33 - это 4 байта

C0 - C7 это регистр от нуля до семи.

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

А напиши софт пожалуйста для этого)) буду пробовать хоть и новичок но, интересно

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

--- Цитата: p_star от 16 Ноябрь 2018, 08:18:44 ---Есть прога, которая к РОМу применяет GG кды раз и навсегда GameGenieGuy называется

https://www.romhacking.net/forum/index.php?topic=17595.0

--- Конец цитаты ---
Спасибо
krocki:

--- Цитата: japanbonnie от 16 Ноябрь 2018, 13:19:47 ---А напиши софт пожалуйста для этого)) буду пробовать хоть и новичок но, интересно
--- Конец цитаты ---
Вот держи...
japanbonnie:
Спасибо вам ребята, я решил проблему с помощью программы которая сама код внедряет, если что напишу на форум)
Навигация
Главная страница сообщений

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