Счоинение. Методы защиты java приложений основы научноисследовательской работы
![]()
|
МЕТОДЫ ЗАЩИТЫ JAVA ПРИЛОЖЕНИЙ Основы научно-исследовательской работы Содержание презентации
Известно, что основными характеристиками языка Java являются его открытость, интерпретируемость и кроссплатформерность. Эти качества помогают разработчикам свободно распространять свои приложения на разных платформах. Статья предлагает лучшие средства и методы, которые помогут избежать компрометации программного кода. Ключевые слова Обфускация, реверс-инжиниринг, байткод, декомпилятор, виртуальная машина, кроссплатформерность, software cracking, stack, string obfuscation, flow obfuscation, exception obfuscation, reference obfuscation, рефлексия, ASM библиотека. Актуальность Актуальность данного исследования обусловлена массовой волной распространения незаконного программного обеспечения, написанного на языке Java, посредством взлома системы лицензии (software cracking). Цель работы Выявить наиболее эффективные методы защиты Java приложений. Основная часть Основная проблема связанная с компрометацией кода на языке Java – это его интерпретируемость. В отличие от компилируемых языков, Java выполняет код не в ОС, а в своей виртуальной машине – Java Virtual Machine. Поэтому мы легко можем провести обратную операцию, использовав специальную программу – декомпилятор, которая переводит интерпретируемый байткод в исходный код. Основная часть Рис. 1 – Схема компиляции / декомпиляции Обфускацией программы называется всякое ее преобразование, которое сохраняет вычисляемую программой функцию (эквивалентное преобразование), но при этом придает программе такую форму, что извлечение из текста программы (программного кода) ключевой информации об алгоритмах и структурах данных, реализованных в этой программе, становится трудоемкой задачей. [1]. Главные подходы к обфускации программного кода:
Рис. 2 – Код до String Obfuscation Рис. 2 – Код после String Obfuscation Спасибо! Please keep this slide for attribution |