У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 3 по дисциплине- ldquo;Безопасность программ и данныхrdquo; на тему- ldquo;абфускация про

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 1.7.2025

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ

ЛАБОРАТОРНАЯ РАБОТА №3

по дисциплине: “Безопасность программ и данных”

на тему:  “абфускация програмного кода”

Выполнил:

студент гр.ПСД-11оз

Королев. Е.В.

Донецк  2013

Цель  работы:  Изучение  возможностей  существующих  обфускаторов

для защиты программных продуктов.

Обфускация (от лат. obfuscare — затенять, затемнять; и англ. obfuscate 

— делать неочевидным, запутанным, сбивать с толку) или запутывание кода

— приведение исходного текста или исполняемого кода программы к виду,

сохраняющему ее функциональность, но затрудняющему анализ, понимание

алгоритмов работы и модификацию при декомпиляции.

Существует несколько онлайн-обфускаторов для javascript:

http://discogscounter.getfreehosting.co.uk/js-noalnum_com.php

http://utf-8.jp/public/aaencode.html

http://utf-8.jp/public/jjencode.html

http://www.freedomscripts.org/js-invis.html


Php онлайн-обфускаторы:

http://wb0.ru/phpobf.php

Код:

<? phpinfo();

Результат:

<? $GLOBALS['_863673181_']=Array(base64_decode('cGhwaW5m' .'b' .'w==')); ?><? function _750194230($i){$a=Array();return base64_decode($a[$i]);} ?><? $GLOBALS['_863673181_'][0]();

Виды абфускации:

Лексическая обфускация

Наиболее простая, заключается в форматировании кода программы, изменении его структуры, таким образом, чтобы он стал нечитабельным, менее информативным, и трудным для изучения.

Обфускация данных

Такая обфускация связана с трансформацией структур данных. Она считается более сложной, и является наиболее продвинутой и часто используемой. Ее принято делить на три основные группы, которые описаны ниже.

Обфускация хранения. Заключается в трансформации хранилищ данных, а также самих типов данных (например, создание и использование необычных типов данных, изменение представления существующих и т.д.). Ниже приведены основные методы, позволяющие осуществить такую обфускацию:

Обфускация соединения. Один из важных этапов, в процессе реверсивной инженерии программ, основан на изучении структур данных. Поэтому важно постараться, в процессе обфускации, усложнить представление используемых программой структур данных. Например, при использовании обфускации соединения это достигается благодаря соединению независимых данных, или разделению зависимых.

Обфускация переупорядочивания. Заключается в изменении последовательности объявления переменных, внутреннего расположения хранилищ данных, а также переупорядочивании методов, массивов (использование нетривиального представления многомерных массивов), определенных полей в структурах и т.д.

Обфускация управления

Обфускация такого вида осуществляет запутывание потока управления, то есть последовательности выполнения программного кода.

Большинство ее реализаций основывается на использовании непрозрачных предикат, в качестве, которых выступают, последовательности операций, результат работы которых сложно определить (само понятие "предикат" выражает свойство одного объекта (аргумента), или отношения между несколькими объектами).

Обфускация вычислительная. Изменение касающиеся главной структуры

Обфускация соединения. Объединение или разделение определенных фрагментов кода программы, для того чтобы убрать логические связи между ними

Обфускация последовательности. Заключается в переупорядочивании блоков (инструкций переходов), циклов, выражений.




1. Производственные отношения
2. в нем нет ни консервантов ни химии ни всех тех вредностей которые в больших количествах содержатся в совре
3. Создание прибора для исследования биомеханики дыхания в условиях космического полета
4. Сид ты не понимаешь того что большая часть нашей жизни определяется бессознательным
5. Введение в этническую психологию
6. Инженерлік кибернетика кафедрасы Есептеуграфикалы~ ж~мыс 1 П~н аты- ~лшеулерді~ техни
7. История уголовного права России в советский период
8. Тема 8- Парламент в зарубежных странах
9. Effective. Degree courses re usully shorter nd more intensive thn in other countries
10.  Определение доли рынка- а может быть через натуральные показатели- Днат где Днат доля определяем