|
Прочие вопросы Вопросы не касающиеся программирования (установка, настройка...) |
22.06.2009, 22:19
|
#16
|
Оператор ЭВМ
Регистрация: 24.09.2007
Сообщений: 36
Написано 2 полезных сообщений (для 3 пользователей)
|
Re: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Коллеги, уже есть некоторые решения этого вопроса вот здесь http://supremej2me.bambalam.se/guide...on-tools/bamfs.
По-моему, формат упакованного файла оптимальный.
Ещё вопрос по шифрации: насколько она надёжна?
Ведь декомпиляция class файла покажет алгоритм шифрации...
Последний раз редактировалось VM, 22.06.2009 в 22:31.
|
(Offline)
|
|
23.06.2009, 00:14
|
#17
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Алгоритм шифрации может и покажет, но вот ключ можно и из Интернета скачивать и не хранить его в программе вообще.
Да и есть ли такая защита, которую бы нельзя было бы взломать? Взломать можно всё.
Последний раз редактировалось odd, 23.06.2009 в 00:22.
|
(Offline)
|
|
26.06.2009, 01:46
|
#18
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Итак, вот тестовый вариант упаковщика/распаковщика, пока без шифрования(думаю, следует оставить оба варианта - с шифрованием и без, на выбор пользователя). На счет порядка байтов в заголовке - пишу прямо из памяти в поток, это правильно или надо наоборот?
Упаковка сделана в два этапа - сначала создаются файлы data.bin(данные) и hdr.bin(заголовок), потом все собирается в один файл. Сделал так, чтобы обрабатывать все файлы в один проход - открываю поток, определяю размер, пишу в файл заголовка, тут же копирую поток в файл данных, закрываю поток и так для каждого файла. Для этого в папке программы должна быть папка Temp.
На счет шифрования, думаю, лучше шифровать весь блок данных сразу, но шифрование каждого файла в блоке начинать с начала ключа.
2 odd код могу выложить при необходимости.
|
(Offline)
|
|
26.06.2009, 23:12
|
#19
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Добавил шифрование(опционально). Длина ключа 1-255 байт, каждый следующий байт данных ксорится со следующим байтом ключа, байты ключа перебираются циклически, дл каждого ресурса сначала. Для распаковки зашифрованного файла нужно также как и при упаковке включить шифрование и ввести ключ.
В дальнейшем могу добавить сдвиг, также можно для пущей конспирации заголовок зашифровать.
Сейчас для промежуточных файлов используется TFileStream, однако, поскольку файлы небольшие, думаю будет лучше использовать TMemoryStream.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.06.2009, 21:25
|
#20
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Ок. Буду подгонять библиотеку-распаковщик.
Она уже почти готова, а вот тестировать не на чем т.к. запаковщика не было.
Есть идея зашифровать и заголовок с переменным ключом, но об этом чуть позже и в личку.
|
(Offline)
|
|
30.06.2009, 01:26
|
#21
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Либа пашет нормально. Уже могу извлекать текст, картинки и звуки.
Хочу ещё добавить чтение текста построчно с перекодировкой.
Только несколько замечаний по кодировщику:
1. Небольшая ошибка в алгоритме шифрования. К примеру, я задаю ключ "123", а шифрование идет не тремя байтами, а четырьмя. Последний байт всегда 0 зачем-то добавляется.
2. Расширь окошко с названиями файлов, а то не видно имен файлов если путь длинный.
Очень желательно добавить скроллинг битов и шифрование заголовка.
Ещё можно перед заголовком вставлять N фейковых байтов для пущей маскировки файла с нашими ресурсами под другой файл. К примеру можно вставить заголовки от JPG, PNG, ZIP и проч. Прикол в том, что архив с картинками можно зашифровать и добавить заголовок типа это PNG, естественно файл открываться не будет. Юзер подумает, что применен какой-то экзотический метод сжатия PNG картинок или файл действительно поврежден. Или добавить перед заголовком байты 0xCAFEBABE и архив обозвать как class файл.
Если удастся добавить сдвиг заголовка + шифрацию заголовка + шифрацию данных = в итоге получим довольно криптостойкую защиту информации. Не зная алгоритма декодировщика можно будет ломать голову над хранилищем довольно долго.
Последний раз редактировалось odd, 30.06.2009 в 01:48.
|
(Offline)
|
|
30.06.2009, 04:13
|
#22
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
К примеру можно вставить заголовки от JPG, PNG, ZIP и проч. Прикол в том, что архив с картинками можно зашифровать и добавить заголовок типа это PNG, естественно файл открываться не будет. Юзер подумает, что применен какой-то экзотический метод сжатия PNG картинок или файл действительно поврежден.
|
Можно даже небольшую картинку в начало файла записать, чтобы она и открывалась как картинка, например двуцветная чернобелая PNG с каким-нибудь рисунком будет весить мало при относительно большом рисунке. Это для пущей конспирации. Чел щёлкнет на файле и он откроется как картинка, он может и не подумать, что после самой картинки в файле другие данные вбиты. Можно даже сами данные хранить в качестве мета данных самой картинки (если только PNG поддерживает хранение там любых данных), тогда начало и конец файла будут полностью соответствовать PNG сигнатуре. И чел просто подумает, что картинка так много весит из-за кривого сжатия PNG-24.
Или добавить перед заголовком байты 0xCAFEBABE и архив обозвать как class файл.
|
Не проканает. Джава машина не даст открыть для чтения ресурс с расширением *.class =(
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.06.2009, 08:25
|
#23
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Короче решено.
Желательно в запаковщик добавить функции прикрепления заданного файла перед заголовком или генерацию N случайных байт от фонаря.
|
(Offline)
|
|
30.06.2009, 23:08
|
#24
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Понятно, с лишними байтами в шифровщике разберусь, шифрование заголовка и маскировку допишу, на счет интерфейса - доработаю, это пока был тестовый вариант для проверки работоспособности основного кода. На счет окна с именами файлов - может лучше вообще выводить только имена без пути, или сделать возможность включения/отключения отображения пути, также можно все это переделать на основе TListView и добавить сопоставленные расширению иконки.
|
(Offline)
|
|
01.07.2009, 17:20
|
#25
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Да, путь этот и не нужен никому. Желательно отображать: номер в архиве/тип данных/имя (без пути).
Буду ждать новую версию кодировщика. Хотя тестировать пока можно и на этом. Я пока буду улучшать работу с текстовыми файлами. Чтение побайтно делать вообще? Или не надо? Пока извлекает (закодированные и незакодированные) рисунки, звуки, текстовые файлы (извлекаются сразу целиком).
|
(Offline)
|
|
01.07.2009, 21:48
|
#26
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Сообщение от odd
Да, путь этот и не нужен никому. Желательно отображать: номер в архиве/тип данных/имя (без пути).
Буду ждать новую версию кодировщика. Хотя тестировать пока можно и на этом. Я пока буду улучшать работу с текстовыми файлами. Чтение побайтно делать вообще? Или не надо? Пока извлекает (закодированные и незакодированные) рисунки, звуки, текстовые файлы (извлекаются сразу целиком).
|
А файлы куда извлекаются? В RMS?
Ошибку в кодировщике пофиксил, добавил запись файла в начало архива. Попробую приделать создание промежуточных файлов прямо в памяти и список переделаю. А можно еще сделать кнопку "Детальная информация", по нажатию которой выводить полную информацию о выделенном ресурсе и предпросмотр.
|
(Offline)
|
|
02.07.2009, 02:54
|
#27
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Сообщение от ViNT
А файлы куда извлекаются? В RMS?
|
Файлы извлекаются в переменные. Текстовый файл - в строку, графика - в переменную типа Image, только звуки загружаются сразу в плеер без использования переменных.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.07.2009, 15:30
|
#28
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Еще некоторые изменения.
Сделано добавление файла в начало (при распаковке программой нужно указать количнство байт, которые следует пропустить, естественно, должно соответствовать размеру файла в начале пакета).
Изменени список файлов, убран путь, добавлена иконка, номер в пакете и размер файла.
Также есть окно полной информации, но оно пока нефункционально, не удается сделать нормальное выравнивание, буду делать специальное окно.
Дальше планирую добавить просмотр изображений, текста, воспроизведение звуковых файлов и просмотр прочих файлов в HEX-формате.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.07.2009, 03:27
|
#29
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Ура! Наконец-то. Можно будет уже выпустить первую версию библиотеки в свет.
А можно сделать так, чтоб при прикреплении в начало фейкового файла, его длина автоматически отображалась в поле "пропустить N байт"? А то напряжно смотреть какая там длина у файла.
|
(Offline)
|
|
16.07.2009, 02:52
|
#30
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как запаковать и извлеч картинки и прочюю информацию в DAT?
Сообщение от odd
А можно сделать так, чтоб при прикреплении в начало фейкового файла, его длина автоматически отображалась в поле "пропустить N байт"? А то напряжно смотреть какая там длина у файла.
|
Сам как-то не додумался, добавил. Также, переделал окно информации.
Дальше сделаю создание информационного файла для корректной распаковки пакета RESPacker'ом и шифрование заголовка(в этом билде забыл сделать).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:06.
|