| Разработка и ромхакинг > Ромхакинг и программирование |
| Как создавать Game Genie Codes при помощи IDA PRO |
| (1/1) |
| krocki:
Подскажите как находить коды на бес.жизни или патроны при помощи IDA PRO. Объясните на примере любой игры Sega Genesis. Желательно со скриншотами чтобы было более понятно чё и как. |
| Segaman:
изучай ром-хакинг и бог в помощь. жесть :wall: а собственно зачем тебе? |
| MetalliC:
krocki, для начала нужно выучить ассемблер процессора Motorola 68000, скриншотов как я сижу и читаю .pdf наснимать ? :D |
| krocki:
Segaman просто раньше я делал тренеры для PC игр. Теперь хочется в нех кодах покапаться по внедрению их в игр но сначало начал в ram ковыряться как говорится начал с более лёгкого. Ну и конечно подучить ассемблер по лучше... Мне интересно ведь Эмулятор отдельно и игра отдельно практически это тоже самое наверно как искать коды в модуле как ПК игр. Кстати ..........MetalliC........А чё в Consoles играх есть какоето отличие в ассемблере Motorola 68000 :), и если есть скриншоты загрузи сюда чтобы посмотреть. |
| Smoke:
Зачем IDA? Берем эмуль с функцией поиска кодов, например этот. И пользуемся. Объяснять как с этой функцией работать, я думаю не требуется? |
| gepar:
--- Цитата: krocki ---А чё в Consoles играх есть какоето отличиев ассемблере Motorola 68000 --- Конец цитаты --- Ассемблер - ассемблеру рознь, конечно есть отличия. Да и зачем тебе IDA PRO, это более для профессионалов, почти в каждом эмуляторе есть простенькая утилита для поиска gg кодов. |
| iddqd:
krocki, gamehacking.org. Куча всего, но на английском. |
| MetalliC:
--- Цитата: krocki ---Кстати ..........MetalliC........А чё в Consoles играх есть какоето отличиев ассемблере Motorola 68000 , и если есть скриншоты загрузи сюда чтобы посмотреть. --- Конец цитаты --- ну, если асм моторолы знаешь - уже что-то. в иде - File - new - various files - binary/raw file - указываем ром - Processor Selection: Motorola 68000, и всё, можно еще RAM-секцию создать FF0000-FFFFFF |
| krocki:
....gepar.... находить par коды легко, особенно спомощью артмоней, а вот через Ассемблер искать инструкцию котроая работает с нужным адресом будет по сложнее ну и перевести асм в нех и в шить в игру. Хочу спросить (MetalliC) ты взломал уже какуюнибуть игру через IDA PRo. Да кстати когда нопил(nop) PC игры использовались 90 для замораживания инструкции, а вот На эмуле Сега генесис значения для заморозки выгледит подругому в нех"е (то есть она делает прижок на ноп или как...) |
| MetalliC:
--- Цитата: krocki ---....gepar.... находить par коды легко, особенно спомощью артмоней, а вот через Ассемблер искать инструкцию котроая работает с нужным адресом будет по сложнее ну и перевести асм в нех и в шить в игру. --- Конец цитаты --- можно совместить приятное с полезным, через что-то артмани-подобное найти адрес например с кол-вом жизней, далее запустить эту игру под эмулятором с отладчиком, RegenD например, и поставить точку останова на чтение или запись этой ячейки. --- Цитата: krocki ---Хочу спросить (MetalliC) ты взломал уже какуюнибуть игру через IDA PRo. --- Конец цитаты --- при помощи иды разбирал принципы работы всяческих неизвестно-как-устроеных-внутри железяк, в основном успешно, но вот именно поиском читов для СМД-игр не страдал, как-то не интересно ;) --- Цитата: krocki ---Да кстати когда нопил(nop) PC игры использовались 90 для замораживания инструкции, а вот На эмуле Сега генесис значения для заморозки выгледит подругому в нех"е (то есть она делает прижок на ноп или как...) --- Конец цитаты --- процессоры же разные очень, коды соответственно тоже, NOP у моторолы - 0x4e71 я надеюсь ты в курсе что у интелов и моторол данные по разному хранятся ? LSB-first у интела, и MSB-first у моторов. |
| krocki:
...MetalliC... Спасибо!!! ^_^ Теперь понятно кое-что. Незнал что есть эмуляторы с отладчиками....Интересно. :? Как говорится надо продвигаться в асм и изучать что-то новое в хаке. :D Добавлено позже: Напише по подробней о RegenD Как это делается а то там много чего. Где оставить точку останова на чтение или запись ячейки. Тоесть где ствить бряк. |
| MetalliC:
да там оно вроде интуитивно - Tools - 68000 Debugger - в левой нижней части окна можно поставить 5 штук бряков на чтение/запись/выполнение, или в самом низу на диапазон адресов |
| krocki:
Где Address Breakpoints И Address range. а и дальше что делать. |
| MetalliC:
да как бы очевидно, через game-genie штуки находишь адрес, потом в Address Breakpoints его прописываешь, ставишь галку например Write, выходишь из отладчика - игра пойдет работать, и брякнется при записи в эту ячейку |
| iddqd:
krocki, в ArtMoney ПКМ на любом адресе из таблиц для Сеги с офсайта - Изменить. Покажут адрес RAM приставки (эмуляторный адрес). Только учти что эмулятор Kega Fusion, а также Mednafen в режиме SMD используют перевернутый порядок байтов. |
| krocki:
Всё вроде получилось.... Заморозка значения тоесть ты написал 0x4e71. я прописал в игре (нех) Проблема: код работает.............но есть глюк небольшой с графикой. Это единственная заморозка или есть ещё значения другое типа для нопа чтобы небыло глюка с графикой. Если есть то как их искать. ^_^ |
| MetalliC:
nop он и в африке nop, других у м68к вроде нет, видно ты что-то нужное отрубил. PS: в продолжение предыдущего поста, совместно с дебагером оч.удобно использовать иду. так как отладчики обычно предоставляют достаточно спартанский интерфейс, так что обычно через них ищу участки кода которые читают/пишут куда надо, а сам код уже изучаю в ида про. |
| krocki:
Да есть ещё одна вещь котороя встречается на Примере игр. Например я нашёл адрес жизней прописал в нехе у меня не кончаются жизни но и упративника тоже не кончаются жизни, как побороть чтоб упративника кончались а у меня не кончались... на Пк играх когда я лепил скрипт для тренеров то я делал прижок и искал указатели. А как здесь это делать? |
| iddqd:
krocki, здесь нужно использовать обычную заморозку по таймеру в случае с ArtMoney, не нужно заменять команду на NOP. Вообще указатели могут встретиться даже в играх Nes и SNES, очень редко - таких игр наверное единицы (может РПГ на SNES). Сам ни одной такой не знаю - просто читал gamehacking.org:) |
| Навигация |
| Главная страница сообщений |