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

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


Сообщения - DrMefistO

Страницы: [1] 2 3 4 5 ... 45 Далее
1
DrMefistO, я реверсю игру и вношу изменения в ром. В Генсе достаточно перезапустить, а в Иде как-то возможно обновить ром на изменённый? Каждый раз начинать новый проект надоело.
Если ты смещаешь код или данные, то простой патч не прокатит. А если просто байты заменить, то через `Edit->Patch`, должно примениться.

2
Сжатый код я видел: у тех же Codemasters в Fantastic Dizzy.
Насчёт дизазма Соника: всё равно он делал это в идке. Оттуда экспорт я сделал нормальный в ассемблерные листинги под разные ассемблеры.

Добавлено позже:
А вообще прорвало деда (GManiac), видимо) столько текста написал))

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

3
Вообще, прежде чем скопировать код в рам, он же был в роме)

4
Насколько я помню, во Flicky я вырезал копирование в RAM, чтобы всё выполнялось из ROM и Code Logger залогировал ROM-адреса. И игра работала как прежде. Не припоминаю там динамический код.
Ты Augment посмотрел? Полезно?
Я на самом деле не любитель AI-штук. Предпочитаю по-старинке.

5
Я видел тупо копирование несжатого кода в играх Flicky и Battletoads. А насколько быстрее? Ну уж в примитивном Flicky скопипастить целый банк кода в память для быстрого выполнения - это странно.
Где описаны тайминги физического доступа к памяти или рому и в каком эмуляторе это учитывается? (Я давно не слежу за темой, поэтому не знаю).

Как оказалось, это не основная причина. Основная - возможность модить код на лету. Типа в jsr подставить другой адрес.

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

7
Нету больше romhacking.net, теперь он только ридонли.

8
Ну почему-же: там есть декомпиляция MIPS ещё, PowerPC, ещё чего-то там. Но да, m68k декомпиляции в ней нет.

9
Здрасте захотел))
это тебе тогда к Ghidra.

10
Нет. Перенос отладочных окон и так жопная боль.

11
Так это Генс составляет карту, а не Ида? :ohmy:
Что происходит с картой при сохранении и загрузке?
Ты не забывай, что в Генс встроена часть плагина, это не обычный генс. Карта применяется к дизазму не только в паузе, но и при завершении эмуляции.

12
> Генс посылает указатель текущей инструкции только в паузе, а не постоянно, да?
Во время работы эмулятора набирается карта выполненных инструкций. Когда происходит пауза, карта передаётся, да. Всё время пересылать карту было бы слишком накладно.

Описанные мной действия - это достаточно быстро, на самом деле. Я подобным образом практически на автомате делаю, тем более, что тоталом пользуюсь всегда.

13
Про тейсинг я уже говорил - что набираются новые исполненные инструкции. И это могут быть даже не функции, а просто куски кода где-то посреди данных (обычно так с виртуальными машинами видел).

Новые функции проще всего ловить не так, как ты описал, а вот так:
1. Выделяешь табличку с именами функций, либо из вкладки Names, отсортировав по типу данных, копируешь содержимое
2. Сохраняешь список в файлик
3. Дожидаешься следующего обновления, копируешь список снова
4. Сравниваешь в каком-нибудь Total Commander по содержимому, ну или скриптом - находишь различия.

Ещё нужно понимать, что некоторые функции выполняются всегда, типа того же VSync, в котором может выполняться что угодно с обновлением графики, палитр и т.п. Так что лучше таки вручную помечать всё, что нужно.

И нет, данные через трейсинг не помечаются - только код.

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

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

15
А, я потерял, да:) я забыл, что про Гниду уже разговор)

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

17
Лол)
Был один, назвал проект: Gnida (GNU IDA), но проект успешно заброшен. Плюс есть гидра

18
Ну а так, полезная штука в итоге - экспорт листинга?)

19
А, теперь понял. Ну, я реверсил так: менял номер стартового уровня, и попадал на него)
Насчёт реализуемости твоего вопроса - хз)

Придётся при загрузке сейва делать паузу эмуляции и перекидывать в иду?

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

Решением в твоём случае я вижу GG-коды на инструкции - они применяются всегда, либо патчить ром сразу на фс. Всё равно не понимаю, что не так у тебя с F5/F8.

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

22
Так есть же сейвы, по F5, F8, стандартные для генса.

23
Ромхакинг и программирование / Solid patcher
« : 14 Январь 2025, 14:23:09 »
Зависит от популярности патчера. Так как ромхакинг бъётся в предсмертных конвульсиях, шансы не велики. :unsure:

Ты о закрытии romhacking.net?

24
Ромхакинг и программирование / Solid patcher
« : 12 Январь 2025, 17:03:09 »
Окей, про линупс не увидел. Формат планируешь описывать где-либо?

25
Делать ещё одну патчилку с хер-пойми каким форматом хранения патчей, к тому же windows only - в 2025 это конечно сильно.

26
Сорсы не хочешь выложить на Github в виде форка?) Так может какие умельцы ещё подтянутся.

27
Even if it exists, nobody will start doing that because of somebody's topic:)

28
Nice ideas, thanks! I would like to see that mod too:)

29
Да уж, я даже не предполагал, когда создавал этот топик, что здесь напишут о том, что RH - всё. Жалко, конечно, этого добряка...
Хорошо, когда есть ресурс-база данных по какой-то одной теме, по которому можно вести поиск, добавлять свою инфу, искать поделки других людей. И дело не в ромхаках, конечно, мне на них всегда было практически пофиг. А вот переводы, утилиты (самое основное), какие-нибудь доки - это да, жаль, что больше не будет централизованного ресурса, куда это можно выложить.

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

30
:( Не очень понимаю, кому это нужно. Материалов что по простым типам данных полно, что по Basic... Даже по написанию GUI...

Страницы: [1] 2 3 4 5 ... 45 Далее