Разработка и ромхакинг > Ромхакинг и программирование
Ромхакинг. С чего начать ?
<< < (16/18) > >>
Yaranga:

--- Цитата: KAPRAL ---Прочёл весь форум так и не понял КАК открыть ром что-бы увидеть все спрайты и карты игры.
--- Конец цитаты ---
Так ведь у каждой игры всё по разному сделано. И учитывая, когда именно это сделано, единого рецепта для всех игр нет и не может быть...
paul_met:

--- Цитата: KAPRAL ---Прочёл весь форум так и не понял КАК открыть ром что-бы увидеть все спрайты и карты игры.
--- Конец цитаты ---

Такое могут вытворять только специализированные проги для отдельной игры (или определённого количества игр). Взять хотя бы CadEditor
Rumata:
Такие картинки получаются путём склейки скриншотов, полученных в эмуляторе
А прямо в РОМе ты этого не увидишь никогда. Есть маленькие картинки (тайлы), из которых строится изображение и есть карта тайлов, которая описывает их взаимное расположение. И всё.
paul_met:
Пришлось-таки столкнуться с DTE (рано или поздно). Для редактировани текста в ромах/файлах обычно пользуюсь WindHex, но там обнаружил весьма странную комбинацию клавиш для активации ввода в DTE (alt+tab). Нонсенс конечно.
В общем хакнул экзешник и поменял на Ctrl+tab. Прикрепил экзешник, авось пригодится кому.
sinicum:
Хм-м.. прога WindHex незаслуженно непопулярна. MTE плюс японский понимает как и Traslhextion, но есть и тайловый редактор. В общем, тоже попробую заюзать.   / чё-то не грузит палитры из *.zst / странно, почему-то в её справке она названа WinHex'ом /

Для сравнения нужно упомянуть мультиредактор SNESEdit http://www.romhacking.net/utilities/216/
pedro:

--- Цитата: pedro от 23 Май 2014, 23:41:57 ---нужна небольшая помощь с графикой. кто сможет посмотреть прикрепленные файлы?
никак не выходит привести их в нормальный для отображения вид :neznayu:
а выглядеть они должны как в окошке эмулятора, запечатленного внизу скрина



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

--- Цитата: paul_met от 24 Май 2014, 16:36:30 ---Такое ощущение, что картинка неправильно распакована. Какой-то мусор местами. Будто пиксели не на своих местах.

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

похоже на то. попробовал нарисовать 1 лишнюю точку, в итоге:

прикрепил сжатые файлы. кто узнает, чем пожаты? :)
monstr888:

--- Цитата: Smoke от 25 Июль 2009, 17:26:45 ---zrpodr, с того же о чем я и писал. Хекс-редактор и граф.редактор -- это минимум. Может свои какие самописные проги используют для удобства, может IDA Pro, дебаггеры какие для просмотра и отладки. Но основа одна и та же. А я как пишу МК2 без редактора для МК2, а как Кабал пишет? :)

--- Конец цитаты ---
Вопрос к профессиональным ромхакерам, к Smoke и Kabal, да и всем остальным, кто уже хорошо понимает в ромхакинге.
Возможно ли, имея необходимые знания и навыки, проделать следующие вещи.
К примеру, в игре есть какой-нибудь предмет. Можно из кода узнать, где он может быть применён и при каких условиях? Реально это понять из дизассемблированного кода? Или в игре есть какой-нибудь сундук, можно ли из дизассемблированного кода найти места расположения всех таких сундуков в игре?
perfect_genius:
monstr888, возможно всё.
Например, можно наткнуться на массив искомых предметов.
Лучше дай название игры, может сможем показать.
Smoke:

--- Цитата: monstr888 ---Вопрос к профессиональным ромхакерам, к Smoke и Kabal, да и всем остальным, кто уже хорошо понимает в ромхакинге. Возможно ли, имея необходимые знания и навыки, проделать следующие вещи.К примеру, в игре есть какой-нибудь предмет. Можно из кода узнать, где он может быть применён и при каких условиях? Реально это понять из дизассемблированного кода? Или в игре есть какой-нибудь сундук, можно ли из дизассемблированного кода найти места расположения всех таких сундуков в игре?
--- Конец цитаты ---

Можно
monstr888:

--- Цитата: SUPER_ROBOT от 28 Июнь 2014, 19:57:53 ---monstr888, возможно всё.
Например, можно наткнуться на массив искомых предметов.
Лучше дай название игры, может сможем показать.

--- Конец цитаты ---
Вообще интересует игра на playstation 2 "Mortal Kombat Deception". Но прекрасно понимаю, что там в миллионы раз больше кода и сложнее будет. Просто в игре есть предметы, которые не нашёл, куда применить. И на gamefaqs тоже никто толком не знает, для чего они нужны.
Также интересует игра на gameboy advance под названием "Final Fantasy 5 Advanced". В игре куча сундуков, игра достаточно долгая для прохождения (с полным выбором сундуков и всеми квестами). В игре есть место, где старик говорит тебе кое-какие параметры, включая процент собранных сундуков. Так вот, исследовал всё, что можно - нашёл 98% сундуков. Где ещё 2% - ума не приложу. Хотелось бы в коде это подглядеть. Их координаты. Хотя думаю - для этого мне придётся много учиться.

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

--- Цитата: SUPER_ROBOT от 28 Июнь 2014, 19:57:53 ---monstr888, возможно всё.
Например, можно наткнуться на массив искомых предметов.
Лучше дай название игры, может сможем показать.

--- Конец цитаты ---
Интересует именно само местонахождение сундуков с предметами, а не правка в хекс-редакторе сейвов с тем, чтобы они оказались взятыми. Хочется прийти в игре в те места и взять эти сундуки.
SILENT_Pavel:

--- Цитата: monstr888 от 29 Июнь 2014, 16:10:44 ---Также интересует игра на gameboy advance под названием "Final Fantasy 5 Advanced". В игре куча сундуков, игра достаточно долгая для прохождения (с полным выбором сундуков и всеми квестами). В игре есть место, где старик говорит тебе кое-какие параметры, включая процент собранных сундуков. Так вот, исследовал всё, что можно - нашёл 98% сундуков. Где ещё 2% - ума не приложу. Хотелось бы в коде это подглядеть. Их координаты. Хотя думаю - для этого мне придётся много учиться.
--- Конец цитаты ---
возможно не понадобится, погляди тут:
http://gamehacking.org/?game=4579
тут очень много экзотических кодов вроде прохождения сквозь стены и прочее, все это можно вбить в визуал бой эмулятор без проблем.
monstr888:

--- Цитата: SILENT_Pavel от 29 Июнь 2014, 16:20:50 ---возможно не понадобится, погляди тут:
http://gamehacking.org/?game=4579
тут очень много экзотических кодов вроде прохождения сквозь стены и прочее, все это можно вбить в визуал бой эмулятор без проблем.

--- Конец цитаты ---
Заглянул на сайт. Действительно много разных кодов: бессмертие, получение максимального уровня, всех умений и т.д. Но по сундукам не нашёл решения.
Объясните, хотя бы на простых словах, как надо искать. К примеру, я пришёл поболтать со стариком. В момент, когда он сообщает, сколько у меня процентов собрано, видимо нужно посмотреть участок кода, где эти проценты проверяются? Так? Можно выйти на переменную, хранящую эти данные. А что дальше можно и нужно сделать. Как узнать все адреса, с которых в эту переменную заносятся (пополняются) взятые сундуки?
perfect_genius:
В GBA ещё не приходилось ковыряться, поэтому попробуем вслепую.
Как ты и написал, находим в памяти число сундуков. Ну и разбираемся откуда туда добавляется.
Раз в процентах, значит должны существовать 2 числа - количество всех существующих сундуков и количество найденных тобой. Изменяется количество найденных, вот на него и ставишь бряк.
Наверно, в сохранениях есть бит на каждый "уровень", отрезок карты - найден ли сундук или нет. Изучишь его - узнаешь на каких "уровнях" оставил. Потом найди в сохранке местоположение персонажей и исправь их на те нужные уровни, телепортируй в прошлое. Загрузи и ищи.
Пробуй перенести на 1 уровень раньше и потом на 1 позже, чтобы знать область поиска.
Ну, как-то так.
Если уж нужны точные координаты, то найди карты в роме, корруптором наверно. Найдёшь первый сундук, сверишься с массивом-картой - узнаешь, как выглядит в хекс-варианте, промотаешь массив вперёд на нужный уровень и увидишь.
monstr888:

