<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">sibsutis</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник СибГУТИ</journal-title><trans-title-group xml:lang="en"><trans-title>The Herald of the Siberian State University of Telecommunications and Information Science</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1998-6920</issn><publisher><publisher-name>СибГУТИ</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.55648/1998-6920-2022-16-3-48-55</article-id><article-id custom-type="elpub" pub-id-type="custom">sibsutis-150</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Метод защиты программ от отладочных точек останова посредством исполнения фрагментов кода в общем буфере</article-title><trans-title-group xml:lang="en"><trans-title>Method for Programs Protection against Breakpoints by Code Fragments Execution in a Shared Buffer</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Нечта</surname><given-names>И. В.</given-names></name><name name-style="western" xml:lang="en"><surname>Nechta</surname><given-names>I. V.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Нечта Иван Васильевич – доктор технических наук, доцент, заведующий кафедрой прикладной математики и кибернетики СибГУТИ.</p><p>630102, Новосибирск, ул. Кирова, 86.</p><p>Тел. (383) 2-698-216</p></bio><bio xml:lang="en"><p>Ivan V. Nechta - Doctor of technical sciences, Department chairman, SibSUTIS.</p><p>Novosibirsk.</p></bio><email xlink:type="simple">ivannechta@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Сибирский государственный университет телекоммуникаций и информатики</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Siberian State University of Telecommunications and Information Science</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2022</year></pub-date><pub-date pub-type="epub"><day>01</day><month>10</month><year>2022</year></pub-date><volume>0</volume><issue>3</issue><fpage>48</fpage><lpage>55</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Нечта И.В., 2022</copyright-statement><copyright-year>2022</copyright-year><copyright-holder xml:lang="ru">Нечта И.В.</copyright-holder><copyright-holder xml:lang="en">Nechta I.V.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://vestnik.sibsutis.ru/jour/article/view/150">https://vestnik.sibsutis.ru/jour/article/view/150</self-uri><abstract><p>Работа посвящена проблеме создания антиотладочных механизмов программы. Рассматривается   один   из   наиболее   стойких   методов   постановки   точек   останова для программ, который не может быть выявлен известными на сегодняшний день алгоритмами. В рамках исследования предлагается новый подход к написанию программ, который приводит к снижению эффективности самого принципа отладки, базирующегося на  точках  останова.  Предлагается  хранить  функции  программы  в  виде  набора  байт и  перед  их  исполнением копировать  код  в один общий  буфер.  Учитывая,  что  точки останова привязаны к адресу, мы в результате получим остановку отладчика на каждой выполняемой в буфере функции, а не на какой-то определенной, что существенно увеличит время отладки.</p></abstract><trans-abstract xml:lang="en"><p>The article is devoted to the problem of creating anti-debugging mechanisms of the program. One of the most robust methods of setting breakpoints for programs is considered which cannot be detected by currently known algorithms. As part of the study, a new approach for program development is proposed which leads to decreasing in the effectiveness of debugging based on breakpoints. It is proposed to store program functions as a set of bytes and copy their code into one shared buffer before executing them. Given that the breakpoints are bound to the address, as a result we will get a debugger stop at each function executed in the buffer, not at any specific one, that will significantly increase the debugging time.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>антиотладочные механизмы</kwd><kwd>точки останова</kwd><kwd>распаковщики</kwd><kwd>протекторы</kwd></kwd-group><kwd-group xml:lang="en"><kwd>anti-debug mechanisms</kwd><kwd>breakpoints</kwd><kwd>unpackers</kwd><kwd>code protectors</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Исследование выполнено в рамках НИОКТР № 122031600164-6 от 15.03.2022.</funding-statement></funding-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Apostolopoulos T., Katos V., Choo K. K. R., Patsakis C. Resurrecting anti-virtualization and antidebugging: Unhooking your hooks // Future Generation Computer Systems. 2021. V. 116. P. 393–405.</mixed-citation><mixed-citation xml:lang="en">Apostolopoulos T., Katos V., Choo K. K. R., and Patsakis C. Resurrecting anti-virtualization and antidebugging: Unhooking your hooks. Future Generation Computer Systems, 2021, vol. 116, pp. 393–405.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Zhang B. Research Summary of Anti-debugging Technology // Journal of Physics: Conference Series. IOP Publishing. 2021. V. 1744, № 4. P. 042186.</mixed-citation><mixed-citation xml:lang="en">Zhang B. Research Summary of Anti-debugging Technology. Journal of Physics: Conference Series. IOP Publishing, 2021, vol. 1744. no. 4, p. 042186.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Shields T. Anti-debugging – a developers view. Veracode Inc., USA, 2010.</mixed-citation><mixed-citation xml:lang="en">Shields T. Anti-debugging – a developers view. Veracode Inc., USA, 2010.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Guo F., Ferrie P., Chiueh T. C. A study of the packer problem and its solutions // Proc. of the International Workshop on Recent Advances in Intrusion Detection, 2008. P. 98–115.</mixed-citation><mixed-citation xml:lang="en">Guo F., Ferrie P. and Chiueh T. C. A study of the packer problem and its solutions. International Workshop on Recent Advances in Intrusion Detection, 2008, pp. 98–115.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Deng Z., Zhang X., Xu D. Spider: Stealthy binary program instrumentation and debugging via hardware virtualization // Proc. of the 29th Annual Computer Security Applications Conference, 2013. P. 289–298.</mixed-citation><mixed-citation xml:lang="en">Deng Z., Zhang X. and Xu D. Spider: Stealthy binary program instrumentation and debugging via hardware virtualization. Proceedings of the 29th Annual Computer Security Applications Conference, 2013, pp. 289–298.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Deng Z., Xu D., Zhang X., Jiang X. Introlib: Efficient and transparent library call introspection for malware forensics // Digital Investigation. 2012. V. 9. P. S13–S23.</mixed-citation><mixed-citation xml:lang="en">Deng Z., Xu D., Zhang X. and Jiang X. Introlib: Efficient and transparent library call introspection for malware forensics. Digital Investigation, 2012, vol. 9, pp. S13–S23.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Программы-распаковщики [сайт]. URL: http://www.all-for-rus.narod.ru/unpack.htm (дата обращения: 21.06.2022).</mixed-citation><mixed-citation xml:lang="en">Programmy raspakovshhiki [Programs for unpacking], available at: http://www.all-for-rus.narod.ru/unpack.htm (accessed: 21.06.2022).</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Скрипт для анализа и исходный код примера [репозиторий]. URL: https://github.com/ivannechta/UntiBPX/ (дата обращения: 21.06.2022).</mixed-citation><mixed-citation xml:lang="en">Skript dlja analiza i ishodnyj kod primera [Analysis script and source code example], available at: https://github.com/ivannechta/UntiBPX/ (accessed: 21.06.2022).</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Официальный сайт дизассемблера IDA [сайт]. URL: https://www.hex-rays.com/ida-free/ (дата обращения: 21.06.2022).</mixed-citation><mixed-citation xml:lang="en">Oficial'nyj sajt dizassemblera IDA [Official site of disassembler IDA], available at: https://www.hexrays.com/ida-free/ (accessed: 21.06.2022).</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
