zip ファイルのコンテンツを含むメモリに格納されたバッファーから zip ファイルを解凍することについて話している場合、それは確かに minizip で実行できることです。minizip を見ると、メモリから zip ファイルをロードして解凍するためのIO APIがあります。
zlib_filefunc_def FileFunctions32 = {0};
ourmemory_t *FileMemory = {0};
// Fill out ourmemory_t instance with buffer pointer (base) and length (size)
fill_memory_filefunc(&FileFunctions32, FileMemory);
UnzipFileHandle = unzOpen2("__notused__", &FileFunctions32);
暗号化/復号化の側面を処理するには、複数の方法があります。暗号化ルーチンが zip 仕様の一部である場合は、それをすぐに処理できるライブラリを見つけてください。暗号化が zip ファイル バッファ全体に対して行われる場合は、バッファを minizip のunzOpen2
関数に渡す前に、その場で単純に復号化できます。上記のシナリオのいずれも探しているものではない場合、別のオプションとして、minizip 用の独自の暗号化/復号化 IO API レイヤーを作成することもできます。