Разработка и ромхакинг > Инструменты
[SMD] IDA Tools - reversing helpers
<< < (7/15) > >>
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:
Проверил: выключена. Можно будет включить.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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