--- Цитата: SUPER_ROBOT от 01 Июль 2014, 19:17:04 ---В GBA ещё не приходилось ковыряться, поэтому попробуем вслепую.
Как ты и написал, находим в памяти число сундуков. Ну и разбираемся откуда туда добавляется.
Раз в процентах, значит должны существовать 2 числа - количество всех существующих сундуков и количество найденных тобой. Изменяется количество найденных, вот на него и ставишь бряк.
Наверно, в сохранениях есть бит на каждый "уровень", отрезок карты - найден ли сундук или нет. Изучишь его - узнаешь на каких "уровнях" оставил. Потом найди в сохранке местоположение персонажей и исправь их на те нужные уровни, телепортируй в прошлое. Загрузи и ищи.
Пробуй перенести на 1 уровень раньше и потом на 1 позже, чтобы знать область поиска.
Ну, как-то так.
Если уж нужны точные координаты, то найди карты в роме, корруптором наверно. Найдёшь первый сундук, сверишься с массивом-картой - узнаешь, как выглядит в хекс-варианте, промотаешь массив вперёд на нужный уровень и увидишь.

--- Конец цитаты ---
Уровней в игре нет, одна большая карта, в разные моменты игры доступны те или иные территории. Но порядок действий ясен, начнём учиться ромхакингу :)

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

--- Цитата: monstr888 от 01 Июль 2014, 23:46:15 ---Уровней в игре нет, одна большая карта, в разные моменты игры доступны те или иные территории. Но порядок действий ясен, начнём учиться ромхакингу :)

--- Конец цитаты ---
Просто до сих пор ромхакинг ограничивался у меня программой артмани. Ну и в той же FF5 Advance вытащил тексты персонажей, используя хекс-редактор и относительный поиск фраз. В принципе оказалось всё достаточно просто. Будет надеяться, ассемблер тоже не заставит сильно мучаться с ним.
Greengh0st:
Ребята!!! Может кто-то помочь с проектом для круптара игры на гба?
perfect_genius:
monstr888, я поэтому взял "уровни" в скобки. Значит, территории.

Придётся учиться думать как разработчик игры.
Skay:
Может кто помочь расковырять загрузчик, моих знаний рпосто напросто не хватает, не совсем понятно куда копать. Все находится тут в архиве. проблема с загрузчиком следующая, под ХР он идеально работает, а вот уже на 7ке - запускается корректно раз из нескольких десятков. Один раз так прокнуло, пару раз в дебагере прокнуло, закономерности уловить не удалось.
Run.exe - собственно сам загрузчик, в загрузчике много неиспользованых данных судя по первому взгляду. фактически в мк он добавляет нормальную поддержку геймпадов, учит воспроизводить музыку в мп3 из дирректории а не с привода, добавляет возожность играть по LAN.
loader.eis -"конфиг" к загрузчику, указывающий что ему надо подцепить, и что то еще (не понятно)
trilogy.dll - переименованый оригинальный (хотя в данном случае уже модифицированый ) exe файл игры. на новой версии что по ссылке, лоадер под ХРенью тоже работает, музыку по крайней мере крутит как надо, а вот менюшку для игры по сети, и джойстика не делает, смещения походу другие.
Собственно самому "нарыть" удалось немного.
По адресу 40119F находится основной цикл, которы йподгружает и модифицирует оригинальный exe.
в нем обыкновенный свитч, если не вдаваясь в детали, то такого вида.

--- Код: ---do{
ESI+=4
switch (eax){
case 1000h:
functionB()
break;
case 2000h:
functionA();
break;
case 3000h:
KERNEL32.SuspendThread(DWORD PTR DS:[410C10]);
break;
case 3100h:
KERNEL32.ResumeThread(DWORD PTR DS:[410C10]);
break;
case 4000h:
KERNEL32.Sleep(DWORD PTR DS:[EDI+ESI]);
break;
default:
break;
INC EBX
}
}while (ebx <> dword ptr DS:[410C20]);

--- Конец кода ---
functionB - вызывается только 1 раз, собственно она и загружает оригинальный EXE.
functionA - патчит оригнальный EXE. вот только с помощью оли не получается толком посмотреть ни загруженый EXE и что в нем патчится, ни откуда берутся данные для патча.
Подскажите куда копать
Mr2:
[Туториал] Как же переводить игры для Playstation 1?
paul_met:

--- Цитата: Mr2 ---[Туториал] Как же переводить игры для Playstation 1?
--- Конец цитаты ---

Туториал явно перемудрёный. Можно было сделать гораздо проще. Да и зачем писать свой редактор графики, если уже давно есть онные и гораздо более продвинутые и удобные.
Mr2:

--- Цитата: paul_met от 10 Сентябрь 2014, 19:57:10 ---Туториал явно перемудрёный. Можно было сделать гораздо проще. Да и зачем писать свой редактор графики, если уже давно есть онные и гораздо более продвинутые и удобные.

--- Конец цитаты ---
Статью не читал, но думаю что начинающим переводчикам будет полезна любая инфа. ;)
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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