Разработка и ромхакинг > Ромхакинг
ПОМОЩЬ: хакнуть ROM Sega Genesis!
<< < (2/3) > >>
ZXAWFD:

--- Цитата: blackoff от 01 Февраль 2018, 12:26:20 ---смещение нужно вычислять ,я не особо по ромам ,возможно распаковывает ,расшифровывает ,я хз
бряк(брекпоинт) ставишь на ячейку памяти например ,на запись или чтение и при чтен или записи будет стопориться процесс (пауза) ,по идее можно отследить где процедура записи\чтения в эту ячейку находиться и сам процесс изучить ...

--- Конец цитаты ---
Примерно понял. Буду пробовать.

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

--- Цитата: blackoff от 01 Февраль 2018, 12:27:14 ---а отсеивать не пробовал лишние значения?

--- Конец цитаты ---
Ну смотри, допустим у врага 100 ХП. В 16-ричном коде, это 0064. Вот Я ищу данное значение во всём роме. Нахожу около 100-500 вариков. И вот, как мне понять, какой один из них?  :lol: Пока Я тупо меняю по 10шт и запускаю ром. Если произошло изменение, значит, это один из этой десятки.
blackoff:
ща по моему в ютюбе на каждый "чих" есть лекарство ,даже как сопли вытирать правильно =)))
yur:
чтобы не запутаться начинай с самых простых значений, к примеру - попытки, монеты или деньги, кол-во патронов
далее время и т.д. и т.п. ...
ZXAWFD:

--- Цитата: blackoff от 01 Февраль 2018, 12:32:58 ---ща по моему в ютюбе на каждый "чих" есть лекарство ,даже как сопли вытирать правильно =)))

--- Конец цитаты ---
:lol:
blackoff:

--- Цитата: ZXAWFD от 01 Февраль 2018, 12:29:00 ---Ну смотри, допустим у врага 100 ХП. В 16-ричном коде, это 0064. Вот Я ищу данное значение во всём роме. Нахожу около 100-500 вариков. И вот, как мне понять, какой один из них?
--- Конец цитаты ---
у врага 100 ищешь ,потом чуток сбиваешь его хп ,вписываешь новое значение ,отсеиваешь по новому значению и так пока не останется ,совсе чуток ,(в идеале 1) значение
ZXAWFD:

--- Цитата: yur от 01 Февраль 2018, 12:33:12 ---чтобы не запутаться начинай с самых простых значений, к примеру - попытки, монеты или деньги, кол-во патронов
далее время и т.д. и т.п. ...

--- Конец цитаты ---
Простое давно готово. Это было не сложно. Сложно, когда нет стартовых значений. А еще сложнее, когда значение вообще не меняется.
yur:

--- Цитата: ZXAWFD от 01 Февраль 2018, 12:29:00 ---роизошло изменение, значит, это один из этой десятк
--- Конец цитаты ---

--- Цитата: ZXAWFD от 01 Февраль 2018, 12:29:00 ---Примерно понял. Буду пробовать.

Добавлено позже:Ну смотри, допустим у врага 100 ХП. В 16-ричном коде, это 0064. Вот Я ищу данное значение во всём роме. Нахожу около 100-500 вариков. И вот, как мне понять, какой один из них?  :lol: Пока Я тупо меняю по 10шт и запускаю ром. Если произошло изменение, значит, это один из этой десятки.

--- Конец цитаты ---
далее ищешь значение "изменилось" или "уменьшилось" или "увеличилось" или "не изменилось" - оч похоже на поиск в artmoney
ZXAWFD:

--- Цитата: blackoff от 01 Февраль 2018, 12:34:34 ---у врага 100 ищешь ,потом чуток сбиваешь его хп ,отсеиваешь по новому значению и так пока не останется ,совсе чуток ,(в идеале 1) значение

--- Конец цитаты ---
Это Ты мне говоришь про ENGINE. Но ведь в самом РОМЕ не происходят данные изменения. Я так и делаю, нахожу в итоге значение (ХП врага) и начинаю рыть в РОМЕ. ENGINE может и показывает откуда он берёт значения из РОМА, но Я не имею понятия, где это смотреть или выслеживать.

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

--- Цитата: yur от 01 Февраль 2018, 12:36:36 ---далее ищешь значение "изменилось" или "уменьшилось" или "увеличилось" или "не изменилось" - оч похоже на поиск в artmoney

--- Конец цитаты ---
Это Ты про ENGINE. В РОМЕ не происходят изменения.
ZXAWFD:

--- Цитата: yur от 01 Февраль 2018, 12:38:40 ---естественно поиск происходит в памяти игровой консоли

--- Конец цитаты ---
:lol:
Ну так мне в итоге-то надо изменить в РОМЕ, чтобы моё значение осталось с концами в игре.
yur:

--- Цитата: yur от 01 Февраль 2018, 12:38:40 ---естественно поиск происходит в памяти игровой консоли.
далее в отладчике (debugger) ставишь "бряк" на запись в найденный адрес и смотришь код уменьшения значения для данного адреса, если нашёл то ставишь код NOP - но для сеги я не помню как он выглядит в шеснадцатиричном виде

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

да и естественно код прописывается в роме
blackoff:

--- Цитата: ZXAWFD от 01 Февраль 2018, 12:40:55 ---Ну так мне в итоге-то надо изменить в РОМЕ
--- Конец цитаты ---
по идее нужно изменить код который изм ячейку ... фиг знает как тут ,я максимум на спеке хакал в молодости и недавно немного в psxida чудил на широкоформат ...
нужно проследить какой код меняет ячейку и что то с ним сделать ,топорный варик затереть нулями (не уверен) ,в общем делать так что бы значение в ячейке не менялось
ZXAWFD:
Всем спасибо, кто отвечал. Работаю дальше)  :wall:
blackoff:
там в енджине есть трассировка ,можно найти код который обращается\записывает в эту ячейку ,
ZXAWFD:

--- Цитата: blackoff от 01 Февраль 2018, 12:52:52 ---там в енджине есть трассировка ,можно найти код который обращается\записывает в эту ячейку ,

--- Конец цитаты ---
Где смотреть?
blackoff:
проще всего найти потом это в роме (если он как есть в памяти)  выделить несколько байт рядом и потом в Hex найти эту последовательность
ZXAWFD:

--- Цитата: blackoff от 01 Февраль 2018, 12:55:24 ---проще всего найти потом это в роме (если он как есть в памяти)  выделить несколько байт рядом и потом в Hex найти эту последовательность

--- Конец цитаты ---
В памяти и в РОМЕ адреса и значения отличаются. Пока не догоняю.
blackoff:

--- Цитата: ZXAWFD от 01 Февраль 2018, 12:57:45 ---адреса и значения отличаются
--- Конец цитаты ---
адреса то понятно,нужно смещение вычислять (выше написал как проще) ,значения устанавливаются возможно в процессе ,
paul_met:
Возня с CE - это несерьёзно. Надо учить инструкции ЦП мегадрайва, брать дебаггер и отслеживать все изменения в нём. Ибо толку особого не будет, если ты нашёл нужное значение в CE, но не знаешь как оно формируется. Повезёт, если оно, как говориться, захардкодено.
ZXAWFD:

--- Цитата: paul_met от 01 Февраль 2018, 13:57:26 ---Возня с CE - это несерьёзно. Надо учить инструкции ЦП мегадрайва, брать дебаггер и отслеживать все изменения в нём. Ибо толку особого не будет, если ты нашёл нужное значение в CE, но не знаешь как оно формируется. Повезёт, если оно, как говориться, захардкодено.

--- Конец цитаты ---
Ты прав. По изучать мне нужно конечно.
krocki:

--- Цитата ---Мне нужна помощь нахождения значений в игре, типа: жизни боссов, скорость движения врага, поведение оружия игрока и т.д.
--- Конец цитаты ---
Так же и ищется как жизни, патроны и т.д...находишь адрес ставишь бряк в отладчике на этот адрес, ну смотришь\реверсиш код где брякнуло.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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