Важная информация

User Tag List

Страница 1 из 6 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 56

Тема: DisAsm-11

  1. #1
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию DisAsm-11

    В очередной раз понадобилось дизассемблировать некий файл и оказалось, что дизассемблера под этот формат нет или я пока про него не знаю. Особенно учитывая, что это (фактически) .LDA, но вот хранится он в ФС типа DOS/Batch-11-овской и копия блоков файла получить без проблем, но вот на выходе - не совсем .LDA получается. Точнее, .LDA, но с добавками.

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

    Тут дальше была инфа про минус первую версию, но поскольку с той поры прошло много написанного кода, я слегка подредактировал первоначальную версию

    Очень ранняя версия

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

    Подопытные кролики. Упоминание их здесь не означает, что работы по восстановлению доведена до конца, но можно посмотреть на результат работы DisAsm-11, когда программа загружалась

    DESS
    Игрушка Stalk
    Последний раз редактировалось Hunta; 05.04.2021 в 19:30.

  2. Этот пользователь поблагодарил Hunta за это полезное сообщение:

    anasana (28.02.2021)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,282
    Спасибо Благодарностей отдано 
    117
    Спасибо Благодарностей получено 
    533
    Поблагодарили
    285 сообщений
    Mentioned
    72 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    .LDA, но вот хранится он в ФС типа DOS/Batch-11-овской и копия блоков файла получить без проблем, но вот на выходе - не совсем .LDA получается.
    .bic - это формат абсолютного загрузчика DEC, его обычный srec-cat умеет конвертировать в hex/bin или во что захочешь.
    Я так .bic тестов для LSI-11 конвертил: "srec_cat file.bic -dec_binary -o file.bin -binary"
    Вот тут я еще короткое описание формата выложил
    Последний раз редактировалось Vslav; 28.02.2021 в 14:30.

  5. #3
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    .bic - это формат двоичного загрузчика
    Я это знаю (поэтому и написал - .LDA), но возиться с аддоном для TotalComand-ер и его прикручиванием к FAR-у - не стал (особенно учитывая, что FAR у меня 64-ёх битный, а аддон вроде 32-ух), учитывая, что в листинге XXDP виден и начальный блок и длина - в RT11 просто скопировал эти блоки в файл на HX, приаттаченный к папке Windows. И вот в таком файле есть нюанс - он не совсем .LDA, но с отличием разобрался влёт. Ну и на саму загрузку такого файла и его первоначальный парсинг структуры ушло... мм... минут 20(?) написания кода. Сделал бы быстрее, но посадил одну мааааленькую ошибку и с ней проколупался

    В общем, сейчас доделываю первоначальное декодирование (полное описание таблицы декодирование и шоб оно шло сразу, при загрузке данных из .LDA), посмотрю, что получится, а потом буду писать анализатор - где код, где данные.. Для начала

    - - - Добавлено - - -

    Цитата Сообщение от Vslav Посмотреть сообщение
    Вот тут я еще короткое описание формата выложил
    Да оно как бы есть и в доках на RT Там единственное только не совсем чётко описан байт контрольных сумм И из за ошибки в проге (как я думал) и из этого описания долго не мог понять - чего у меня КС получается нулевой Только потом дошло, что я на автомате написал правильный вариант подсчёта КС и при правильной КС ноль и должен получаться

  6. #4
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,282
    Спасибо Благодарностей отдано 
    117
    Спасибо Благодарностей получено 
    533
    Поблагодарили
    285 сообщений
    Mentioned
    72 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    В общем, сейчас доделываю первоначальное декодирование
    Преобразованием формата должны заниматься утилиты-преобразователи. Когда попадается новый формат - я всегда на srec-cat смотрю сначала, до сих пор он практически все потребности закрывал. А писать дизассемблер для известного процессора.... Маловероятно что IDA получится превзойти.

  7. #5
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Преобразованием формата должны заниматься утилиты-преобразователи.
    В моей проге это не преобразование формата - это считывание исходных данных. И если в случае с .LDA метаинфы почти нет, то в случае сложных .SAV и .TSK будет некоторое количество метаинформации, которая так же должна быть доступна и обрабатываться дизассемблером.

    Цитата Сообщение от Vslav Посмотреть сообщение
    А писать дизассемблер для известного процессора.... Маловероятно что IDA получится превзойти.
    Учитывая, что я люблю использовать структурные макросы - я это дело делаю с прицелом на них - и вот тут что то я сомневаюсь, что IDA мне выдаст такой исходник. Плюс. .SAV и .TSK файлы бывают с поддержкой оверлеев, I+D - как у IDA с этим?

    Цитата Сообщение от Vslav Посмотреть сообщение
    Когда попадается новый формат - я всегда на srec-cat смотрю сначала, до сих пор он практически все потребности закрывал
    Как насчёт .SAV с оверлеями и I+D?

    - - - Добавлено - - -

    В любом случае. Эту прогу я пишу под СВОИ потребности и смогу дорабатывать при их изменении. А поскольку меня интересует только один процессор (ну по крайне мере пока) - большая часть возможностей IDA мне как бы.. ни с какого бока. Плюс его платность и написание модулей расширения - на каком языке? На С или С++ - оба языка (особенно второй) не люблю.

  8. #6
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,282
    Спасибо Благодарностей отдано 
    117
    Спасибо Благодарностей получено 
    533
    Поблагодарили
    285 сообщений
    Mentioned
    72 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    В моей проге это не преобразование формата - это считывание исходных данных.
    И? Конвертировали LDA в HEX и загрузили в IDA.

    Цитата Сообщение от Hunta Посмотреть сообщение
    И если в случае с .LDA метаинфы почти нет, то в случае сложных.
    Все "метаданные" что там есть вполне описываются обычным Intel-Hex, ничего не теряется.

    Цитата Сообщение от Hunta Посмотреть сообщение
    SAV и .TSK будет некоторое количество метаинформации, которая так же должна быть доступна и обрабатываться дизассемблером.
    А что, DISS не справится с .SAV ? Для RSX тоже есть дизассемблер. И изначально про SAV и TSK речи не было.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Учитывая, что я люблю использовать структурные макросы - я это дело делаю с прицелом на них - и вот тут что то я сомневаюсь, что IDA мне выдаст такой исходник.
    А ты не сомневайся, посмотри IDA SDK, там вполне вменяемый Питон, перевод в макросы сделать можно.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Плюс. .SAV и .TSK файлы бывают с поддержкой оверлеев, I+D - как у IDA с этим?
    Для DOS x86 Borland и Microsoft поддерживаются "из каропки". Для других архитектур надо сделать парсер на Питоне.
    Но это тебя совсем уж далеко занесло. И чего только люди не придумают лишь бы изобретение велосипеда оправдать . Ну, дело твое.

    Цитата Сообщение от Hunta Посмотреть сообщение
    большая часть возможностей IDA мне как бы.. ни с какого бока.
    Дело не в возможностях. IDA это фреймворк, именно для построения интерактивных дизассемблеров, допиливается быстро.
    Если процессор известен и предполагается большие время-затраты (ты сам тут про оверлеи начал рассказывать), то надо работать в нормальном инструменте.
    Мне надо было микрокод LSI-11 разобрать, я знал что оно будет конечно (собственно там только три микросхемы и существуют ), а для IDA надо было делать целую новую архитектуру, поэтому я забил и сделал свое за неделю вечерами на Питоне (заодно попрактиковался на питоне, и половина кода потом ушла в Ассемблер), но пилить дизасм для PDP-11 - это только развлекать себя переизобретением велика
    Последний раз редактировалось Vslav; 28.02.2021 в 15:34.

  9. #7
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    DISS
    Может - DESS?

    Цитата Сообщение от Vslav Посмотреть сообщение
    И изначально про SAV и TSK речи не было.
    А ты думал, я решил написать только для дизасм .LDA? Может ещё подумал - одного конкретного файла? Естественно прицел идёт на ВСЕ файлы (obj, sav, tsk, оверлейные, I+D) от XXDP, DOS/Batch-11, RT и RSX.

    Цитата Сообщение от Vslav Посмотреть сообщение
    это только развлекать себя переизобретением велик
    Аха. Люблю это дело. Ибо существующие - не устраивают и/или не нравятся.

    - - - Добавлено - - -

    А, да, ещё забыл про multiuser таски от RSX. А так же драйвера.

    - - - Добавлено - - -

    Цитата Сообщение от Vslav Посмотреть сообщение
    Если процессор известен и предполагается большие время-затраты (ты сам тут про оверлеи начал рассказывать), то надо работать в нормальном инструменте.
    Вот я и не считаю для данной задачи его нормальным инструментом

  10. #8
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,282
    Спасибо Благодарностей отдано 
    117
    Спасибо Благодарностей получено 
    533
    Поблагодарили
    285 сообщений
    Mentioned
    72 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Вот я и не считаю для данной задачи его нормальным инструментом
    Вы не любите кошек? Да Вы их просто готовить не умеете!
    Ты сделай сначала что-нибудь хотя бы близкое по возможностям
    PS. Я тебе завидую, у тебя есть время на велосипед.

  11. #9
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ещё шаг вперёд. В парсер загнал почти все инструкции (остался FPP, пошерстить доки на предмет экзотики, ну и проверить корректность таблицы).
    Так же декодирование идёт в процессе загрузки файла, поэтому кнопка декодировать не нужна

    Всё ещё очень ранняя версия

  12. #10
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,585
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    271
    Поблагодарили
    230 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эволюционное развитие. Плюс некоторая внутренняя переработка с прицелом на логический анализатор.

    По прежнему очень ранняя версия

    - - - Добавлено - - -

    Проверка и демонстрация концепции. Сделано, конечно, пока кодом, ибо никакого пользовательского интерфейса нет и кнопка Анализировать для красоты, но. Визуализация содержимого ячейки основывается на её типа и было достаточно выставить нужный тип, что бы вместо кода получить... Получить то, что видно Технически даже сейчас - повесить на клавишу нужные действия (по выставлению типа ячейки) - и такое можно получить простыми щелчками по клавишам По сути - анализатор будет делать тоже самое

    Ну, вы поняли, да?

    - - - Добавлено - - -

    Совершенный ASCII декодер
    Надо ещё добавить тип ячейки .EVEN
    Последний раз редактировалось Hunta; 01.03.2021 в 14:35.

Страница 1 из 6 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Disasm with Sts 7.5...
    от Stl75 в разделе Софт
    Ответов: 3
    Последнее: 25.06.2018, 11:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •