<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="JATS-archive-oasis-article1-4.xsd" article-type="research-article" dtd-version="1.4" xml:lang="ru">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Журнал Современные наукоемкие технологии</journal-title>
      </journal-title-group>
      <issn>1812-7320</issn>
      <publisher>
        <publisher-name>Общество с ограниченной ответственностью &amp;quot;Издательский Дом &amp;quot;Академия Естествознания&amp;quot;</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.17513/snt.40771</article-id>
      <article-id pub-id-type="publisher-id">ART-40771</article-id>
      <title-group>
        <article-title>К ВОПРОСУ О ПРИМЕНЕНИИ LLM-ДЕКОМПИЛЯЦИИ ДЛЯ ПОИСКА УЯЗВИМОСТЕЙ В МАШИННОМ КОДЕ ПРОГРАММ</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Буйневич</surname>
              <given-names>М. В.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Buinevich</surname>
              <given-names>M. V.</given-names>
            </name>
          </name-alternatives>
          <email>bmv1958@yandex.ru</email>
          <xref ref-type="aff" rid="afff0494965"/>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Израилов</surname>
              <given-names>К. Е.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Izrailov</surname>
              <given-names>К. Е.</given-names>
            </name>
          </name-alternatives>
          <email>Российская Федерация</email>
          <xref ref-type="aff" rid="afff0494965"/>
        </contrib>
      </contrib-group>
      <aff id="afff0494965">
        <institution xml:lang="ru">Федеральное государственное бюджетное образовательное учреждение высшего образования «Санкт-Петербургский университет ГПС МЧС России»</institution>
        <institution xml:lang="en">Federal State Budgetary Educational Institution of Higher Education «Saint-Petersburg university of State fire service of EMERCOM of Russia»</institution>
      </aff>
      <pub-date date-type="pub" iso-8601-date="2026-05-28">
        <day>28</day>
        <month>05</month>
        <year>2026</year>
      </pub-date>
      <issue>5</issue>
      <fpage>23</fpage>
      <lpage>29</lpage>
      <permissions>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This is an open-access article distributed under the terms of the CC BY 4.0 license.</license-p>
        </license>
      </permissions>
      <self-uri content-type="url" hreflang="ru">https://top-technologies.ru/ru/article/view?id=40771</self-uri>
      <abstract xml:lang="ru" lang-variant="original" lang-source="author">
        <p>Задача декомпиляции, заключающаяся в преобразовании машинного (выполняемого) кода программы в исходный, который более адаптирован для выявления уязвимостей, является крайне востребованной в сфере обеспечения безопасности программного обеспечения. Для ее решения рассматривается возможность применения искусственного интеллекта в части больших языковых моделей (Large Language Model, LLM). Цель исследования – установление границ применимости LLM для противодействия уязвимостям программного обеспечения, представленного машинным кодом. Проводится серия экспериментов (из 5 «прогонов») по декомпиляции подпрограммы, содержащей уязвимость типа «переполнение буфера» и заданной в шестнадцатеричной форме, пятью следующими языковыми моделями: GPT-5, DeepSeek-R1, Qwin3-Max, GigaChat 2.0 и Yandex GPT 5.1 Pro. Выполнена оценка экземпляров исходного кода, получаемых каждой из языковых моделей, по следующим критериям: компилируемость, тождественность изначальному коду, качество (как понятность эксперту); по результатам тестирования произведено ранжирование моделей. Показано, что существует проблема «исчезновения» уязвимости из восстанавливаемого подобным образом исходного кода, присутствующей в изначальном машинном. Указана новизна исследования, его теоретическая и практическая значимость, намечены перспективы проведения более масштабных и строгих экспериментов за счет увеличения количества тестов и их «прогонов», а также более тонкой настройки моделей, в том числе специально разработанных для задач декомпиляции и поиска уязвимостей в машинном коде программ.</p>
      </abstract>
      <abstract xml:lang="en" lang-variant="translation" lang-source="translator">
        <p>The decompilation task – converting program machine (executable) code into source code more amenable to vulnerability detection – is of critical importance in the field of software security. To address this task, the use of artificial intelligence, specifically large language models (LLMs), is being explored. This study aims to establish the limits of LLM applicability for countering vulnerabilities in software represented as machine code. A series of experiments (consisting of five runs) is conducted on the decompilation of a subroutine containing a buffer overflow vulnerability, provided in hexadecimal form, using five language models: GPT-5, DeepSeek-R1, Qwen3-Max, GigaChat 2.0, and Yandex GPT 5.1 Pro. The instances of source code produced by each language model are evaluated according to the following criteria: compilability, functional equivalence to the original code, and quality (i.e., intelligibility to an expert). Based on the experimental results, the models are ranked. The study reveals the problem of the “disappearance” of the vulnerability present in the original machine code from the source code reconstructed in this manner. The novelty of the research is highlighted, along with its theoretical and practical significance. Prospects for further, more extensive and rigorous experiments are outlined, including increasing the number of test cases and runs, as well as more fine-tuning of models, including those specifically designed for decompilation and vulnerability detection in program machine code.</p>
      </abstract>
      <kwd-group xml:lang="ru">
        <kwd>безопасность программного обеспечения</kwd>
        <kwd>машинный код программы</kwd>
        <kwd>уязвимость</kwd>
        <kwd>декомпиляция</kwd>
        <kwd>большие языковые модели (LLM)</kwd>
        <kwd>эксперимент</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>software security</kwd>
        <kwd>program machine code</kwd>
        <kwd>vulnerability</kwd>
        <kwd>decompilation</kwd>
        <kwd>large language models (LLMs)</kwd>
        <kwd>experiment</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <ref>
        <note>
          <p>1. Трошина Е. Н. Исследование и разработка методов декомпиляции программ: автореф. дис. ... канд. физ.-мат. наук. Москва, 2009. 24 с. EDN: NLCUUD.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>2. Касперски К. Техника отладки программ без исходных текстов. СПб.: БХВ-Петербург, 2005. 832 с. ISBN: 5-94157-229-8. URL: https://ibooks.ru/bookshelf/335097/reading (дата обращения: 10.03.2026).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>3. Аешин И. Т. Реверс-инжиниринг программного продукта с использованием IDA Pro // Актуальные проблемы авиации и космонавтики. 2018. Т. 3. № 4 (14). С. 808‒809. EDN: VTUAPE.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>4. Shin E. C. R., Song D., Moazzezi R. Recognizing functions in binaries with neural networks // The proceedings of 24th USENIX Conference on Security Symposium (USA, Washington, D.C., 2015 August 12-14). 2015. P. 611‒626. ISBN: 978-1-931971-232. URL: https://people.eecs.berkeley.edu/~dawnsong/papers/Recognizing%20functions%20in%20binaries%20with%20neural%20networks_augsut%202015.pdf (дата обращения: 10.03.2026).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>5. He J., Ivanov P., Tsankov P., Raychev V., Vechev M. Debin: Predicting Debug Information in Stripped Binaries // The proceedings of SIGSAC Conference on Computer and Communications Security (New York, NY, USA, 15-19 October 2018). 2018. 1667–1680. DOI: 10.1145/3243734.3243866.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>6. Израилов К. Е., Буйневич М. В. Реверс-инжиниринг программного обеспечения методом смарт-перебора: пошаговая схема // Труды учебных заведений связи. 2025. Т. 11. № 4. С. 129-142. EDN: UOKLHB. DOI: 10.31854/1813-324X-2025-11-4-129-142.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>7. Израилов К. Е. Генетический реверс-инжиниринг программ для поиска уязвимостей // Вестник Санкт-Петербургского университета Государственной противопожарной службы МЧС России. 2025. № 1. С. 109-119. EDN: UHFRBI. DOI: 10.61260/2218-130X-2025-1-109-119.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>8. Tan H., Luo Q., Li J., Zhang Y. LLM4Decompile: Decompiling Binary Code with Large Language Models // The proceeding of Conference on Empirical Methods in Natural Language Processing (Miami, Florida, 12–16 November 2024). 2024. P. 3473–3487. DOI: 10.18653/v1/2024.emnlp-main.203.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>9. Katz D. S., Ruchti J., Schulte E. Using recurrent neural networks for decompilation // The proceedings of 25th International Conference on Software Analysis, Evolution and Reengineering (Campobasso, Italy, 20-23 March 2018). 2018. P. 346-356. DOI: 10.1109/SANER.2018.8330222.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>10. Израилов К. Е. Концепция генетической деэволюции представлений программы. Часть 1 // Вопросы кибербезопасности. 2024. № 1 (59). С. 61-66. EDN: CBCKRF. DOI: 10.21681/2311-3456-2024-1-61-66.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>11. Израилов К. Е. Концепция генетической деэволюции представлений программы. Часть 2 // Вопросы кибербезопасности. 2024. № 2(60). С. 81-86. EDN: JUBPML. DOI: 10.21681/2311-3456-2024-2-81-86.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>12. Дудина И. А., Малышев Н. Е. Об одном подходе к анализу строк в языке СИ для поиска переполнения буфера // Труды Института системного программирования РАН. 2018. Т. 30. № 5. С. 55-74. EDN: YQOZXF. DOI: 10.15514/ISPRAS-2018-30(5)-3.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>13. Вдовченко Г. П. Метод и анализ вредоносных программ // Международный журнал информационных технологий и энергоэффективности. 2025. Т. 10. № 7-1 (57). С. 18-22. EDN: VNMIIY.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>14. Коробцов В. И., Овсянников И. В., Сачков Д. И. Автоматическая генерация надежного программного кода с помощью генеративных предобученных трансформеров (GPT) // Информационные технологии и математическое моделирование в управлении сложными системами. 2024. № 1 (21). С. 52-59. EDN: KLVTWY.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>15. Ding S., Yuan J. Identifying buffer overflow vulnerabilities based on binary code // IEEE International Conference on Computer Science and Automation Engineering (Shanghai, China, 10-12 June 2011). 2011. DOI: 10.1109/CSAE.2011.5952950.</p>
        </note>
      </ref>
    </ref-list>
  </back>
</article>
