| Разработка и ромхакинг > Ромхакинг |
| Smd IDA Tools - Sega Mega Drive reversing helpers |
| << < (11/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:
--- Цитата: SeregaZ от 07 Февраль 2024, 19:35:31 ---о --- Конец цитаты --- Обнови плагин из последнего релиза. Я починил создание листинга для 7.7. ASM создавать не нужно. Папка script содержит полезные файлы для сборки конккретным азмом. Передаёшь батнику путь к lst-файлу и пойдёт сборка. |
| SeregaZ:
рядом с ромом src надо папку создавать. и видимо независимо от того куда путь для создания lst. на диск д сохранял сам файл lst, а эти файлы из инклуда он рядом с ромом положил :) кое кто, не будем показывать пальцем, забыл в диалоге сохранения файла указать этот-же путь для сохранение инклудных файлов. еще запускал иду от администратора. |
| DrMefistO:
--- Цитата: SeregaZ от 07 Февраль 2024, 19:45:58 ---рядом с ромом src надо папку создавать. и видимо независимо от того куда путь для создания lst. на диск д сохранял сам файл lst, а эти файлы из инклуда он рядом с ромом положил :) кое кто, не будем показывать пальцем, забыл в диалоге сохранения файла указать этот-же путь для сохранение инклудных файлов. еще запускал иду от администратора. --- Конец цитаты --- Не нужно вручную папки создавать, всё создастся. Нужно только выбрать куда сохранять lst. Перекачай плагин, говорю же. |
| SeregaZ:
при сохранении папки src - используется путь до рома, а не до места сохранения lst. я ж объясняю - выбрал сохранить lst на диске Д, а папку scr он создает рядом с ромом :) в итоге lst и scr разлучены с детства. так то понятно если сохранять lst рядом с самим ромом - то проблемы как бы и нет... но она все-же как бы есть :) и все так-же не хватает lea FF в начале. асм ругается на эти строки. |
| DrMefistO:
--- Цитата: SeregaZ от 07 Февраль 2024, 20:01:33 ---и все так-же не хватает lea FF в начале. асм ругается на эти строки. --- Конец цитаты --- Не понял. |
| SeregaZ:
ида разбирает код как --- Код: ---lea ($FFF152).w,a0 --- Конец кода --- ASM68K.exe при сборке такого файла - ругается что адрес инвалидный. если вручную найти все такие строки и исправить на --- Код: ---lea ($FFFFF152).w,a0 --- Конец кода --- то все начинает собираться без ошибок и работать. |
| DrMefistO:
--- Цитата: SeregaZ от 07 Февраль 2024, 20:06:08 ---ида разбирает код как --- Код: ---lea ($FFF152).w,a0 --- Конец кода --- ASM68K.exe при сборке такого файла - ругается что адрес инвалидный. если вручную найти все такие строки и исправить на --- Код: ---lea ($FFFFF152).w,a0 --- Конец кода --- то все начинает собираться без ошибок и работать. --- Конец цитаты --- А, всё, туплю, адрес правильный. Ты в моём плагине базу начинал, или раньше, руками? |
| SeregaZ:
ида 77. версия 32 битная. скачал новую версию тулсов как ты сказал, распаковал и открыл по новой ром батл сити. сам ничего не разбирал - что изначально ида разобрала - то и выгружаю. и там вот с этой lea ошибка. ну и с путями до папки src, в случае если ром лежит в одном месте, а файл lst я сохраняю в другом месте. Добавлено позже: и проблема с диалогом отмены при создании lst файла. отмена не работает - ида все равно ныкается создавать файл по новой. то есть в диалоге на моменте выбора вида ассемблера: Choose output assembler по идее кнопка отмены должна полностью отменять процесс выгрузки, но тут отмена работает по сути как подтверждение что ты типа выбрал первый вариант AS Assembler и начинает выгружать. но по идее должна была произойти глобальная отмена выгрузки. |
| DrMefistO:
--- Цитата: SeregaZ от 07 Февраль 2024, 20:09:33 ---ида 77. версия 32 битная. скачал новую версию тулсов как ты сказал, распаковал и открыл по новой ром батл сити. сам ничего не разбирал - что изначально ида разобрала - то и выгружаю. и там вот с этой lea ошибка. ну и с путями до папки src, в случае если ром лежит в одном месте, а файл lst я сохраняю в другом месте. Добавлено позже: и проблема с диалогом отмены при создании lst файла. отмена не работает - ида все равно ныкается создавать файл по новой. то есть в диалоге на моменте выбора вида ассемблера: Choose output assembler по идее кнопка отмены должна полностью отменять процесс выгрузки, но тут отмена работает по сути как подтверждение что ты типа выбрал первый вариант AS Assembler и начинает выгружать. но по идее должна была произойти глобальная отмена выгрузки. --- Конец цитаты --- Ида не умеет никак прерывать выгрузку листинга или asm. Добавлено позже: Обновил до версии 2.8. Поправил некоторый выхлоп. https://github.com/lab313ru/smd_ida_tools2/releases/tag/v2.8 |
| SeregaZ:
ошибки нет? может ты старое по ошибке залил? как ругалась lea при сборке - так и ругается. как создавалось src не там - так и создается. хотя может я чо не туда сохранил еще... еще раз скачаю, перепроверю. Добавлено позже: и ни фи га :) все по старому. Добавлено позже: или я не правильный асм выбираю при выгрузке? |
| DrMefistO:
--- Цитата: SeregaZ от 08 Февраль 2024, 00:00:22 ---ошибки нет? может ты старое по ошибке залил? как ругалась lea при сборке - так и ругается. как создавалось src не там - так и создается. хотя может я чо не туда сохранил еще... еще раз скачаю, перепроверю. Добавлено позже: и ни фи га :) все по старому. Добавлено позже: или я не правильный асм выбираю при выгрузке? --- Конец цитаты --- Как именно ругается на lea? Попробуй другой азм. src я не правил. Я рассчитываю на сохранение листинга рядом с ромом. |
| SeregaZ:
--- Цитата ---src я не правил. Я рассчитываю на сохранение листинга рядом с ромом. --- Конец цитаты --- чтоб тебя... это не удобно и не верно с точки зрения безопасности информации. например я открываю чужой разобранный проект, где уже лежит папка src с такими файлами. но сохранить хочу новый переразбор в другой папке. но получится что оригинальную папку ида перезапишет, хотя и кинет lst файл в ту папку куда я и хотел, а вот src перезапишет оригинальную в изначальной папке с ромом. это первый вариант ассемблера. ошибки сверху не смотри, так как это все равно не тот ассемблер. а вот леа как раз то. пока не добавишь вручную во все места еще FF чтобы стало 8 символов - он не заведется. |
| DrMefistO:
--- Цитата: SeregaZ от 08 Февраль 2024, 19:28:25 ---чтоб тебя... это не удобно и не верно с точки зрения безопасности информации. например я открываю чужой разобранный проект, где уже лежит папка src с такими файлами. но сохранить хочу новый переразбор в другой папке. но получится что оригинальную папку ида перезапишет, хотя и кинет lst файл в ту папку куда я и хотел, а вот src перезапишет оригинальную в изначальной папке с ромом. это первый вариант ассемблера. ошибки сверху не смотри, так как это все равно не тот ассемблер. а вот леа как раз то. пока не добавишь вручную во все места еще FF чтобы стало 8 символов - он не заведется. --- Конец цитаты --- Пробуй другой ассемблер - ссылки там в окошке есть |
| SeregaZ:
как бы написать и не обидеть... ничего не буду писать. |
| DrMefistO:
--- Цитата: SeregaZ от 08 Февраль 2024, 19:58:33 ---как бы написать и не обидеть... ничего не буду писать. --- Конец цитаты --- не пиши, не пользуйся. значит не твоё:) |
| DrMefistO:
Реализовал условные брейкпоинты на базе того, что предлагает сама Ида! Подробнее тут: https://github.com/lab313ru/smd_ida_tools2/releases/tag/v2.9 |
| Turbo2000:
Увидел, шикарно, будет немного боллерплейта, но благодаря питону можно любые условия делать :cool: А смотрел как можно реализовать трейс? Хотя бы трейсить вызов конкретного места, и значение операндов на чтение и запись |
| DrMefistO:
--- Цитата: Turbo2000 от 28 Февраль 2024, 23:56:59 ---Увидел, шикарно, будет немного боллерплейта, но благодаря питону можно любые условия делать :cool: А смотрел как можно реализовать трейс? Хотя бы трейсить вызов конкретного места, и значение операндов на чтение и запись --- Конец цитаты --- Так ты можешь питоном тоже сделать: Ставишь бряк, делаешь код там, но делаешь return False и бряк не будет стопариться, но будет отрабатывать код из него |
| Turbo2000:
Хм, гениально, будет, конечно, лишний код, но с этим можно работать |
| Марат:
А есть возможность добавить пропуск срабатывания брейкпоинта по определенному адресу? Т.е. допустим я ставлю брейк на чтение по адресу 0xff0000 и у меня срабатывает брейк по адресу 0x1000. Но это место не то, которое мне необходимо и мне надо сделать так, чтобы в этом месте бряк на чтение не срабатывал. На каком тодебагере, сейчас не вспомню, можно было добавлять диапазон адресов, в которых бы ни один брейкпоинт не срабатывал бы. Возможно, fceux. Называлось что то типа "забыть". |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |