Преобразуйте двоичный файл в изображение PNG, а затем расшифруйте его обратно в двоичный формат.
Каждый байт двоичного файла преобразуется в числа (0–255), которые затем определяют цвет пикселя. Для каждого байта будет отдельный пиксель в оттенках серого в конечном изображении PNG. Изображение PNG может содержать больше пикселей, чем количество байтов двоичного файла. Лишние пиксели будут иметь цвет RGB(255, 0, 0) (красный) и будут игнорироваться при расшифровке файла.
При расшифровке файла PNG для создания соответствующего двоичного файла мы берем каждый пиксель изображения и получаем его цвет. Если цвета R и G разные, мы пропускаем этот пиксель. Он не в оттенках серого, как и лишний пиксель. Если это оттенки серого, мы берем номер цвета для R и затем преобразуем его в двоичное представление. Мы создаем массив беззнаковых символов со всеми расшифрованными двоичными данными пикселей, а затем сохраняем его обратно в двоичный файл.
Вы можете скачать exe-файл прямо отсюда: https://github.com/leeroybrun/Bin2PNG/releases/download/v1.1/Bin2PNG.exe.
Или вы можете собрать его с помощью Visual Studio или любого другого компилятора C.
Затем поместите двоичный файл для преобразования в ту же папку, что и файл Bin2PNG.exe
, и переименуйте его в in.exe
.
Затем вы можете зашифровать его в изображение PNG:
Bin2PNG.exe шифрует
В случае успеха будет сгенерирован файл image.png
.
Затем вы можете расшифровать этот файл обратно в двоичный файл следующим образом:
Расшифровка Bin2PNG.exe
Он расшифрует файл image.png
и создаст новый двоичный out.exe
.
Добавьте параметры для определения имени двоичных файлов и файлов изображений.
Возможно, найдите лучший способ преобразовать байт в число.
Выясните, почему расшифрованный exe-файл немного больше оригинала.
(Лицензия MIT)
Авторские права (C) 2013 г. Лирой Брун, www.leeroy.me
Настоящим бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), предоставляется разрешение на работу с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение. публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.