Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотр
    15 611

Lua Plugin CE Disassembler


MasterGH

923 просмотра

Обновление плагина

 

Установка с репозитория: ссылка

 

Disaasembler.thumb.png.640bf7e4ce5030d59

 

Кратко

1. Добавил сохранение/загрузку параметров. Хранение в текстовом файле в папке autoruns

2. Добавил настройки графического интерфейса (слайдеры, пункт меню)

Подбронее

Скрытый текст

1. Обновления UI
    - Гладкая перерисовка, двойной буфер
    - Стрелки прыжков сдвигаются вправо при увеличении их количества
    - Слайдер яркости фона
    - Слайдер количества адресов в невидимой области от 0 до +1К от верхнего и нижнего адресов. Увеличивает количество стрелок для прыжков.
    - Стрелки в невидимой области обозначаются двумя цветами.
            Один цвет для тех стрелок, у которых адрес прыжка и адрес назначения не выходят в область видимости.
            Второй цвет для тех стрелок, которых адрес прыжка или адрес назначения входят в области видимости.
            Видимые стрелки обозначаются белым.
            На рисуемые стрелки прыжков влияет слайдер яркости.
    - Не показывать стрелки прыжков для инструкций типа 'jmp [...]', 'jne [...]'...
2. Сохранение и загрузка при заходе и выходе из CE
    - значения слайдеров
    - верхнего адреса
    - выбранного адреса

    - параметры шрифтов и других

 

Слайдеров много, сам путаюсь в них, какие за что отвечают.

С цветами экспериментировал не понравилось, пока оставляю градацию "черный-белый".

Для тех кто видит в первые этот плагин.

Скрытый текст

Основное назначение его показывать приоритетные инструкции более ярким цветом. Инструкции такие как арифметические и логические. Это первый и второй слайдеры. Третий - инструкции на запись, чтение. Четвертый - инструкции ветвления. Пятый слайдер - остальные инструкции. Остальные слайдеры связаны с настройками. Основные из них размер шрифта, яркость фона, вертикальный отступ между инструкциями и другие.

 

Также в плагин встроена поддержка работы с окнами трейслогов.

 

58c57caeb970c_.thumb.jpg.5ede968278f2ba058a5b01e202ea_.png.81130f5a171e7376eec48

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

 

Встроена поддержка маркирования путей на выбранном участке кода. Это специальное окно в меню "утилитах" в окне дизассемблера его можно найти. Указывается верхний адрес и нижний адрес области кода. Например, функции. При старте начинается логирование уникальных прохождения от начального до конечного адреса и раскраска маркерами. Возможных таких путей 8. Т.е. делая что-то в игре (разовые действия) видим уникальную ветвь, она тут же появляется и на этой ветви можно прерваться поставив опцию, и оттрейсить выход из рутины... 

 

Более подробное описание и скриншоты в закрытом разделе в моем старом блоге. Имеют к нему доступ пользователи со статусом "Разработчики". Новую информацию я буду писать в этой теме.

 

Плагин сейчас на стадии чернового варианта, кто хочет пробуйте. Установка с репозитория. Чтобы подключить нужно загрузить .CT таблицу. Знаю что не удобно, но пока так.

 

Плагин планируется развивать дальше, сейчас это черновой вариант

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

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

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.