PHP - чтение скрытого текста из bmp - пример программы на PHP
Primary tabs
более подробные пояснения к тому, что происходит здесь = http://fkn.ktu10.com/?q=node/4317
скрывался текст таким образом
А вот пример чтения из картинки:
<?php
include 'lib.php';
$offset = 123; // откуда начнём читать
$file_handle = fopen("rf2000.bmp", "r"); // получаем дескриптор файла (для чтения и записи)
// b в "rb" указывает ,что мы собрались читать бинарный файл
$barr = array();// массив байтов файла
while ($data = fread($file_handle, 1)) // читаем по одному байту
{
// получаем массив двоичных чисел
//$barr[] = str_pad(base_convert(bin2hex($data), 16, 2), 8, '0', STR_PAD_LEFT);// дополняем до 8-ми символов
$barr[] = bin2hex($data);// получим данные в шестинатеричном виде
}
$tarr = array();
$n = 1; // счётчик битов в байтах скрытого текста, который мы извлекаем
$m = 1; // счётчик извлечённых байтов
$c = count($barr);
for ($i = $offset; $i < $c; $i++)
{
$symb = str_to_arr(str_pad(base_convert($barr[$i], 16, 2), 8, '0', STR_PAD_LEFT));// получаем очередной байт в виде 8 бит(массив)
$tarr[$m][$n] = $symb[7];// берём самый младший
$n++;
if ($n == 9) {
//echo '<br>--a$ ' . $tarr[$m];
$tarr[$m] = chr(base_convert(arr_to_str($tarr[$m]), 2, 10)); // сразу получаем очередной символ
echo $tarr[$m];
$n = 1;
$m++;
}
}
echo '<br>';
print_line($tarr);
ПРИМЕЧАНИЕ: реализацию пользовательских функций (lib.php) для данного примера можно найти здесь = http://fkn.ktu10.com/?q=node/4315
- Log in to post comments
- 4029 reads