Алгоритм извлечения метаданных из исполняемого файла на этапе дизассемблирования программного обеспечения
Another Title
Algorithm for extracting metadata from an executable file At the disassembly stage of software
Bibliographic entry
Москалёв, И. C. Алгоритм извлечения метаданных из исполняемого файла на этапе дизассемблирования программного обеспечения = Algorithm for extracting metadata from an executable file At the disassembly stage of software / И. C. Москалёв // Системный анализ и прикладная информатика. – 2026. – № 1. – С. 77-81.
Abstract
В статье представлен алгоритм автоматического извлечения метаданных из исполняемого файла программного обеспечения на этапе дизассемблирования. Рассмотрены методы чтения бинарного содержимого, конвертации байтовых последовательностей в строковое представление и фильтрации полученных данных с использованием PowerShell и утилиты strings.exe. Проведен эксперимент, подтверждающий возможность выделения структурных и текстовых элементов исполняемых модулей без их полной декомпиляции. Цель работы – повышение эффективности анализа бинарных приложений за счет выделения внутренних структурных данных на ранней стадии исследования. Методы исследования: статический анализ, реверс-инжиниринг, текстовая аналитика, PowerShell-скриптинг, использование средств командной строки. Результаты: реализован рабочий алгоритм, способный извлекать основные метаданные, характеризующие структуру и функциональные зависимости исполняемого кода. Научная новизна исследования состоит в: разработке нового алгоритма извлечения метаданных из исполняемых файлов без их декомпиляции или загрузки в дизассемблер; предложении метода бинарного анализа с последовательным преобразованием байтовых массивов в текстовую форму с фильтрацией данных; реализации интеграции средств PowerShell и strings.exe в единую схему анализа, что обеспечивает совместимость и автоматизацию; определении классификации извлекаемых данных на текстовые, системные и структурные элементы; применении техники текстовой аналитики в контексте бинарного анализа, что расширяет методы реверс-инжиниринга. Полученные результаты могут быть практически применены в сфере информационной безопасности (идентификация библиотек и проверка на наличие несанкционированных зависимостей), в цифровой криминалистике (определение происхождения программного кода и связей между приложениями), в разработке (анализ сторонних модулей при реинжиниринге и совместимости кода).
Abstract in another language
The article presents an algorithm for automatic extraction of metadata from executable software files at the disassembly stage. Methods for reading binary content, converting byte sequences into string representation, and filtering the obtained data using PowerShell and strings.exe utility are considered. An experiment was conducted confirming the possibility of extracting structural and textual elements of executable modules without their complete decompilation. The aim of this work is to improve the efficiency of analyzing binary applications by highlighting internal structural data at an early research stage. Methods used include static analysis, reverse engineering, text analytics, PowerShell scripting, and command-line tools. Results achieved include a working algorithm capable of extracting basic metadata characterizing the structure and functional dependencies of executable code. The scientific novelty of the research consists in the following points: A new algorithm has been developed for extracting metadata from executable files without decompiling or loading them into a disassembler; A method of binary analysis with sequential transformation of byte arrays into text form with data filtration has been proposed; Integration of PowerShell and strings.exe utilities into a unified analysis scheme ensuring compatibility and automation has been implemented; Classification of extracted data into textual, system, and structural elements has been defined; Textual analytics technique has been applied for the first time in the context of binary analysis, thus expanding reverse engineering methods.
View/ Open
Collections
- № 1[10]
