close

Вход

Забыли?

вход по аккаунту

?

Лабораторная робота №1 абфускация

код для вставкиСкачать
Лабораторная работа №1
Тема: Обфускация кода
Цель: Выучить методы обфускации, получить практические знания
Краткие теоретические сведения:
Обфуска́ция (от лат. obfuscare - затенять, затемнять; и англ. obfuscate - делать неочевидным, запутанным, сбивать с толку) или запутывание кода - приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
"Запутывание" кода может осуществляться на уровне алгоритма, исходного текста и/или ассемблерного текста. Для создания запутанного ассемблерного текста могут использоваться специализированные компиляторы, использующие неочевидные или не документированные возможности среды исполнения программы. Существуют также специальные программы, производящие обфускацию, называемые обфускаторами (англ. Obfuscator).
Цели обфускации:
1. Затруднение декомпиляции/отладки и изучения программ с целью обнаружения функциональности.
2. Затруднение декомпиляции проприетарных программ с целью предотвращения обратной разработки или обхода DRM и систем проверки лицензий.
3. Нарушение авторских прав программистов и скрытие авторства. Парадокс в том, что используется это преимущественно в проприетарных программах .
4. Оптимизация программы с целью уменьшения размера работающего кода и (если используется некомпилируемый язык) ускорения работы.
5. Демонстрация неочевидных возможностей языка и квалификации программиста (если производится вручную, а не инструментальными средствами).
Ход выполнения:
Код до обфускации:
<?php include "simple_html_dom.php"; $valera = file_get_html ('http://www.google.com'); echo "<pre>";
print_r ($valera);
?>
История изменения:
Замененные переменные:
----------
Имя до замены Имя после замены
$valera $_0
Замененные функции:
----------
Имя до замены Имя после замены
Функции, передаваемые строковые параметры которых следует обработать вручную:
----------
Функции, имена которых не были заменены:
----------
Переменные, имена которых не были заменены:
----------
Код после обфускации:
<? $GLOBALS['_426919198_']=Array(base64_decode('c' .'HJpbnRfcg' .'=' .'=')); ?><? function _364283668($i){$a=Array('c2ltcGxlX2h0bWxfZG9tLnBocA==','aHR0cDovL3d3dy5nb29nbGUuY29t','PHByZT4=');return base64_decode($a[$i]);} ?><?php include _364283668(0);$_0=file_get_html(_364283668(1));echo _364283668(2);$GLOBALS['_426919198_'][0]($_0); ?>
Вывод: В ходе лабораторной работы были изучены методы обфускации, были получены практические умения с обфускацией. 
Документ
Категория
Рефераты
Просмотров
66
Размер файла
42 Кб
Теги
абфускация, робота, лабораторная
1/--страниц
Пожаловаться на содержимое документа