Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - perfect_genius

Страницы: Назад 1 2 [3] 4 5 6 7 ... 44 Далее
61
это могут быть даже не функции, а просто куски кода где-то посреди данных
Потому что Генс посылает указатель текущей инструкции только в паузе, а не постоянно, да? Тогда, если он оказался посередине функции, то Ида не сможет его создать. Зато сможет найти все последующие.

Новые функции проще всего ловить не так, как ты описал, а вот так:
Ага, кучей действий и в сторонних программах вместо того, чтобы просто иногда ставить Иду на паузу и набрать несколько букв, чтобы потом видеть все эти новые функции в списке и легко сортировать по имени-метке :lol:

лучше таки вручную помечать всё, что нужно
Конечно, всегда таким образом не получится и придётся вручную. Просто это начальные ориентировки были бы.

62
Для патча игрового процесса нужно патчить в хекс редакторе в генсе
При этом надо, чтобы изменяемая инструкция не была сейчас следующей, иначе не изменится.

Сохранение и загрузка работают, но нельзя их делать, когда Ида стоит на паузе, иначе будет рассинхрон - МК3 сразу показала синий экран смерти.

Подтвердилось моё подозрение - по ходу игры, в Иде появляются всё новые функции! :ohmy: Из начальных десяток можно набрать потом тысячи. Т.е. это как трейслоггинг в эмуляторах, когда нужно попробовать в игре как можно больше и дальше, чтобы так пройтись по как можно больше коду и данных.
Ида может ловить событие создания новой функции, чтобы потом добавлять в их имена метку, или она сильно ограничена?
Идея вот в чём:
-загрузил ром в Иду, она определила несколько функций.
-запускаю игру в Генсе, первые экраны - это заставки игры. Останавливаю процесс на каждой, и каждый раз появляются новые функции, пачками.
И вот тут было бы хорошо, если бы Ида при создании каждой функции ставила ему метку в имени от реверсера. Реверсер ждёт следующую заставку и снова ставит на паузу, меняет метку. Таким образом были бы помечены все функции, впервые появившиеся в определённых местах игры, чтобы сразу знать что они могут делать, за что отвечают.
Что думаешь?

63
Используешь инструменты этой темы для этого? Допустим, делим игру пополам (кто какие части изучает), а потом нам надо как-то синхронизироваться. У Иды есть функция объединения баз? Если нет, каждому из нас придётся вручную вносить изменения другого? Наверно, можно бы редактировать совместно листинг на ГитХабе, но я им пока не пользовался и не умею.
Если же используешь не Иду, то давай в личку.

DrMefistO, в Иде есть возможность:
-отсортировать функции по популярности?
-давать имена функциям на русском языке? Пусть даже хак-мод какой-нибудь.

64
Хочу именно UMK3, поэтому эти исходники дадут не всё для этого. Также хочется поправить баги версии для Сеги.
Но после создания своего кода обязательно посмотрю эти исходники, я их сохранял себе по мере сливов и всё надеялся на слив полных сырцов UMK3.

65
То ли это ты непонятливый, то ли я непонятно пишу :)
Был один, назвал проект: Gnida (GNU IDA), но проект успешно заброшен. Плюс есть гидра
Ну и название  Явно делал русскоязычный.
Обычно такое бывает при таком прерывистом диалоге, когда теряется нить разговора, контекст.

66
Ну и название :lol: Явно делал русскоязычный.
Я всё же надеюсь, что мне не придётся делать буквально полный аналог Иды и Гидры, а только лишь разбирать их выхлоп.
Я тебя когда-то спрашивал про возможность перестраивать блоки в графе Иды, и в сети про это ничего не нашёл. В итоге придётся реверсить формат базы Иды, искать в ней координаты этих блоков :)

67
Если спрашиваешь меня, то я ещё не пользовался этим. Сейчас я начинаю полный реверс UMK3 для воссоздания его кода на С++, и одновременно делаю свой аналог Иды. Буду сверяться с ней, и при несоответствиях как раз может понадобиться экспорт листинга.

