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

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


Сообщения - perfect_genius

Страницы: Назад 1 [2] 3 4 5 6 ... 44 Далее
31
Если ты хочешь UMK3 разобрать, чё мелочиться, бери сразу аркаду
Оттуда буду брать графику, но и основной код тоже хотелось бы посмотреть. Видел сравнение версий, и сеговская получше аркадной, так как много чего изменено в лучшую сторону и поправлены баги.
Сейчас у меня путь: MK3 -> UMK3 -> аркадные версии.

DrMefistO, я реверсю игру и вношу изменения в ром. В Генсе достаточно перезапустить, а в Иде как-то возможно обновить ром на изменённый? Каждый раз начинать новый проект надоело.

32
Ну вот, задача облегчилась и удешевилась. Чел или пошёл изучать инструменты и английский, или не знал про русскую GBA-версию и пошёл играть в неё :D

33
Papik, заказывай тут:
-поиск текста в роме и разбор алгоритма сжатия.
-распаковщик и упаковщик.
Переводишь текст сам или через переводчики. Если перфекционист, то заказывай переводчиков японского на стороне.

Как уже упомянули, если надо перевести ещё и картинки, шрифт, то это отдельный распаковщик и упаковщик. Перерисовываешь сам или тоже можешь кому-то заказать :)

Цены сложно назвать, поэтому пиши сколько не жалко отдать. Я бы попробовал по ~5000 рублей за каждый пункт.

34
Лучше придумай название своему дизассемблеру и создай отдельную тему, этот последний коммент весь даже можешь скопировать туда.
Или свои исследования уже выкладывал на Эмуленде?

А про Гидру и МЕСЕН ничего не писал - не пользовался?

Другие не умеют.
DeepSeek тоже?

35
на данный момент мы имеем emulator-lock: в каждом эмуляторе авторы слепили свой отладчик, свои окна, свой функционал
Так и возникает желание сделать свой РетроАрк, чтобы на все консоли были все эти функции - отладка, HD-паки, TAS...


Чтобы быстро делать "масштабные моды", надо уходить от концепции делать хак игры для нативной платформы.
Кстати, я хочу делать масштабные моды для ПК-игр, а не для Сеги. Но полный реверс UMK3 я точно сделаю, а на нём отработаю подходы и инструменты для любых платформ.
Насчёт сложности дизасма на примере Соника я чёт приуныл сейчас. Ещё глянул дизасм Квакшота от DrMefistO и удивился, что он разобрал только сжатия и... всё? Т.е. "просто" сделал код перемещаемым? Ожидал, что он там чуть ли не каждую строчку описал, а оно вон как :) Значит, действительно сложно и муторно.


Цитата: perfect_genius
Если бы в реверсе крутились деньги, то такое давно бы появилось, поэтому да, надежда только на нейросети.
было бы желание, вон глянь чего для х360 родили
Очень круто, но ты подтвердил мои слова - инструмент появился только вчера, а не десятилетия назад. Я сейчас пробую делать подобное для Сеги - новый Ром Глитчер будет заменять инструкции непрямых прыжков на прямой прыжок в конец рома, где они будут собираться в список. Может, так получится собрать их все, пройтись по всему доступному коду и сделать код перемещаемым.

прорвало деда (GManiac), видимо) столько текста написал))
Ага, около твоего последнего серьёзного инструмента реверса Сеги, как у костра, собрались последние реверсеры старой платформы. Вряд ли следующее поколение будет интересоваться этим, но зато сможем передать им опыт реверса для их игр на x64, ARM и RISC-V, если заглянут к нам на огонёк ^_^

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

Werton, а через хекс-редактор в X-Men 2 - Clone Wars (UE) [!] видны CAMERA, ACTOR, memcpy, memset :debile:
Похоже, в игре осталась отладочная информация с Си-кода.

36
Да, но:
-ты упомянул, что код может быть сжатым, а значит Глитчер его не увидит
-"глитчхакер" может грузить сохранение момента игры, когда код уже исполняется из памяти

37
Скорее всего, никто не будет раз ещё не сделали, так что закажи инструменты перевода и делай сам.

38
GManiac, похоже, ты описал инструмент, о котором реверсы-моддеры мечтают десятилетиями :)
Но никто не делает такое, так как слишком сложно-долго и профит близок к нулю (а для изучения вирусов и прошивок выглядит избыточно). Если бы в реверсе крутились деньги, то такое давно бы появилось, поэтому да, надежда только на нейросети.
Ближе всего к такому подошёл MESEN. Но развивается он долго, поэтому я тоже решил делать подобный инструмент. Хочу легко создавать масштабные моды к играм, а без воссоздания их кода это очень муторно и ограниченно.

Про помощь нейросетей реверсерам упоминали вот тут.

Цитата
сложность в анализе субрутин, которые подменяют точку возврата после субрутина на стеке
Это ведь явно признак того, что игра писалась на ассемблере? На Си такого не сделать же?

Цитата
часто игры любят писать код в RAM и выполняться там
Впервые читаю про исполнение кода из памяти на Сеге, офигеть :ohmy:
Получается, мой Ром Глитчер может не работать на таких играх, так как меняет код в роме, а не памяти :)

39
В тизере:
3:15 - "штурман" не с маленькой ли буквы должен начинаться?
И почему теперь уже на "ты"?
И места для пробелов не хватило, чтобы отделить пиктограммы кнопок?
3:20 - лишний пробел после "7-".
"капитанский" должен начинаться с маленькой.
5:12  - "Нет нужны..."
6:19 - лишний пробел, тоже заглавная буква
6:31 - то же самое

40
А я уж, как обычно, предложу передать проблему компьютеру - пусть игра генерирует уровни, чтобы они не надоедали и не было ограничения на количество уровней.

41
Попробуй напиши в эту тему.

42
Это и в оригинальной игре уже есть.
Блин, действительно. Знал бы я это в детстве, проходить было бы легче o_0
И ведь я даже хотел предложить именно такое нажатие, по аналогии с Контрой Хардкор :lol:

43
perfect_genius, так разве он не отвечал, что - да?  :neznayu:
Не отвечал, были непонятки:
Пока не совсем понятно как влияет на всё это дело статус приставки - мастер или слэйв.
нужен соображающий человек, который поможет добить сетевую игру

Цитата
Вполне логично, что значения передаются в другую консоль и она будет работать не то, что как была, а даже хуже, ведь её нагружают инфой из другой консоли, ведь данные о расположении она должна где-то обрабатывать :ohmy:
Не логично, там может быть что угодно. Расчёт ИИ тоже может быть дорогим, а тут координаты врагов приходят готовенькие и считать ИИ уже не надо.
P.S.: или ты про сервер? Тогда да, ему нагрузка от клиента. Но это не совсем мой вопрос, я про клиента же.
Цитата
Странный конец коммента - зачем-то под спойлером и злобный смайлик. Если эта часть предназначалась таки мне, то идея с тем, что при сетевой игре игра должна работать быстрее - интересная :thumbup: Надо бы будет подумать как можно распределить нагрузку на две консоли.

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


Segaman, что происходит при прерывании VBlank? Там ведь что-то отправляется другому? Там код буквально копипаст от основного потока, только инструкции доступа к памяти уже абсолютные, а не относительные.




Добавлено позже:
мастер шлëт слэйву, что он заспавнил например 10 врагов, слейв еще не успев получить информацию об этом (или в момент получения) успевает тоже заспавнить некоторых из этих-же врагов и шлет мастеру
игра-клиент получает информацию об обновлениях от игры-сервера: спавн врагов, урон и так далее.
Игра-клиент просто рендерит картинку, дает управлять игроком и отправляет действия на сервер, а сервер уже решает всё остальное.
Если клиент тоже отправляет данные про появление врагов, то зачем сервер
Цитата
вместо одного игрового поля работает (клетки вокруг 1 игрока) над двумя (клетки вокруг 1 и 2 игроков)
?

44
Nemesis_c, ну так что - сможешь теперь ответить на вопрос, который я задаю тут постоянно? У одного игрока куча врагов на экране и всё тормозит. У второго только один, и этот один будет тормозить или нет?
Или все данные обновляются во время HBlank, поэтому память у обоих игроков всегда одинаковая и тормоза одного не влияют на игру второго?

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

46
Одни договорные цены пошли. Думаю, дело может чуточку сдвинуться, если таки напишете цены. Если не знаете что вписать, впишите сколько не жалко отдать :)

47
Про это - 22-ой и 89-ый комментарии в этой теме :)

48
Декомпиляцию определённых архитектур добавляют плагинами или только сами разрабы?

49
Т.е. недоступно именно для Сеги? Ведь у Иды точно есть декомпиляция. Неужели, она только для x86-64 и ARM?

50
Декомпиляцию в код на Си надо как-то отдельно устанавливать или это недоступно для Сеги?

51
с женой попробовали пройти. На варианте TwoDpadAlt как раз самое то, когда один ездит и уворачивается, а второй - целится и стреляет. Пулемёт ездящему так-то и не нужен.
С женой уже играли так в Battletech и Lost World на Сеге?

52
Не думал брать вместо Генса эмулятор, умеющий отматывать процесс назад? Вот это была бы просто пушка для отладки :)

53
У меня проблема с Ютюбом в том, что не работает встройка. Поэтому вот ссылка тем, у кого такая же проблема: youtube.com/watch?v=GlU2hlXr8UU

Вот это ты заморочился :ohmy: Жаль только, что звук тихий.
Вот бы такое появилось лет 10-15 назад :)

54
Так это Генс составляет карту, а не Ида? :ohmy:
Что происходит с картой при сохранении и загрузке?

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

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

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

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

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

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

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

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

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

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

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

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