Библиотека knigago >> Компьютеры: Разработка ПО >> Крэкинг и реверсинжиниринг >> Reverse Engineering для начинающих (Понимание языка ассемблера)


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1055, книга: Хозяин черной жемчужины
автор: Валерий Борисович Гусев

"Хозяин черной жемчужины" Валерия Гусева - это увлекательный остросюжетный роман для детей, который увлечет читателей в захватывающее морское приключение. Главный герой, 12-летний Саша, отправляется в морское путешествие со своим отцом-исследователем. Во время путешествия они попадают в шторм, их корабль затонул, а Саше чудом удается спастись с помощью загадочного старика, который называет себя Хозяином черной жемчужины. Вместе с Хозяином черной жемчужины Саша отправляется на поиски...

СЛУЧАЙНАЯ КНИГА

Денис Юричев - Reverse Engineering для начинающих (Понимание языка ассемблера)

Reverse Engineering для начинающих (Понимание языка ассемблера)
Книга - Reverse Engineering для начинающих (Понимание языка ассемблера).  Денис Юричев  - прочитать полностью в библиотеке КнигаГо
Название:
Reverse Engineering для начинающих (Понимание языка ассемблера)
Денис Юричев

Жанр:

Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Крэкинг и реверсинжиниринг, Assembler

Изадано в серии:

неизвестно

Издательство:

СИ

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Reverse Engineering для начинающих (Понимание языка ассемблера)"

Основы реверсинжиниринга.

Читаем онлайн "Reverse Engineering для начинающих (Понимание языка ассемблера)". [Страница - 114]

XOR-шифрованием.
Применяем XOR с константой 0x1A к каждому байту в Hiew и мы можем видеть
знакомые текстовые строки на английском:

Рис. 9.3: Hiew применение XOR с 0x1A
XOR-шифрование с одним константным байтом это самый простой способ шифрования, который, тем не менее, иногда встречается.
Теперь понятно почему байт 0x1A так часто встречался: потому что в файле
очень много нулевых байт и в зашифрованном виде они везде были заменены
на 0x1A.
Но эта константа могла быть другой.
В таком случае, можно было бы попробовать перебрать все 256 комбинаций, и
Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1193
посмотреть содержимое «на глаз», а 256 — это совсем немного.
Больше о формате файлов Norton Guide: http://www.davep.org/norton-guides/
file-format/.
Энтропия
Очень важное свойство подобного примитивного шифрования в том, что информационная энтропия зашифрованного/дешифрованного блока точно такая
же. Вот мой анализ в Wolfram Mathematica 10.
Листинг 9.2: Wolfram Mathematica 10
In[1]:= input = BinaryReadList["X86.NG"];
In[2]:= Entropy[2, input] // N
Out[2]= 5.62724
In[3]:= decrypted = Map[BitXor[#, 16^^1A] &, input];
In[4]:= Export["X86_decrypted.NG", decrypted, "Binary"];
In[5]:= Entropy[2, decrypted] // N
Out[5]= 5.62724
In[6]:= Entropy[2, ExampleData[{"Text", "ShakespearesSonnets"}]] // N
Out[6]= 4.42366

Что мы здесь делаем это загружаем файл, вычисляем его энтропию, дешифруем его, сохраняем, снова вычисляем энтропию (точно такая же!).
Mathematica дает возможность анализировать некоторые хорошо известные
англоязычные тексты.
Так что мы вычисляем энтропию сонетов Шейкспира, и она близка к энтропии
анализируемого нами файла.
Анализируемый нами файл состоит из предложений на английском языке, которые близки к языку Шейкспира.
И применение побайтового XOR к тексту на английском языке не меняет энтропию.
Хотя, это не будет справедливо когда файл зашифрован при помощи XOR шаблоном длиннее одного байта.
Файл, который мы анализировали, можно скачать здесь: http://beginners.
re/examples/norton_guide/X86.NG.
Еще кое-что о базе энтропии

Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1194
Wolfram Mathematica вычисляет энтропию с базой e (основание натурального
логарифма), а утилита UNIX ent 1 использует базу 2.
Так что мы явно указываем базу 2 в команде Entropy, чтобы Mathematica давала те же результаты, что и утилита ent.

1 http://www.fourmilab.ch/random/

Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1195

9.1.3. Простейшее четырехбайтное XOR-шифрование
Если при XOR-шифровании применялся шаблон длиннее байта, например, 4байтный, то его также легко увидеть.
Например, вот начало файла kernel32.dll (32-битная версия из Windows Server
2008):

Рис. 9.4: Оригинальный файл

Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1196
Вот он же, но «зашифрованный» 4-байтным ключом:

Рис. 9.5: «Зашифрованный» файл
Очень легко увидеть повторяющиеся 4 символа.
Ведь в заголовке PE-файла много длинных нулевых областей, из-за которых
ключ становится видным.

Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1197
Вот начало PE-заголовка в 16-ричном виде:

Рис. 9.6: PE-заголовок

Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1198
И вот он же, «зашифрованный»:

Рис. 9.7: «Зашифрованный» PE-заголовок
Легко увидеть визуально, что ключ это следующие 4 байта: 8C 61 D2 63. Используя эту информацию, довольно легко расшифровать весь файл.
Таким образом, важно помнить эти свойства PE-файлов: 1) в PE-заголовке много нулевых областей; 2) все PE-секции дополняются нулями до границы страницы (4096 байт), так что после всех секций обычно имеются длинные нулевые
области.
Некоторые другие форматы файлов могут также иметь длинные нулевые области.
Это очень типично для файлов, используемых научным и инженерным ПО.
Для тех, кто самостоятельно хочет изучить эти файлы, то их можно скачать
Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!

1199
здесь:
http://beginners.re/examples/XOR_4byte/.
Упражнение
• http://challenges.re/50

9.1.4. Простое шифрование используя XOR-маску
Я нашел одну старую игру в стиле interactive fiction --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.