68
Да, полный, чтобы можно было собирать ром из воссозданного кода. Для больших изменений, чтобы не мучиться "удалением гланд через заднее место", легко двигать код.

менял номер стартового уровня, и попадал на него)
Мне тоже приходилось так всё время прокладывать дорожку изменениями в роме - пропускал заставки, вместо первого уровня загружался нужный, вместо начального места появления ставил персонажа поближе к месту изучения.

69
Нет графа, нет комментариев, нет имён функций. И вообще, отладчик тупо дизасмит по пути, а не проходит по всему рому, не изучает его. Т.е. отладчик подходит только для хаков, а не для полного реверса.
Что-то из этого есть в MESEN, в FCEUX, но это NES.

70
Придётся при загрузке сейва делать паузу эмуляции и перекидывать в иду?
Я ещё не программировал для Иды и не знаю, как она общается с отладчиками, что может и не может.
Если эмулятор не может сообщить Иде, что она загрузила сейв и сейчас его будет отправлять, то может можно из Иды отправить сообщение эмулятору, чтобы тот завис и чтобы пользователь нажал F5, после чего в Иде нажал скачивание сейва?

Так что сейчас делают нажатия в эмуляторе F5 и F8 для Иды? Разве не портит весь процесс в нём? Или может можешь кратко описать что они друг другу пересылают?

71
А ты хочешь, чтобы брались байты из иды или как?
Я хочу, чтобы ты переключил внимание на первую часть вопроса - на сохранение и загрузку, а не изменение рома.
Надо бы, чтобы когда я загружался с сейва, в Иде я продолжал отладку с той же инструкции, где остановился и сделал сохранение.
Т.е. возможно ли из сейва перенести в Иду "сохранённые состояния регистров, оперативки, видео памяти, звука и прочего"?
Не понимаю, как ты реверсил Квакшот без этой базовой функции.

72
Т.е. возвращаемся к вопросу - возможно ли сделать что я имел в виду? Чтобы при загрузке сохранки в эмуляторе, в Иде процесс продолжился с той же инструкции, что и при сохранении?

73
Ого, и дебаг продолжается без проблем, с места сохранения? :wow:
Видимо, в старых версиях это не работало, у меня не получилось тогда. Попробую новую.

Добавлено позже:
Попробовал, ничего не изменилось. Делаю так:
Нажимаю паузу в Иде - видна инструкция, на которой остановилось. Игра останавливается в эмуляторе, сохраняюсь.
Убираю паузу в Иде, немного играю, снова ставлю на паузу. Теперь загружаю сохранение - в окне Иды ничего не меняется. Нажимаю F8 и исполняется старый код, т.е. с загрузкой сохранения не обновляется память игры в Иде. Из-за чего игра даже крашится.
Надо в Иде память как-то обновлять?

74
Возможно ли сделать сохранение и загрузку в дебаггере, чтобы не запускать игру каждый раз сначала? Т.е. сохраняешься, делаешь изменение в коде, смотришь результат, загружаешь сохранение и делаешь уже другое изменение.
Как ты реверсил Quackshot?

75
Подкинь ссылок почитать про виртуальную машину в контексте консолей 16 бит?
Человек не хочет искать, человек хочет спрашивать? Вроде бы легко находится :neznayu:
Another World
The Lost Vikings

Или тебе буквально нужен реверс такого именно для 16 бит? Такого не встречал.

76
Тут явно есть и от Blackthorne со SNES :lol:

77
Maksim86, возможно, но не в автоматическом режиме. Это будет как делать игру с нуля, "демейк".
Если хочется повторить как можно точнее, делать не на глаз, то придётся ещё изучать оригинальную игру, воссоздавать его код, т.е. реверс-инжинирить.
Это две большие сложные работы.

Добавлено позже:
Another World и Flashback
Первая оперирует виртуальной машиной и по идее достаточно портировать только её. Но векторная графика игры подтормаживает даже на Сеге, поэтому на NES будет неиграбельно медленно.
Вторая игра - поэкранная, без скроллинга, поэтому тоже должно быть легче демейкнуть, чем другие сложные игры.
Думаю, проще всех портировать Lost Vikings, т.к. он тоже использует виртуальную машину, но зато графика не векторная.

78
Не любых - заголовок же можно изменять :)

79
Разное / Все о Nintendo
« : 09 Февраль 2025, 00:00:30 »
Drowfan, ссылку-то дашь хоть какую-то?

80
Если в пути к играм есть русские буквы, то попробуй исправь это.

81
VatnoComputerFun, если тебе повезло и текст игры не сжат, то его можно найти в хекс-редакторе (только латинские буквы, вроде как).
Если же сжат, то ищи к своей игре специализированные распаковщики и редакторы. Если их нет, то придётся их делать.

82
На 179-ом шагу (просто нажал 1 столько раз) получил похожий глюк - некоторые враги превращаются в Люка и управляются игроком, т.е. можно попытаться собрать так группу как у тебя в видео. Если это оно, то Инвертер успешно находит адрес в роме для этого глюка/хака - 132B4.
Ты, случайно, не продолжал нажимать 1 до конца? Хотя, в этом случае выскочило бы сообщение, что нужное не найдено... :neznayu:

А ещё нашёлся графический баг в программе. Она не рассчитана на то, что какой-то сумасшедший будет нажимать 1 сотни раз непрерывно. И когда нажимаешь 3, отображение количества инструкций резко уменьшается на порядки, и в итоге последние цифры остаются на экране :)
Баг мелкий и несуразный, поэтому обновлённый исходник не буду уж выкладывать.

Но терпения тебе не занимать, нашёл забавную фишку в игре :thumbup:
Сложно в это играть, т.к. среди врагов возникает копия Люка и враги начинают его убивать, игра заканчивается.

Добавлено позже:
Ха-ха, на 180-ом шаге 1 враги не атакуют игрока, просто бегают туда-сюда.

83
Не получилось повторить. У тебя сохранился ром или изменённые адреса?

84
Тема ведь про Сегу. Да и по PS2 вряд ли тебе подскажут.
Nickita, мне удалось скомпилировать несколько примеров и даже одну из последних версий wLaunchELF не без проблем, когда установил последний прекомпилированный тулчейн: https://github.com/ps2dev/ps2toolchain/releases/download/2018-10-19/ps2toolchain-20181019.7z
Не смог много чего - OPL, ps2link, другие простые программы.

Как я понял, у этого SDK нет номера версии, он постоянно меняется/ломается и поэтому использующий никогда не уверен в том, получится ли что-то скомпилировать. Дикость какая-то, вечная альфа.
Т.е. я тоже не подскажу, так как не писал с нуля, а лишь редактировал готовое.

85
Умеешь же ты заинтриговать недосказанностью :)
Что за игра? Явно Super Star Wars, но у сеговского прототипа другой интерфейс и этого уровня там не увидел.
И какой программой ломал? Инвертер или Переставлятель?
Вылетает что - игра или программа?

86
На этот раз вообще всё лого перевели?  :ohmy:

87
Сколько она весит теперь? 60 мегабайт?
Раз поддерживает и ромы Mega Drive, то почему упоминается только Genesis?
Название темы надо бы переименовать теперь в [SMD] Patch Applier by drakula1912 или хотя бы в Sega Genesis Patch Applier by drakula1912.

88
Да, этот лучший вариант. Но если в будущем появится Sonic Racers? :lol:

а ZA -- это ДЗА. Если по Поливанову, конечно.
В японском "за" вообще нету, только "дза"?

89
А почему ЗА, а не ДЗА?
Потому что там не "Akaja"

голову ломали долго в своё время.
"Наездники" более менее, вроде бы.
Цитата
Наездник — верховой ездок, всадник на чём-либо

90
Разное / Все о Nintendo
« : 17 Январь 2025, 01:26:52 »
И всё-таки не Супер Свитч <_< Видимо, не хотели рисковать как с WiiU.
Но зато джойконы теперь как компьютерные мышки.

Страницы: Назад 1 2 [3] 4 5 6 7 ... 44 Далее