Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Методические указания к п. 6.5.



С помощью графического редактора Paint создать изображение прямоугольника с размером и цветом в соответствии с таблицей 6. При этом в Paint следует использовать опции РисунокАтрибуты…Переключатель Единицы измерения установить в положение точки. Размеры фигур умышленно выбраны малыми для того, чтобы просматриваемый объем файла был небольшим.

Порядок выбора атрибутов иллюстрирует следующий рисунок. Слева вверху виден белый прямоугольник в увеличенном масштабе.

 

 

Созданный рисунок сохранить в своей папке. Новому файлу целесообразно дать имя, которое характеризует его содержимое, например, Белый_10_4.С помощью программы Courier в созданный рисунок занести скрываемый текст из табл. 6. Порядок выполнения этой операции был изучен при выполнении Задания 2. Начиненный файл нужно сохранить в своей папке с любым именем, например, Белый_10_4_SeL.

С помощью программы HEdit32 изучить содержимое пустого и наполненного контейнера, то есть двух ранее созданных графических файлов.

Для примера ниже показано содержимое файла для черного прямоугольника размером 10х4 пикселя. Первые строки (54 байт) содержат служебную информацию (заголовок). Так как прямоугольник черный, то байты, отображающие цвет прямоугольника, содержат нули (00).

В левом столбце указаны восьмиразрядные шестнадцатеричные числа – адреса ячеек памяти. Правее приведено содержимое ячеек памяти в шестнадцатеричной системе счисления

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

В дальнейшем при описании принципа стеганографии будем использовать термин «ячейка памяти», понимая под этим адрес байта в исходном файле, не забывая, что при динамическом распределении памяти физический адрес в ОЗУ будет иным.

 

 

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

.

 

В первых строчках файла содержится служебная информация (ячейки 0…2FH). Ниже приведен фрагмент памяти, где выделены ячейки памяти, в которых размещена скрываемая в контейнере буква Z.

 
 


0030: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00

0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0050: 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00

0060: 00 00 00 00 00 00 00 02 00 00 02 02 02 01 00 00

 

Дадим пояснение к полученному результату.

Код буквы Z в кодировке CP-1251 равен 90D = 01011010B.

Буква Z будет представлена (скрыта) в программе Courier последовательностью четырех байтов: 10B = 02H, 10B = 02H, 01B = 01H, 01B = 01H. Этот результат получен следующим образом: взяты по 2 бита из двоичного кода буквы, начиная с младших (правых) разрядов, и заменены ими 2 младших бита в соответствующих байтах изображения (файла-контейнера).

Процесс разбиения кода буквы Z на пары битов и порядок их размещения в памяти иллюстрирует следующая таблица:

 

Двоичная СС
Шестнадцатеричная СС
Адреса шестнадцатеричные 3B 6D 6A

Таким образом, в результате разбиения восьмиразрядного двоичного кода буквы Z на пары битов и переноса их в контейнер получим:

биты 2 и 1 (10B), записанные в байт 00H, преобразуют его в байт 02H;

биты 4 и 3 (10B), записанные в байт 00H, преобразуют его в байт 02H;

биты 5 и 6 (01B), записанные в байт 00H, преобразуют его в байт 01H;

биты 8 и 7 (01B), записанные в байт 00H, преобразуют его в байт 01H.

В соответствии с разработанным автором программы Courier алгоритмом младший (правый) байт будет расположен по адресу 67H, второй байт расположен по адресу 6AH, третий – по адресу 6DH. Старший байт будет храниться на некотором отдалении от этих трех байтов, в ячейке по адресу 3BH.

Рассмотрим еще один пример. Предположим, что требуется скрыть в файле с изображением черного прямоугольника 4x10 латинские буквы RSX.

Вначале приведем содержимое памяти начиненного контейнера, а затем дадим комментарии к полученному результату.

 

0030: 00 00 00 00 00 00 00 00 00 01 01 01 00 00 00 00

0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0050: 00 00 00 00 00 0000 00 00 00 00 03 00 00 00 00

0060: 00 00 00 00 00 00 03 02 02 00 00 01 01 01 00 00


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

Сделаем анализ памяти для каждой буквы в отдельности.

Определим по кодовой таблице CP-1251 десятичный код заглавной латинской буквы R и переведем это число в двоичную систему счисления:

82D = 01010010B.

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

 

Двоичная СС
Шестнадцатеричная СС
Адреса шестнадцатеричные 3B 6D 6A

 

Аналогичные операции выполним для буквы S:

83D = 01010011B

 

Двоичная СС
Шестнадцатеричная СС
Адреса шестнадцатеричные 3A 6C

 

 

Дадим пояснения к порядку размещения в контейнере буквы X:

88D = 01011000B

 

Двоичная СС
Шестнадцатеричная СС
Адреса шестнадцатеричные 6B

 

Для уяснения принципа работы программы Courier следует с помощью четырех последних таблиц найти места размещения скрываемых букв в файле-контейнере.

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

Для квадрата 10х10 пикселей адреса размещения скрываемой информации приведены в следующей таблице.

 

  1 группа битов (СЗР) 2 группа битов 3 группа битов 4 группа битов (МЗР)
1 буква FB 12D 12A
2 буква FA 12C
3 буква F9 12B

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.