Print This Post Шифрующий архиватор с автораспаковщиком

Воскресенье, 24. Октябрь 2010
Раздел: C/C++, Windows, Это интересно, автор:

Написал несложную программку - архиватор, позволяющий создавать запароленные зашифрованные архивы и прикреплять к ним автораспаковщик. Интерфейс архиватора выглядит так:

Как видно, архиватор позволяет добавить произвольное количество файлов в архив, при случайном добавлении лишних - удалить их или вообще очистить список файлов. Если добавить файлы в архив из разных директорий, архиватор автоматически вычислит самую общую для них и сохранит структуру расположения файлов. Пустые файлы и папки в архив не добавятся. Можно задать заголовок архива и текст, который отобразится в распаковщике перед полем ввода пароля. Также есть возможность задать уровень сжатия и сам пароль для шифрования файлов. Можно создавать архив с автораспаковщиком (формат exe), в этом случае не следует добавлять в него файлов больше, чем на 4 Гб. При создании архива без распаковщика (формат dxa) ограничений на размеры файлов или архива не накладываются, но такой архив можно будет распаковать, только имея разархиватор. Вот как он выглядит:

Распаковываться будут только выбранные в списке файлы. Если файл в папке разархивирования уже существует, распаковщик спросит, заменить ли его. Кроме того, распаковщик создаст все необходимые папки для разархивирования, если это необходимо.

Архивирование производится с помощью zlib, а шифрование - AES256.

Как все это можно использовать? Достаточно вспомнить о большом количестве файловых партнерок и понять, что теперь можно и самим делать платные архивы и распространять их, завися только от биллинга.
А еще это просто хороший архиватор :)

UPD: добавлена возможность создавать просто архивы без пароля.

Скачать: ZIP
Исходн говнокоды: source

 Обсудить на форуме


Получать обновления на почту:     

Комментариев: 49 к “Шифрующий архиватор с автораспаковщиком”


  1. Виктория :

    Спасибо большое за ответ. Подскажите пожалуйста еще как их подключить уже новые ошибки. Может у кого то есть проект на VS 2010 визуальный архиватора. Очень нужно.

    [Ответить]

    Kaimi:

    Скачай предварительно собранные бинарники zlib, добавь путь к инклюдам и библиотекам zlib в настройках проекта, ну и zlib.lib или как там её добавь в настройках в доп. зависимости, либо через pragma comment(lib, ...

    [Ответить]


  2. Виктория :

    Все зделано что вы написали. Возникла ошибка 1>archiver.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции "unsigned long __cdecl GetSaveName(struct HWND__ *,struct HINSTANCE__ *,char *,char const *,char const *,char const *,unsigned long *)" (?GetSaveName@@YAKPAUHWND__@@PAUHINSTANCE__@@[email protected])
    1>archiver.obj : error LNK2019: ссылка на неразрешенный внешний символ _compress2 в функции __catch$?archfunc@@[email protected]$0
    1>archiver.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции [email protected]
    Компилятор не сгенерировал правильный код; свяжитесь со службой технической поддержки Майкрософт.

    [Ответить]

    Kaimi:

    Подключи Shlwapi.lib

    [Ответить]


  3. Виктория :

    те же ошибки остались.

    [Ответить]

    Kaimi:

    compress2 - не знаю, видимо из zlib.
    InitCommonControlsEx - Comctl32.lib

    [Ответить]


  4. Дмитрий :

    Надеюсь доросту и до понятия остальных раздач, но за этот подгон огромнейшее спасибо!

    [Ответить]


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