Разработка и ромхакинг > Ромхакинг и программирование
SH2I - Super Hitachi 2 Inspector
(1/1)
paul_met:
Данная программа позволяет преобразовать машинный код процессора "SH-2" (Super Hitachi 2) в текст (список инструкций).
Основные возможности:
-------------------------------

* Дизассемблирование кода.
* Редактирование инструкций с перекомпиляцией.
* Поиск по виду инструкции, коду и адресу PC.
* Поиск ссылок на PC.
* Перестановки инструкций местами.
DrMefistO:
Круто!) Почему бы тебе на гитхабе всё это добро не публиковать, с исходниками?
paul_met:

--- Цитата: DrMefistO от 09 Апрель 2021, 15:54:23 ---Круто!) Почему бы тебе на гитхабе всё это добро не публиковать, с исходниками?

--- Конец цитаты ---
Это простенький дизассемблер (а не полноценный отладчик, как в эмуляторе) и для профи не годится. Врядли кому-то понадобятся исходники.
DrMefistO:
Это ты так думаешь:) Бывает, спустя много лет нужен именно простенький дизазм, встроенный в свою программу, находишь вот такую, как у тебя, а она без исходников...

Добавлено позже:
Я в какой-то момент понял, что, если это не что-то секретное, стоит выкладывать в виде исходников в нет, .т.к никогда не знаешь, кому и когда оно может пригодиться:)
Mr2:

--- Цитата: DrMefistO от 09 Апрель 2021, 16:07:25 ---Это ты так думаешь:) Бывает, спустя много лет нужен именно простенький дизазм, встроенный в свою программу, находишь вот такую, как у тебя, а она без исходников...
--- Конец цитаты ---
Под простенькой программой, я полагаю подразумевается что её несложно написать самому. :?


--- Цитата: DrMefistO от 09 Апрель 2021, 16:07:25 ---Я в какой-то момент понял, что, если это не что-то секретное, стоит выкладывать в виде исходников в нет,
--- Конец цитаты ---
Ты не учитываешь "индусский код". И ЯП.


--- Цитата: DrMefistO от 09 Апрель 2021, 16:07:25 --- .т.к никогда не знаешь, кому и когда оно может пригодиться:)

--- Конец цитаты ---
Это должно настораживать.  :?
DrMefistO:
Опять ты со своей ахинеей. Пожалуйста, прекрати каждую тему про исходники превращать в срач.
Mr2:

--- Цитата: DrMefistO от 09 Апрель 2021, 16:29:33 ---Опять ты со своей ахинеей.
--- Конец цитаты ---

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


--- Цитата: DrMefistO от 09 Апрель 2021, 16:29:33 ---Пожалуйста, прекрати каждую тему про исходники превращать в срач.

--- Конец цитаты ---
Кто бы говорил... :cool:
DrMefistO:
Я не заставляю тебя свои поделия выкладывать, и кого-либо ещё. Просто, если чел не против, то лучше выложить, чем не выложить.
paul_met:

--- Цитата: Mr2 от 09 Апрель 2021, 16:28:20 ---Под простенькой программой, я полагаю подразумевается что её несложно написать самому.
--- Конец цитаты ---
Да, так и есть.
DrMefistO, Mr2, Давайте конструктивнее, без отступлений в сторону.
perfect_genius:
С каких это пор дизасемблер стало простенько написать? Неужели сам процессор настолько простой? :ohmy:
Не думал предложить добавить это в Capstone? В его списке архитектур такой нет.
paul_met:

--- Цитата: perfect_genius от 09 Апрель 2021, 21:12:25 ---С каких это пор дизасемблер стало простенько написать? Неужели сам процессор настолько простой? :ohmy:
Не думал предложить добавить это в Capstone? В его списке архитектур такой нет.

--- Конец цитаты ---
А что сложного в преобразовании машинного кода в инструкции, если есть документация под рукой?
Первый раз о Capstone.
perfect_genius:
Неужели не знаешь про архитектуру x86 и его декодирование инструкций, например? :)
Пару лет назад пытался написать и не выдержал. Недавно пробовал писать m68k, мучился имея все документации. И только Capstone спас, его предельно просто подключить и пользоваться им даже такому нубу как я. Используется во многих программах, у них там большой список. Создатели проделали просто чудовищно сложную работу (но в x86_64 всё ещё бывают баги). M68k добавил сторонний чел, он не особо поддерживается, но всё-равно работает хорошо.
У меня прокрадывалась мысль, что мне просто не повезло взяться за два сложных процессора, и все остальные на их фоне выглядит явно намного легче.
MetalliC:
perfect_genius, дизасм RISC-подобных процов типа ARM, SuperH, MIPS итп пожалуй сможет сделать даже школьник, т.к. ISA обычно лаконичен и ортогонален.
то в CISC процессорах, с паровозом legacy-костылей 40-летней давности, типа x86 мозгами поехать можно
DrMefistO:
Но всё равно писать с нуля чаще лень чем не лень:)
CaH4e3:
так ида ж умеет и так
я ж ей каву1000 курочил
paul_met:
Изменения в версии 1.1:

* Исправлен баг с инструкцией "MAC.W".
* Добавлена возможность поиска по коду.
* Добавлена возможность исполнения инструкций (только для констант).
Добавлено позже:
Изменения в версии 1.2:

* Исправлен баг распознавания кода инструкций "RTS" и "NOP".
* Добавлена возможность экспорта дизассемблированного кода в текстовой файл.
Добавлено позже:
Изменения в версии 1.3:

* Исправлен баг распознавания кода инструкций типа "LDS".
* Добавлена возможность перестановки инструкций местами.
* Добавлена возможность копировать адрес PC в буфер обмена.
MetalliC:
paul_met, было бы неплохо сделать опцию хелпера показывающего PC-relative иммедиаты
т.е. на скриншоте вместо MOV.L @(0x06004024),R4
чтоб было MOV.L #0x06004040,R4 ну или типа MOV.L @(0x06004024),R4 ;#0x06004040
paul_met:
MetalliC, Для определения констант есть опция в меню "Execute Instruction". Вынесено отдельно, чтобы не растягивать колонку инструкций и не загромождать её доп. инфой.
paul_met:
Изменения в версии 1.4:

* Повышена скорость дизассемблирования кода (до 2.5 раза).
* Повышена точность распознавания кода инструкций.
Навигация
Главная страница сообщений

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