obfutil 3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. obfutil-3.4/CHANGELOG.md +324 -0
  2. obfutil-3.4/LICENSE +21 -0
  3. obfutil-3.4/MANIFEST.in +6 -0
  4. obfutil-3.4/PKG-INFO +364 -0
  5. obfutil-3.4/README.md +341 -0
  6. obfutil-3.4/README.ru.md +341 -0
  7. obfutil-3.4/obfutil/__init__.py +7 -0
  8. obfutil-3.4/obfutil/config.py +109 -0
  9. obfutil-3.4/obfutil/core/__init__.py +3 -0
  10. obfutil-3.4/obfutil/core/api.py +705 -0
  11. obfutil-3.4/obfutil/crypto/__init__.py +0 -0
  12. obfutil-3.4/obfutil/crypto/encryption.py +323 -0
  13. obfutil-3.4/obfutil/crypto/integrity.py +149 -0
  14. obfutil-3.4/obfutil/obfuscation/__init__.py +3 -0
  15. obfutil-3.4/obfutil/obfuscation/core.py +167 -0
  16. obfutil-3.4/obfutil/ui/__init__.py +0 -0
  17. obfutil-3.4/obfutil/ui/cli/__init__.py +0 -0
  18. obfutil-3.4/obfutil/ui/cli/main.py +554 -0
  19. obfutil-3.4/obfutil/utils/__init__.py +0 -0
  20. obfutil-3.4/obfutil/utils/file_utils.py +31 -0
  21. obfutil-3.4/obfutil/utils/interface.py +298 -0
  22. obfutil-3.4/obfutil/utils/localization.py +836 -0
  23. obfutil-3.4/obfutil/utils/logger.py +54 -0
  24. obfutil-3.4/obfutil/vault/__init__.py +5 -0
  25. obfutil-3.4/obfutil/vault/commands.py +788 -0
  26. obfutil-3.4/obfutil/vault/container.py +805 -0
  27. obfutil-3.4/obfutil/vault/manager.py +782 -0
  28. obfutil-3.4/obfutil.egg-info/PKG-INFO +364 -0
  29. obfutil-3.4/obfutil.egg-info/SOURCES.txt +33 -0
  30. obfutil-3.4/obfutil.egg-info/dependency_links.txt +1 -0
  31. obfutil-3.4/obfutil.egg-info/entry_points.txt +2 -0
  32. obfutil-3.4/obfutil.egg-info/requires.txt +2 -0
  33. obfutil-3.4/obfutil.egg-info/top_level.txt +1 -0
  34. obfutil-3.4/pyproject.toml +42 -0
  35. obfutil-3.4/setup.cfg +4 -0
@@ -0,0 +1,324 @@
1
+ # Changelog
2
+
3
+ All notable changes to ObfUtil will be documented in this file.
4
+
5
+ ## V1.0
6
+
7
+ **Added**
8
+ - First release of obfuscator with limited usage
9
+
10
+ ## V1.1
11
+
12
+ **Added**
13
+ - .exe executable tool
14
+ - Password hiding with "*" characters
15
+ - File replacement after encryption
16
+ - New console interface
17
+
18
+ **Changed**
19
+ - Almost fully recoded main.py
20
+ - Flag-based system instead of options
21
+
22
+ ## V1.2
23
+
24
+ **Added**
25
+ - Raw README.md
26
+ - Python script obfuscation
27
+ - Double obfuscation with marshal
28
+ - Temp file editing with re-encryption
29
+
30
+ **Changed**
31
+ - Single main script architecture
32
+
33
+ **Fixed**
34
+ - Password hiding for Windows and Linux
35
+ - Password exception handling
36
+ - Interface invalid flags
37
+ - Reorganized main.py for cleaner code structure
38
+ - Recoded encryption/decryption functions
39
+
40
+ ## V1.3
41
+
42
+ **Added**
43
+ - New UI with usage, commands, options and examples
44
+ - Configuration system in main script
45
+ - Russian language localization
46
+ - Argument parser for options
47
+
48
+ **Removed**
49
+ - requirements.txt
50
+
51
+ ## V1.4
52
+
53
+ **Added**
54
+ - config.ini external configuration
55
+ - More usage examples
56
+ - -v, --version flag
57
+
58
+ **Changed**
59
+ - Separated config, localization and main files
60
+
61
+ **Removed**
62
+ - German language from selection
63
+
64
+ ## V1.5
65
+
66
+ **Added**
67
+ - 12-character password generation
68
+
69
+ **Fixed**
70
+ - config.ini creation in main script
71
+
72
+ **Changed**
73
+ - Examples format (removed # symbols)
74
+
75
+ ## V2.0-aes256
76
+
77
+ **Added**
78
+ - AES-256 encryption support
79
+ - aes.py for Python script obfuscation
80
+
81
+ **Changed**
82
+ - Project to modular structure
83
+ - Locales separated into JSON files
84
+
85
+ **Fixed**
86
+ - config.py to properly create config file
87
+
88
+ **Removed**
89
+ - Legacy code
90
+
91
+ ## V2.0-release
92
+
93
+ **Added**
94
+ - Advanced Python obfuscation (import rewriter, self-mod code, CFG, junk code)
95
+ - Flexible password generation (>8 symbols)
96
+
97
+ **Changed**
98
+ - Examples to more compact format
99
+ - Name from CryptoObfuscator to ObfUtil
100
+ - Global reorganization of all code
101
+
102
+ **Fixed**
103
+ - Main function structure
104
+
105
+ ## V2.1
106
+
107
+ **Added**
108
+ - "Nuclear" obfuscation method for Python scripts
109
+
110
+ ## V2.2
111
+
112
+ **Added**
113
+ - Default language recognition
114
+ - Logging via .log file
115
+ - .gitignore
116
+ - Troubleshooting support
117
+
118
+ **Fixed**
119
+ - --lang flag functionality
120
+ - --gen-key and --gen-pass commands
121
+ - Encryption/decryption/view operations
122
+ - UI formatting and version display
123
+
124
+ **Changed**
125
+ - Rebranded as "advanced encryption tool"
126
+
127
+ ## V2.3
128
+
129
+ **Added**
130
+ - HMAC support for tamper detection
131
+ - New commands: encrypt-integrity, decrypt-integrity, verify-integrity
132
+ - File integrity check system with SHA-256 hashing
133
+ - Modular architecture with int_check.py module
134
+ - --cmds command for complete usage examples
135
+
136
+ **Changed**
137
+ - Better user experience with compact menu
138
+ - Expanded localization with new translations
139
+ - Examples located in module examples.py
140
+
141
+ **Fixed**
142
+ - Incomplete error handling in file operations
143
+ - Function signature mismatches in main.py
144
+
145
+ ## V3.0-global
146
+
147
+ **Added**
148
+ - Encrypted vault system for secure file containers
149
+ - Vault operations: create/list/info/add/extract/remove/delete
150
+ - File integrity verification system with HMAC and SHA-256
151
+ - --move option for vault file operations
152
+ - German language support (Deutsch)
153
+ - Real file data storage in vaults with proper offset management
154
+ - Hash verification for file integrity checking
155
+ - File table management with dynamic offset calculations
156
+ - Vault metadata system with creation time and size tracking
157
+ - API support framework for future extensions
158
+ - Comprehensive README.md documentation
159
+ - Password-based and key-file encryption options for vaults
160
+ - Automatic duplicate file name handling in vaults
161
+ - Exponential backoff for failed vault access attempts
162
+ - Vault status tracking (ACTIVE/MISSING/LOCKED)
163
+ - Advanced batch operations for multiple files
164
+ - System status and configuration management commands
165
+ - Structured help system with categorized examples
166
+ - Extended batch statistics with file sizes and processing speed
167
+ - Vault usage analysis with capacity monitoring
168
+ - Enhanced configuration with system environment info
169
+ - Batch operations progress tracking and performance metrics
170
+ - File type analysis for vault content categorization
171
+ - Largest file identification in vault analysis
172
+
173
+ **Changed**
174
+ - Complete CLI interface redesign with cleaner command structure
175
+ - Multi-language help system with comprehensive examples
176
+ - Improved error messages and user feedback
177
+ - New command-style menu layout with proper tabulation
178
+ - Status/Config/Vault help now use centered header format
179
+ - Examples organized by categories with descriptions
180
+ - Enhanced vault storage architecture with better encryption
181
+ - Enhanced configuration display with key file status
182
+ - Batch operations show detailed size and speed metrics
183
+ - Project structure reorganization for better maintainability
184
+ - Transition from .exe utility to pip-installable plugin
185
+ - Vault container format with optimized data storage
186
+ - Logger integration throughout all modules
187
+ - Updated version to 3.1 in configuration system
188
+
189
+ **Fixed**
190
+ - File extraction now returns actual file data with integrity checks
191
+ - Hash calculation and verification for vault operations
192
+ - Language selection across all commands and subcommands
193
+ - Argument parsing for complex vault operations
194
+ - File offset management in vault container system
195
+ - Vault info command authentication and data display
196
+ - Used space calculation in KB for better visibility
197
+ - Vault list command formatting and information display
198
+ - Duplicate import conflicts in main.py
199
+ - API reference errors in status and config commands
200
+ - Inconsistent menu formatting and alignment issues
201
+ - Language switching bugs in vault commands
202
+ - Configuration file parsing errors with supported languages
203
+ - Batch operation statistics calculation methods
204
+
205
+ **Removed**
206
+ - Placeholder file extraction implementation
207
+ - Old vault command format and legacy syntax
208
+ - Unused localization entries and deprecated functions
209
+ - Unsecure temporary file handling methods
210
+
211
+ ## V3.1
212
+
213
+ **Added**
214
+ - Consistent logger usage replacing print statements for operational messages
215
+
216
+ **Changed**
217
+ - Print statements to logger calls for system messages
218
+ - Debug prints to appropriate logger levels (INFO, WARNING, ERROR)
219
+ - Function documentation from Russian to English
220
+
221
+ **Fixed**
222
+ - Duplicate _save_config method in VaultManager class
223
+ - Redundant derive_hmac_key_from_password function in integrity.py
224
+
225
+ **Removed**
226
+ - Unnecessary debug print statements from encryption operations
227
+ - Redundant logging messages that duplicated functionality
228
+ - Direct console output for system events in favor of logger
229
+ - Excessive file operation logging in vault management
230
+
231
+ - Duplicate code in password input handling
232
+
233
+ ## V3.2
234
+
235
+ **Added**
236
+ - Secure memory management with automatic zeroization for sensitive data
237
+ - Quick vault preview command for metadata access without full data loading
238
+ - Vault integrity verification system with deep and quick check modes
239
+ - Vault health status monitoring command
240
+ - Storage usage analysis command for vault capacity tracking
241
+ - Secure vault deletion with guaranteed memory cleanup
242
+ - Enhanced vault listing with health status and file count information
243
+
244
+ **Changed**
245
+ - Vault container operations to use secure memory management
246
+ - Vault open/close procedures to include automatic memory cleanup
247
+ - Integrity verification to focus on header and file table consistency
248
+ - Configuration display to show all system paths and directory status
249
+ - File integrity verification output to include clear conclusion messages
250
+
251
+ **Fixed**
252
+ - Quick vault verification status display and messaging
253
+ - Configuration path display in system information
254
+ - Integrity check conclusion reporting for encrypted files
255
+ - Vault health status calculation in listing operations
256
+
257
+ **Removed**
258
+ - File hash verification from integrity checks (deferred to V3.3)
259
+ - Secure header HMAC implementation (deferred to V3.3)
260
+ - Redundant memory buffers in vault operations
261
+
262
+ **Security**
263
+ - Implemented secure memory wiping for all decrypted data
264
+ - Added protection against memory forensic analysis
265
+ - Enhanced vault access controls with exponential backoff
266
+ - Improved sensitive data handling throughout operations
267
+
268
+ **Performance**
269
+ - Optimized vault preview with metadata-only loading
270
+ - Reduced memory footprint for large vault operations
271
+ - Improved response time for vault health checks
272
+ - Streamlined file addition process
273
+
274
+
275
+ ## V3.3-fix
276
+
277
+ **Changed**
278
+ - vault secure-delete renamed to delete
279
+
280
+ **Fixed**
281
+ - Some duplicates of functions
282
+ - Some interface explanations were incorrect or not complete
283
+
284
+ **Removed**
285
+ - Health method due to its malfunction
286
+ - Delete method due to its uselesness
287
+
288
+ ## [V3.4] - 2026-03-23
289
+
290
+ ### Added
291
+ - **New vault commands**:
292
+ - `vault stats` - Detailed vault statistics (file types, sizes, largest files)
293
+ - `vault du` - Disk usage by folder inside vault
294
+ - `vault search` - Search files by pattern, extension, or substring
295
+ - `vault rename` - Rename files inside vault without re-encryption
296
+ - **`--force` flag** for `vault add` to overwrite existing files
297
+ - **Space check** before adding files to vault (previns "vault full" errors)
298
+ - **Search filters**: `--min-size`, `--max-size`, `--case`, `--type`
299
+ - **Progress indicator** for large file extraction (>10MB)
300
+ - **Stored credentials** in open vault for subsequent operations
301
+
302
+ ### Changed
303
+ - `vault delete` now shows file count and size before confirmation
304
+ - Improved error messages with actionable suggestions
305
+ - Better hash verification during rename operations
306
+ - Enhanced `vault info` with fallback date from filesystem
307
+ - `vault preview` now shows formatted file sizes (KB, MB)
308
+
309
+ ### Fixed
310
+ - File hash verification after rename operation
311
+ - `vault stats` now correctly displays file sizes
312
+ - `vault search` with `--min-size` now properly filters files
313
+ - `config --lang` command now works correctly
314
+ - Duplicate `_get_auth_method` in commands.py
315
+ - `deep_integrity_check` duplication in container.py
316
+
317
+ ### Security
318
+ - Store passwords/keys in memory only while vault is open
319
+ - Secure memory cleanup on vault close
320
+ - Proper credential handling for rename/remove operations
321
+
322
+ ### Removed
323
+ - `vault files` (use `vault preview`)
324
+ - `vault health` (non-functional, use `vault verify`)
obfutil-3.4/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 fearvbs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,6 @@
1
+ include README.md
2
+ include README.ru.md
3
+ include CHANGELOG.md
4
+ include LICENSE
5
+ recursive-include obfutil *.py
6
+ recursive-include obfutil *.*
obfutil-3.4/PKG-INFO ADDED
@@ -0,0 +1,364 @@
1
+ Metadata-Version: 2.4
2
+ Name: obfutil
3
+ Version: 3.4
4
+ Summary: Advanced encryption and obfuscation tool with secure vaults
5
+ Author-email: ObfUtil Team <obfutil@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/fearvbs/obfutil
8
+ Project-URL: Repository, https://github.com/fearvbs/obfutil
9
+ Project-URL: Issues, https://github.com/fearvbs/obfutil/issues
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: cryptography>=3.4
21
+ Requires-Dist: astor>=0.8
22
+ Dynamic: license-file
23
+
24
+ ## README.md (English Version)
25
+
26
+ # ObfUtil - Advanced File Encryption & Obfuscation Tool
27
+
28
+ ![Version](https://img.shields.io/badge/version-3.4-blue)
29
+ ![Python](https://img.shields.io/badge/python-3.9+-green)
30
+ ![License](https://img.shields.io/badge/license-MIT-orange)
31
+ ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey)
32
+
33
+ [Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Vault Commands](#-vault-commands) • [API](#-python-api) • [Changelog](CHANGELOG.md)
34
+
35
+ ## 📖 Table of Contents
36
+
37
+ - [Features](#-features)
38
+ - [Installation](#-installation)
39
+ - [Quick Start](#-quick-start)
40
+ - [Encryption Commands](#-encryption-commands)
41
+ - [Vault Commands](#-vault-commands)
42
+ - [Integrity Protection](#-integrity-protection)
43
+ - [Code Obfuscation](#-code-obfuscation)
44
+ - [Python API](#-python-api)
45
+ - [Configuration](#-configuration)
46
+ - [Contributing](#-contributing)
47
+ - [License](#-license)
48
+
49
+ ## ✨ Features
50
+
51
+ | Category | Features |
52
+ |----------|----------|
53
+ | **Encryption** | AES-256 encryption, Password/Key file support, HMAC integrity verification |
54
+ | **Vaults** | Encrypted containers, File organization, Storage statistics, Disk usage by folder |
55
+ | **Search** | Pattern matching, Extension search, Size filters, Case sensitivity |
56
+ | **Obfuscation** | AST-based obfuscation, Variable renaming, String encryption, Anti-tamper |
57
+ | **Batch Operations** | Multi-file encryption, Progress tracking, Speed statistics |
58
+ | **Multi-language** | English, Russian, German |
59
+ | **Security** | Secure memory cleanup, Brute force protection, Hash verification |
60
+
61
+ ## 📦 Installation
62
+
63
+ ### From GitHub (Recommended)
64
+
65
+ ```bash
66
+ # Clone the repository
67
+ git clone https://github.com/fearvbs/obfutil.git
68
+ cd obfutil
69
+
70
+ # Install in development mode
71
+ pip install -e .
72
+ ```
73
+
74
+ ### From PyPI
75
+
76
+ ```bash
77
+ pip install obfutil
78
+ ```
79
+
80
+ ### Verify Installation
81
+
82
+ ```bash
83
+ obfutil --help
84
+ obfutil vault --help
85
+ ```
86
+
87
+ ## 🚀 Quick Start
88
+
89
+ ### Basic Encryption
90
+
91
+ ```bash
92
+ # Encrypt with password
93
+ obfutil encrypt secret.txt --password
94
+
95
+ # Decrypt and edit
96
+ obfutil decrypt secret.txt.enc --password
97
+
98
+ # View encrypted content
99
+ obfutil view secret.txt.enc --password
100
+ ```
101
+
102
+ ### Vault Operations
103
+
104
+ ```bash
105
+ # Create a vault
106
+ obfutil vault create mydocs --size 100 --password
107
+
108
+ # Add files
109
+ obfutil vault add mydocs document.pdf --password
110
+
111
+ # List contents
112
+ obfutil vault preview mydocs --password
113
+
114
+ # Extract file
115
+ obfutil vault extract mydocs document.pdf ./output.pdf --password
116
+ ```
117
+
118
+ ## 🔐 Encryption Commands
119
+
120
+ ### Password-Based Encryption
121
+
122
+ ```bash
123
+ # Encrypt
124
+ obfutil encrypt file.txt --password
125
+
126
+ # Decrypt with editing
127
+ obfutil decrypt file.txt.enc --password
128
+
129
+ # View only
130
+ obfutil view file.txt.enc --password
131
+ ```
132
+
133
+ ### Key File Encryption
134
+
135
+ ```bash
136
+ # Generate key file
137
+ obfutil --gen-key
138
+
139
+ # Encrypt with key
140
+ obfutil encrypt file.txt --key-file
141
+
142
+ # Decrypt with key
143
+ obfutil decrypt file.txt.enc --key-file
144
+ ```
145
+
146
+ ### Batch Operations
147
+
148
+ ```bash
149
+ # Encrypt all text files
150
+ obfutil batch-encrypt *.txt --password
151
+
152
+ # Decrypt all encrypted files
153
+ obfutil batch-decrypt *.enc --password
154
+ ```
155
+
156
+ ## 📁 Vault Commands
157
+
158
+ Vaults are encrypted containers that store multiple files with unified access control.
159
+
160
+ ### Vault Management
161
+
162
+ | Command | Description | Example |
163
+ |---------|-------------|---------|
164
+ | `create` | Create new vault | `obfutil vault create myvault --size 100 --password` |
165
+ | `list` | List all vaults | `obfutil vault list` |
166
+ | `info` | Vault information | `obfutil vault info myvault --password` |
167
+ | `delete` | Securely delete vault | `obfutil vault delete myvault` |
168
+
169
+ ### File Operations
170
+
171
+ | Command | Description | Example |
172
+ |---------|-------------|---------|
173
+ | `add` | Add file to vault | `obfutil vault add myvault file.txt --password` |
174
+ | `extract` | Extract file from vault | `obfutil vault extract myvault file.txt ./out.txt --password` |
175
+ | `remove` | Remove file from vault | `obfutil vault remove myvault file.txt --password` |
176
+ | `rename` | Rename file in vault | `obfutil vault rename myvault old.txt new.txt --password` |
177
+
178
+ ### Advanced Commands (New in 3.4)
179
+
180
+ | Command | Description | Example |
181
+ |---------|-------------|---------|
182
+ | `stats` | Detailed statistics | `obfutil vault stats myvault --password` |
183
+ | `du` | Disk usage by folder | `obfutil vault du myvault --password` |
184
+ | `search` | Search files | `obfutil vault search myvault "*.pdf" --password` |
185
+ | `preview` | Quick file list | `obfutil vault preview myvault --password` |
186
+ | `verify` | Integrity check | `obfutil vault verify myvault --deep --password` |
187
+ | `storage` | Storage usage | `obfutil vault storage myvault --password` |
188
+
189
+ ### Add Command Options
190
+
191
+ ```bash
192
+ # Add with custom internal path
193
+ obfutil vault add myvault file.txt docs/file.txt --password
194
+
195
+ # Add and delete original (move)
196
+ obfutil vault add myvault file.txt --password --move
197
+
198
+ # Overwrite existing file
199
+ obfutil vault add myvault file.txt --password --force
200
+ ```
201
+
202
+ ### Search Filters
203
+
204
+ ```bash
205
+ # Search by pattern
206
+ obfutil vault search myvault "*.pdf" --password
207
+
208
+ # Search by extension
209
+ obfutil vault search myvault "jpg" --type ext --password
210
+
211
+ # Search by substring
212
+ obfutil vault search myvault "secret" --type contains --password
213
+
214
+ # Search with size filters
215
+ obfutil vault search myvault "*.mp4" --min-size 10 --max-size 100 --password
216
+
217
+ # Case-sensitive search
218
+ obfutil vault search myvault "README" --case --password
219
+ ```
220
+
221
+ ### Statistics Output Example
222
+
223
+ ```
224
+ === Vault Statistics: myvault ===
225
+ ==================================================
226
+ Total Files: 47
227
+ Total Size: 128.5 MB
228
+ Average Size: 2.7 MB
229
+
230
+ Largest File: video.mp4 (45.2 MB)
231
+ Oldest File: config.ini (2024-01-15)
232
+ Newest File: report.pdf (2026-03-23)
233
+
234
+ File Types:
235
+ .pdf 12 files 45.2 MB ████████████████░░░░░░░░░░░░░░
236
+ .jpg 8 files 32.1 MB ████████████░░░░░░░░░░░░░░░░░░
237
+ .txt 15 files 0.8 MB ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
238
+ .mp4 1 file 45.2 MB ████████████████░░░░░░░░░░░░░░
239
+ ```
240
+
241
+ ## 🛡️ Integrity Protection
242
+
243
+ ```bash
244
+ # Encrypt with integrity check
245
+ obfutil encrypt-int sensitive.doc --password
246
+
247
+ # Verify file integrity
248
+ obfutil verify-int sensitive.doc.enc --password
249
+
250
+ # Decrypt with integrity verification
251
+ obfutil decrypt-int sensitive.doc.enc --password
252
+ ```
253
+
254
+ ## 🔧 Code Obfuscation
255
+
256
+ ```bash
257
+ # Obfuscate Python script
258
+ obfutil obfuscate script.py
259
+
260
+ # Output: script_obf.py
261
+ ```
262
+
263
+ Obfuscation features:
264
+ - Variable name randomization
265
+ - String encryption
266
+ - Code shredding
267
+ - Anti-tamper protection
268
+ - Junk code injection
269
+
270
+ ## 🐍 Python API
271
+
272
+ ```python
273
+ from obfutil.core.api import api
274
+
275
+ # File encryption
276
+ result = api.encrypt_file("document.txt", password="secret")
277
+ if result['success']:
278
+ print(f"Encrypted: {result['output_path']}")
279
+
280
+ # Vault operations
281
+ api.create_vault("myvault", size_mb=100, password="vaultpass")
282
+ api.add_file_to_vault("myvault", "file.txt", password="vaultpass")
283
+
284
+ # Get statistics
285
+ stats = api.get_vault_statistics("myvault", password="vaultpass")
286
+ print(f"Files: {stats['total_files']}, Size: {stats['total_size_mb']} MB")
287
+
288
+ # Search files
289
+ files = api.search_files_in_vault("myvault", "*.pdf", password="vaultpass")
290
+ for file in files:
291
+ print(f"Found: {file['path']} ({file['size_kb']} KB)")
292
+
293
+ # Batch operations
294
+ result = api.encrypt_files_batch(["file1.txt", "file2.txt"], password="secret")
295
+ print(f"Processed: {result['successful']}/{result['processed']} files")
296
+ ```
297
+
298
+ ## ⚙️ Configuration
299
+
300
+ All data is stored in `~/.obfutil/`:
301
+
302
+ ```
303
+ ~/.obfutil/
304
+ ├── config.ini # User configuration
305
+ ├── vaults/ # Encrypted vault files
306
+ │ ├── myvault.obfvault
307
+ │ └── vaults.json # Vault registry
308
+ ├── logs/ # Operation logs
309
+ │ └── program.log
310
+ └── secret.key # Encryption key (if generated)
311
+ ```
312
+
313
+ ### Configuration Commands
314
+
315
+ ```bash
316
+ # Show current configuration
317
+ obfutil config --show
318
+
319
+ # Change language
320
+ obfutil config --lang ru # Russian
321
+ obfutil config --lang de # German
322
+ obfutil config --lang en # English
323
+
324
+ # Generate password
325
+ obfutil --gen-pass 16
326
+
327
+ # Generate key file
328
+ obfutil --gen-key
329
+ ```
330
+
331
+ ## 🖥️ System Requirements
332
+
333
+ - **Python**: 3.9 or higher
334
+ - **Dependencies**: cryptography, astor
335
+ - **Platform**: Windows, Linux, macOS
336
+ - **Storage**: ~/.obfutil/ directory with write permissions
337
+
338
+ ## 🤝 Contributing
339
+
340
+ 1. Fork the repository
341
+ 2. Create feature branch (`git checkout -b feature/amazing-feature`)
342
+ 3. Commit changes (`git commit -m 'Add amazing feature'`)
343
+ 4. Push to branch (`git push origin feature/amazing-feature`)
344
+ 5. Open Pull Request
345
+
346
+ ## 📄 License
347
+
348
+ MIT License - see [LICENSE](LICENSE) file for details.
349
+
350
+ ---
351
+
352
+ ## 🌟 Version 3.4 Highlights
353
+
354
+ - 📊 **`vault stats`** - Detailed file statistics and type distribution
355
+ - 🔍 **`vault search`** - Powerful search with size and type filters
356
+ - 📁 **`vault du`** - Disk usage analysis by folder
357
+ - ✏️ **`vault rename`** - Rename files inside vaults
358
+ - ⚡ **`--force`** - Overwrite existing files
359
+ - 🛡️ **Improved hash verification** - Fixed after rename operations
360
+ - 🌐 **Better error messages** - Actionable suggestions
361
+
362
+ ---
363
+
364
+ *For full changelog, see [CHANGELOG.md](CHANGELOG.md)*