| Разработка и ромхакинг > Ромхакинг |
| ПОМОЩЬ: хакнуть 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:
--- Цитата ---Мне нужна помощь нахождения значений в игре, типа: жизни боссов, скорость движения врага, поведение оружия игрока и т.д. --- Конец цитаты --- Так же и ищется как жизни, патроны и т.д...находишь адрес ставишь бряк в отладчике на этот адрес, ну смотришь\реверсиш код где брякнуло. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |