Пространство имен кода
Внимание
Этот интерфейс находится в активной разработке и изменится.
Итоги
Пространство имен кода содержит атрибуты кода и дизассембли. Он позволяет создавать объекты Disassembler, которые могут дизассемблировать заданные адреса или функции и предоставлять подробные сведения о сборке и любой переменной или исходной информации при наличии.
Пример
Полный пример использования этого пространства имен и объектов см. в примере CodeFlow на GitHub.
Методы объектов
Имя. | Тип возвращаемых данных | Подпись | Description |
---|---|---|---|
CreateDisassembler | Дизассемблер | CreateDisassembler([архитектура]) | Создает объект disassembler указанной архитектуры. Архитектура может быть одной из arm, ARM64, X64 или X86. Если архитектура не указана, предполагается, что используется X64. |
TraceDataFlow | коллекция инструкций | TraceDataFlow([адрес]) | Просматривает инструкцию по указанному адресу (или текущему указателю инструкции, если адрес не указан) и все его исходные операнды. Этот метод проходит обратно через поток управления функции, ищет любую инструкцию, которая повлияла на исходные операнды трассировки инструкции. Этот метод требует загрузки расширения CodeFlow, найденного в примере CodeFlow.js. |
Замечания
По умолчанию CreateDisassembler по умолчанию используется значение X64, в какой-то момент это поведение изменится, чтобы извлечь архитектуру модуля в указателе инструкции текущего потока.