NikitolProject
|
be507070b6
|
feat(02-02): implement pack, unpack, and inspect archive commands
- pack: two-pass algorithm reads/hashes/compresses/encrypts files then writes header+TOC+data
- inspect: reads header and TOC, displays all metadata (sizes, offsets, IVs, HMACs, SHA-256)
- unpack: HMAC-first verification, AES-256-CBC decryption, optional gzip decompression, SHA-256 check
- CLI dispatch wired from main.rs to archive module
- Directory traversal protection: rejects filenames starting with / or containing ..
- Compression auto-detection: .apk/.zip/etc stored without gzip (flags=0x00 when no file compressed)
- Round-trip verified: pack+unpack produces byte-identical files
- HMAC tamper detection verified: flipped ciphertext byte triggers rejection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-25 00:03:28 +03:00 |
|
NikitolProject
|
c647f3a90e
|
feat(02-01): project scaffolding with Cargo, CLI skeleton, and key module
- Initialize Rust project with aes, cbc, hmac, sha2, flate2, clap, rand, anyhow dependencies
- Add clap derive CLI with pack/unpack/inspect subcommands
- Add hardcoded 32-byte AES-256 key constant
- Create stub modules for format, crypto, compression, archive
- All 7 source files in place, cargo build succeeds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-24 23:56:09 +03:00 |
|