docs: start milestone v1.1 Directory Support
This commit is contained in:
@@ -8,24 +8,40 @@
|
||||
|
||||
Архив невозможно распаковать без знания формата — стандартные утилиты (7z, tar, unzip, binwalk) не распознают и не извлекают содержимое.
|
||||
|
||||
## Current Milestone: v1.1 Directory Support
|
||||
|
||||
**Goal:** Добавить поддержку рекурсивной архивации директорий с сохранением иерархии и Unix permissions во всех трёх декодерах.
|
||||
|
||||
**Target features:**
|
||||
- Рекурсивная архивация директорий (pack принимает папки)
|
||||
- Сохранение полных относительных путей (dir/subdir/file.txt)
|
||||
- Unix mode bits (chmod 755/644) в формате и при распаковке
|
||||
- Пустые директории сохраняются и восстанавливаются
|
||||
- Обновление FORMAT.md под новые поля TOC
|
||||
- Обновление всех трёх декодеров (Rust, Kotlin, Shell)
|
||||
|
||||
## Requirements
|
||||
|
||||
### Validated
|
||||
|
||||
(None yet — ship to validate)
|
||||
- ✓ CLI-утилита на Rust для создания архивов (Linux/macOS) — v1.0
|
||||
- ✓ Кастомный бинарный формат — не распознаётся стандартными архиваторами — v1.0
|
||||
- ✓ Сжатие данных перед шифрованием — v1.0
|
||||
- ✓ Шифрование AES-256-CBC с зашитым ключом — v1.0
|
||||
- ✓ Обфускация структуры формата (XOR-заголовки, encrypted TOC, decoy padding) — v1.0
|
||||
- ✓ Упаковка нескольких файлов в один архив (тексты + APK) — v1.0
|
||||
- ✓ Деархивация через Kotlin-код на Android 13 — v1.0
|
||||
- ✓ Деархивация через shell-скрипт (busybox) — v1.0
|
||||
- ✓ Целостность данных — round-trip тесты — v1.0
|
||||
|
||||
### Active
|
||||
|
||||
- [ ] CLI-утилита на Rust для создания архивов (Linux/macOS)
|
||||
- [ ] Кастомный бинарный формат — не распознаётся стандартными архиваторами
|
||||
- [ ] Сжатие данных перед шифрованием
|
||||
- [ ] Шифрование AES-256 или ChaCha20 с зашитым ключом
|
||||
- [ ] Обфускация структуры формата (нестандартные magic bytes, перемешанные блоки, фейковые заголовки)
|
||||
- [ ] Упаковка нескольких файлов в один архив (тексты + APK)
|
||||
- [ ] Деархивация через Kotlin-код на Android 13 (основной путь)
|
||||
- [ ] Деархивация через shell-скрипт (busybox dd/xxd/openssl) как fallback
|
||||
- [ ] Целостность данных — распакованные файлы идентичны оригиналам
|
||||
- [ ] Базовые тесты: round-trip упаковка/распаковка
|
||||
- [ ] Рекурсивная архивация директорий с сохранением путей
|
||||
- [ ] Unix mode bits — сохранение и восстановление при распаковке
|
||||
- [ ] Пустые директории в архиве
|
||||
- [ ] Обновление бинарного формата (TOC entry: тип записи, permissions)
|
||||
- [ ] Обновление Kotlin декодера для директорий и permissions
|
||||
- [ ] Обновление Shell декодера для директорий и permissions
|
||||
|
||||
### Out of Scope
|
||||
|
||||
@@ -34,6 +50,9 @@
|
||||
- Защита от опытных реверс-инженеров с IDA/Ghidra — целевая аудитория защиты: обычные пользователи
|
||||
- Потоковая архивация/деархивация — работаем с файлами целиком
|
||||
- Парольная защита — используется зашитый ключ
|
||||
- Обратная совместимость с v1.0 архивами — формат меняется без backward compat
|
||||
- Симлинки и хардлинки — только файлы и директории
|
||||
- uid/gid и timestamps — только mode bits
|
||||
|
||||
## Context
|
||||
|
||||
@@ -65,4 +84,4 @@
|
||||
| Busybox shell как fallback | Работает везде на Android без дополнительных зависимостей | — Pending |
|
||||
|
||||
---
|
||||
*Last updated: 2026-02-24 after initialization*
|
||||
*Last updated: 2026-02-25 after milestone v1.1 start*
|
||||
|
||||
Reference in New Issue
Block a user