File Editor with Nested Compression
Budget: $10 – $30 USD
This project is much more simple than it seems! 80% of the code is already done. Just need to implement a save feature. The code will be provided via GitHub.
I need help completing a tool that parses and modifies a custom binary file format with nested compression.
The tool currently:
- Reads a proprietary indexed archive format (DAT + IDX files)
- Handles multiple layers of compression (BZip2 with custom header handling)
- Successfully decodes the data structure and its contents
Specific Requirements
- Modify & Save Back Data
- Update specific fields in the decoded data (e.g., text strings)
- Re-serialize changes while preserving:
- Original compression state (compressed vs. uncompressed blocks)
- File structure integrity (offsets, headers, etc.)
- Ensure modified files remain loadable by the original system
Key Challenges
- Nested Compression: Some data blocks are compressed, others aren’t—must maintain this exactly.
- Indexed Format: Data is split into chunks with linked blocks (512-byte sectors + header pointers).
Current Progress
- Working: File extraction, decompression, and decoding logic.
- Partially Working: Data re-encoding (needs validation).
- Missing: Safe write-back functionality that adheres to the original format.
Deliverables
Encoder Logic:
Serialize modified data to match the original format.
Preserve compression flags and chunk sizing.
Save Functionality:
Write changes back to .dat without corrupting indexes.
Validate output matches the expected structure.
I need help completing a tool that parses and modifies a custom binary file format with nested compression.
The tool currently:
- Reads a proprietary indexed archive format (DAT + IDX files)
- Handles multiple layers of compression (BZip2 with custom header handling)
- Successfully decodes the data structure and its contents
Specific Requirements
- Modify & Save Back Data
- Update specific fields in the decoded data (e.g., text strings)
- Re-serialize changes while preserving:
- Original compression state (compressed vs. uncompressed blocks)
- File structure integrity (offsets, headers, etc.)
- Ensure modified files remain loadable by the original system
Key Challenges
- Nested Compression: Some data blocks are compressed, others aren’t—must maintain this exactly.
- Indexed Format: Data is split into chunks with linked blocks (512-byte sectors + header pointers).
Current Progress
- Working: File extraction, decompression, and decoding logic.
- Partially Working: Data re-encoding (needs validation).
- Missing: Safe write-back functionality that adheres to the original format.
Deliverables
Encoder Logic:
Serialize modified data to match the original format.
Preserve compression flags and chunk sizing.
Save Functionality:
Write changes back to .dat without corrupting indexes.
Validate output matches the expected structure.