<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[CE disassembler]]></title><description><![CDATA[<div class="iframely-link">


<div class="iframely-container">


<div class="iframely-embed"><div class="iframely-responsive" style="padding-bottom:50%;padding-top:120px"><a href="https://github.com/celuaru/ce_disassembler" data-iframely-url="//cdn.iframe.ly/api/iframe?align=left&amp;url=https%3A%2F%2Fgithub.com%2Fceluaru%2Fce_disassembler&amp;key=ae3f7efe69fd7659776282ad948bd52b"></a></div></div>


</div>

</div>
<p dir="auto"><img src="/assets/uploads/files/1684088984192-80185edf-e083-49a5-9ed3-dde77b9d94cf-image.png" alt="80185edf-e083-49a5-9ed3-dde77b9d94cf-image.png" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1684089031766-2c49f00f-7aad-453e-8131-196e0c918444-image.png" alt="2c49f00f-7aad-453e-8131-196e0c918444-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Кратко</p>
<ol>
<li>
<p dir="auto">Добавил сохранение/загрузку параметров. Хранение в текстовом файле в папке autoruns</p>
</li>
<li>
<p dir="auto">Добавил настройки графического интерфейса (слайдеры, пункт меню)</p>
</li>
<li>
<p dir="auto">Обновления UI</p>
<ul>
<li>Гладкая перерисовка, двойной буфер</li>
<li>Стрелки прыжков сдвигаются вправо при увеличении их количества</li>
<li>Слайдер яркости фона</li>
<li>Слайдер количества адресов в невидимой области от 0 до +1К от верхнего и нижнего адресов. Увеличивает количество стрелок для прыжков.</li>
<li>Стрелки в невидимой области обозначаются двумя цветами.<br />
Один цвет для тех стрелок, у которых адрес прыжка и адрес назначения не выходят в область видимости.<br />
Второй цвет для тех стрелок, которых адрес прыжка или адрес назначения входят в области видимости.<br />
Видимые стрелки обозначаются белым.<br />
На рисуемые стрелки прыжков влияет слайдер яркости.</li>
<li>Не показывать стрелки прыжков для инструкций типа 'jmp [...]', 'jne [...]'...</li>
</ul>
</li>
<li>
<p dir="auto">Сохранение и загрузка при заходе и выходе из CE</p>
<ul>
<li>значения слайдеров</li>
<li>верхнего адреса</li>
<li>выбранного адреса</li>
<li>параметры шрифтов и других</li>
</ul>
</li>
</ol>
<p dir="auto">С цветами экспериментировал не понравилось, пока оставляю градацию "черный-белый".</p>
<p dir="auto">Основное назначение его показывать приоритетные инструкции более ярким цветом. Инструкции такие как арифметические и логические. Это первый и второй слайдеры. Третий - инструкции на запись, чтение. Четвертый - инструкции ветвления. Пятый слайдер - остальные инструкции. Остальные слайдеры связаны с настройками. Основные из них размер шрифта, яркость фона, вертикальный отступ между инструкциями и другие.</p>
<p dir="auto">Также в плагин встроена поддержка работы с окнами трейслогов.<br />
<img src="/assets/uploads/files/1684089126608-8de95150-d583-40ce-9bd0-f351c8ae3e6d-image.png" alt="8de95150-d583-40ce-9bd0-f351c8ae3e6d-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Происходит постоянный поиск новых и отсутствующих окон трейслогов... Делаем трейслоги. Двойной клик по адресам и переходим по адресу в дизассемблер (если он открыт) и видим в нем раскрашенные пути маркерами. Если окон много, то видим пересечения, расхождения путей и видим инструкции, которые не выполнялись...Встроено контекстное меню установки брейкпоинтов на call-ы в трейслоге. Если его вызывать, то после идем в игру и, не делая того, что исследуем, прерываемся на брейкпоинтах и снимаем их. Когда больше не прерываемся, то делаем в игре то, что нужно и прерываемся на оставшемся брейкпоинте. На нем исследуем условие входа в рутину. Тут как бы можно на страх и риск изменить условие, чтобы ветка кода повторила свое выполнение. Если позволяет, то выполнить поток вызвав call... Но я придерживаюсь варианта изменения данных для того чтобы поток сам повторил рутину. Либо подменить параметры функции или подменить параметры после выхода функции. На данный момент показать что-то на практике нечего. Как будет, сделаю и покажу видео.</p>
<p dir="auto">Встроена поддержка маркирования путей на выбранном участке кода. Это специальное окно в меню "утилитах" в окне дизассемблера его можно найти. Указывается верхний адрес и нижний адрес области кода. Например, функции. При старте начинается логирование уникальных прохождения от начального до конечного адреса и раскраска маркерами. Возможных таких путей 8. Т.е. делая что-то в игре (разовые действия) видим уникальную ветвь, она тут же появляется и на этой ветви можно прерваться поставив опцию, и оттрейсить выход из рутины...</p>
<p dir="auto">Более подробное описание и скриншоты в закрытом разделе в моем старом блоге. Имеют к нему доступ пользователи со статусом "Разработчики". Новую информацию я буду писать в этой теме.</p>
<p dir="auto">Плагин сейчас на стадии чернового варианта, кто хочет пробуйте. Установка с репозитория. Чтобы подключить нужно загрузить .CT таблицу. Знаю что не удобно, но пока так.</p>
<p dir="auto">Плагин планируется развивать дальше, сейчас это черновой вариант</p>
]]></description><link>https://celua.ru/topic/108/ce-disassembler</link><generator>RSS for Node</generator><lastBuildDate>Tue, 17 Mar 2026 03:47:38 GMT</lastBuildDate><atom:link href="https://celua.ru/topic/108.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 May 2023 18:32:56 GMT</pubDate><ttl>60</ttl></channel></rss>