Разработка и ромхакинг > Инструменты
[SMD] IDA Tools - reversing helpers
DrMefistO:
Собственно, проект по написанию крутых специфичных плагинов в помощь ромхакерам SMD.
Включает:
- ROM loader - загрузчик, позволяющий грузить ромы сеги в IDA Pro. Благодарности HardwareMan'у за основу;
- Z80 sound drivers loader - позволяет загружать звуковые драйвера для Sega в IDA Pro. Автоматически именуются порты и создаются сегменты;
- Z80 sound drivers debugger - позволяет отлаживать звуковые драйвера в IDA Pro;
- Gensida debugger - дебагер-плагин который позволяет дебажить ромы Sega Genesis / Mega Drive);
- Smd Constants identifier - при нажатии на J на константе, отправляемой в какой-либо командный регистр, в комментарий выведется инфа о том, что данное число значит, какие флаги устанавливает;
- ASM Fixer - помогает при экспортировании листинга из IDA, и приведении его к ассемблируемому виду.
- Генерация компилируемого ассемблерного листинга для AS/VASM/ASM68K прямо из коробки.
Проект развивающийся, поэтому каждый может предлагать свои идеи, изменения.
Исходники проекта и скомпиленые плагины здесь: https://github.com/lab313ru/smd_ida_tools2/releases
DrMefistO:
--- Цитата: shinta111 от 10 Декабря 2022, 00:09:18 ---Вроде сделал, но ничего не изменилось. Но заметил ошибки при загрузке плагинов, они могут влиять на проблему?
LoadLibrary(E:\dstr\IDA Pro 7.5\ida75sp3\plugins\idapython3_64.dll) error: Не найден указанный модуль.
E:\dstr\IDA Pro 7.5\ida75sp3\plugins\idapython3_64.dll: can't load file
Но этот dll есть в папке.
--- Конец цитаты ---
Python 3 x64 должен быть установлен глобально.
Кстати, хорошие новости: скоро будет релиз, в котором я поправлю некоторые штуки при дизазме моторолки, плюс сделаю экспорт ассемблерного листинга полностью собираемым прямо из коробки (при условии использования smd_ida_tools2).
DrMefistO:
Обновил наконец-то smd_ida_tools2 до новой версии. Теперь можно прямо из коробки генерировать листинг, компилируемый ассемблером AS.
Также поправлен вывод некоторых опкодов, например "move #$1234, $0.w(aX)" IDA выводила как просто "move #$1234, $0(aX)", что приводило к компиляции в другой опкод, более короткий. Для более подробной информации читайте ридми проекта на Github.
Ti_:
--- Цитата: DrMefistO от 20 Января 2023, 01:11:06 ---Обновил наконец-то smd_ida_tools2 до новой версии. Теперь можно прямо из коробки генерировать листинг, компилируемый ассемблером AS.
Также поправлен вывод некоторых опкодов, например "move #$1234, $0.w(aX)" IDA выводила как просто "move #$1234, $0(aX)", что приводило к компиляции в другой опкод, более короткий. Для более подробной информации читайте ридми проекта на Github.
--- Конец цитаты ---
move.w #$1234,0(a0) , он и должен так выводится и асм68к его и собирает как длинный,
а move.w #$1234,(a0) это другой опкод, он короткий.
0.w(a0) - это тупость, так как .b и .l там невозможны в принципе, что там в AS думали непонятно.
DrMefistO:
Видимо ты прав:) тем не менее такая запись валидна.
nikobonus:
Можно ли исправить подсказки при отладке при доступе к адресным регистрам по индексу?
Например,
тогда как в адресном регистре
то есть в подсказке должно быть $FFA126. Понятно, что можно посчитать самому. Но удобство немного теряется.
DrMefistO:
--- Цитата: nikobonus от 20 Января 2023, 11:18:10 ---Можно ли исправить подсказки при отладке при доступе к адресным регистрам по индексу?
Например,
(Ссылка на вложение)
тогда как в адресном регистре
(Ссылка на вложение)
то есть в подсказке должно быть $FFA126. Понятно, что можно посчитать самому. Но удобство немного теряется.
--- Конец цитаты ---
Заведи issue на гитхабе, плиз
DrMefistO:
Отличные новости: новый релиз! Теперь можно генерировать листинг для AS/VASM/ASM68K прямо из коробки. Также поправлен вывод некоторых инструкций.
Turbo2000:
Привет, а под какую версию Иды точно работает плагин? Почему-то перестала работать отладка с исходным кодом (Показывает только окно с графом вызовов, которая с нодами).
Пробовал ставить все версии для 7.x, не помогло. (Запускаю 32 битную версию)
DrMefistO:
Сними галку Source Code debugging.
Turbo2000:
--- Цитата: DrMefistO от 04 Июля 2023, 15:26:36 ---Сними галку Source Code debugging.
--- Конец цитаты ---
Теперь так, или это не так галочка?
DrMefistO:
--- Цитата: Turbo2000 от 04 Июля 2023, 18:21:52 ---Теперь так, или это не так галочка?
--- Конец цитаты ---
вроде та. теперь должно работать
Turbo2000:
--- Цитата: DrMefistO от 04 Июля 2023, 18:22:49 ---вроде та. теперь должно работать
--- Конец цитаты ---
Да, спасибо, действительно заработало, открыл disassamble view через меню subviews
Turbo2000:
Еще один дурацкий вопрос, можно каким-то образом получить стек вызовов?
Или искать все это вручную через xref?
DrMefistO:
Можно. У иды есть такой пункт меню, ищи)
Turbo2000:
--- Цитата: DrMefistO от 06 Июля 2023, 00:36:38 ---Можно. У иды есть такой пункт меню, ищи)
--- Конец цитаты ---
Это правда, но там пусто :neznayu:
Добавлено позже:
Может баг, могу видео записать
DrMefistO:
--- Цитата: Turbo2000 от 06 Июля 2023, 02:30:52 ---Это правда, но там пусто :neznayu:
Добавлено позже:
Может баг, могу видео записать
--- Конец цитаты ---
Запиши.
Turbo2000:
Похоже не то смотрю, а может то, не понимаю, как читать stack view. Он нереально большой.
P.S.:
Да, в стеке все подряд хранится :neznayu:
DrMefistO:
Похоже туда:)
Гляну, может я отключал эту штуку давно...
Turbo2000:
--- Цитата: DrMefistO от 06 Июля 2023, 14:24:38 ---Похоже туда:)
Гляну, может я отключал эту штуку давно...
--- Конец цитаты ---
Могу тоже глянуть, есть возможность отладки плагинов прям из студии?)
Добавлено позже:
API Иды не смотрел, вдруг там несложно)
DrMefistO:
Проверил: выключена. Можно будет включить.
Навигация
Перейти к полной версии