Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Collapse
Brand Logo

CELua[RU]

  1. Главная
  2. Программирование
  3. Плагин-строй
  4. CE disassembler

CE disassembler

Запланировано Прикреплена Закрыта Перенесена Плагин-строй
ce plugin
1 Сообщения 1 Posters 653 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • MasterGHM Не в сети
    MasterGHM Не в сети
    MasterGH Администраторы
    написал в отредактировано
    #1

    80185edf-e083-49a5-9ed3-dde77b9d94cf-image.png
    2c49f00f-7aad-453e-8131-196e0c918444-image.png

    Кратко

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

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

    3. Обновления UI

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

      • значения слайдеров
      • верхнего адреса
      • выбранного адреса
      • параметры шрифтов и других

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

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

    Также в плагин встроена поддержка работы с окнами трейслогов.
    8de95150-d583-40ce-9bd0-f351c8ae3e6d-image.png

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

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

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

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

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

    1 ответ Последний ответ
    0

Powered by NodeBB | Contributors
СeLua[RU] 2024©
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы