aboutsummaryrefslogtreecommitdiff
path: root/help/ru/software_protection.htm
diff options
context:
space:
mode:
authorjmpoep <OriginalEntryPoint@qq.com>2023-12-07 16:51:07 +0800
committerjmpoep <OriginalEntryPoint@qq.com>2023-12-07 16:51:07 +0800
commit28008a746a31abb7909dd86cb0cd413ac8943b0b (patch)
treea30b74b8cad548048c3c1551d652828ab76fa9bd /help/ru/software_protection.htm
downloadvmprotect-3.5.1-master.tar
vmprotect-3.5.1-master.tar.gz
vmprotect-3.5.1-master.tar.bz2
vmprotect-3.5.1-master.zip
first commitHEADmaster
Diffstat (limited to 'help/ru/software_protection.htm')
-rw-r--r--help/ru/software_protection.htm126
1 files changed, 126 insertions, 0 deletions
diff --git a/help/ru/software_protection.htm b/help/ru/software_protection.htm
new file mode 100644
index 0000000..6a3a482
--- /dev/null
+++ b/help/ru/software_protection.htm
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <link rel="Stylesheet" type="text/css" href="default.css" />
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=utf-8" />
+
+ <title>Изучение, взлом и защита программного обеспечения</title>
+</head>
+
+<body>
+ <h1>Изучение, взлом и защита программного обеспечения</h1>
+
+ <p>Изучение программного продукта может осуществляться методом
+ статического и/или динамического анализа. При статическом анализе
+ разработка алгоритма взлома защиты производится на основе анализа
+ результатов дизассемблирования или декомпиляции взламываемой
+ программы. Динамический анализ чаще всего применяют при взломе
+ программных продуктов, исполняемый код которых зашифрован или
+ динамически изменяется, так как статический анализ подобных
+ программ сопряжен с определенными трудностями.</p>
+
+ <p>Для динамического анализа взламываемую программу запускают в
+ среде отладчика, при этом становится возможным контроль всех
+ изменений, возникающих в процессе функционирования приложения. В
+ процессе динамического анализа, используя режим отладки,
+ производят пошаговое прохождение "защитных" алгоритмов программы,
+ в частности алгоритмов проверки и генерации корректного
+ регистрационного кода. Еще одним средством, применяемым при
+ динамическом анализе, являются мониторы активности, отслеживающие
+ обращение взламываемой программы к файлам, системным сервисам,
+ портам и внешним устройствам.</p>
+
+ <p>Основным инструментом, применяемым для защиты приложений от
+ взлома, являются <a href=
+ "dictionary.htm#Protector">программы-протекторы</a>. Защита,
+ реализуемая большинством протекторов, заключается в том, что они
+ <a href="dictionary.htm#Pack">упаковывают</a> и/или <a href=
+ "dictionary.htm#Crypt">шифруют</a> исходный исполняемый файл,
+ уделяя основное внимание защите процедуры распаковки/расшифровки
+ файла.</p>
+
+ <p>Подобный алгоритм работы протекторов очень часто оказывается
+ причиной недостаточной степени защиты обеспечиваемой большинством
+ из них. В случае если приложение защищено с использованием
+ упаковки, по окончании работы распаковщика в распоряжении
+ злоумышленника может оказаться исходный файл, который может быть
+ получен при дампе определенной области памяти. Более того, для
+ борьбы с самыми распространенными протекторами взломщики
+ разработали множество программных инструментов, позволяющих
+ взламывать защиту в автоматическом режиме. Аналогичный подход
+ применяется при борьбе с шифрованием: после получения
+ лицензионного ключа, который в том числе может быть легально
+ приобретен, взломщик сможет расшифровать защищенные участки
+ кода.</p>
+
+ <p>Ряд программ-протекторов применяют различные антиотладочные
+ приемы. Однако применение антиотладки значительно снижает
+ быстродействие программы. Также следует помнить, что
+ антиотладочные приемы действенны лишь против динамического
+ анализа и совершенно не эффективны против статического. Более
+ того, все антиотладочные приемы, применяемые в современных
+ протекторах, уже давно изучены, а взломщиками написано множество
+ утилит, которые их полностью нейтрализуют. На эффективность
+ использования мониторов активности встроенные в приложение
+ средства защиты от отладки не влияют.</p>
+
+ <p>Более эффективными методами защиты приложения являются
+ <a href="dictionary.htm#Obfuscation">обфускация</a> и <a href=
+ "dictionary.htm#Virtualization">виртуализация</a>, усложняющие
+ анализ кода защищаемого приложения. В общем случае эффективность
+ данных методов достигается за счет использования особенностей
+ человеческого фактора - чем сложнее исходный код, чем больше
+ ресурсов использует приложение, тем человеку его анализирующему
+ тяжелее понять логику работы программы, а следовательно, и
+ взломать примененные средства защиты.</p>
+
+ <p>При обфускации производится запутывание кода приложения за
+ счет введения дополнительных инструкций. При виртуализации
+ исходный код преобразуется в <a href=
+ "dictionary.htm#ByteCode">байт-код</a>, выполнение которого
+ осуществляется на специальном интерпретаторе, имитирующем
+ виртуальную машину со специфической системой команд.
+ Следовательно, применение виртуализации приводит к высокой и
+ неснижаемой степени запутанности результирующего кода, а при
+ определенном подходе к реализации этого метода защищенный код не
+ содержит методов восстановления оригинального кода в явном виде.
+ Таким образом, важнейшим преимуществом виртуализации является то,
+ что в момент выполнения виртуализированного участка кода не
+ происходит его обратного преобразования в машинные коды
+ процессора, а это исключает возможность получения взломщиком
+ оригинального кода приложения.</p>
+
+ <p>Задача обратного инжиниринга виртуализированных фрагментов
+ сводится к изучению архитектуры <a href=
+ "dictionary.htm#VirtualMachine">виртуальной машины</a>, созданию
+ дизассемблера, соответствующего архитектуре имитируемого
+ виртуальной машиной процессора, и анализу дизассемблированного
+ кода. При определенном подходе к реализации виртуальной машины
+ задача создания дизассемблера виртуализированного кода становится
+ достаточно трудоемкой. Единственным недостатком виртуализации
+ является сравнительно низкая скорость работы, поэтому этот метод
+ следует применять только для защиты участков кода, некритичных к
+ скорости исполнения.</p>
+
+ <p>В подавляющем большинстве современных протекторов методы
+ обфускации и виртуализации играют второстепенную роль, а уровень
+ их реализации недостаточен, что позволяет взломщикам выполнять
+ снятие подобной защиты в автоматизированном или ручном режиме.
+ Еще одним слабым местом многих современных протекторов является
+ использование недокументированных функций Windows, что создает
+ ограничения для использования приложения в новых версиях
+ операционной системы или при включенном режиме DEP.</p><br />
+ <br />
+ <br />
+ <br />
+ <br />
+ <hr noshade="noshade" size="1" />
+
+ <div align="center">
+ © 2006-2015 Copyright VMProtect Software
+ </div>
+</body>
+</html>