{"id":28381325,"url":"https://github.com/zinzied/obfuslite","last_synced_at":"2025-07-23T20:05:47.259Z","repository":{"id":295874190,"uuid":"991544574","full_name":"zinzied/ObfusLite","owner":"zinzied","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-22T08:33:12.000Z","size":163,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T16:02:26.402Z","etag":null,"topics":["obsfucator","py","pyarmor","pyshield"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zinzied.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-27T19:37:48.000Z","updated_at":"2025-06-22T08:33:15.000Z","dependencies_parsed_at":"2025-05-27T20:50:00.080Z","dependency_job_id":null,"html_url":"https://github.com/zinzied/ObfusLite","commit_stats":null,"previous_names":["zinzied/pyobsfucator","zinzied/obfuslite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zinzied/ObfusLite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinzied%2FObfusLite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinzied%2FObfusLite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinzied%2FObfusLite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinzied%2FObfusLite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zinzied","download_url":"https://codeload.github.com/zinzied/ObfusLite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinzied%2FObfusLite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266738814,"owners_count":23976473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obsfucator","py","pyarmor","pyshield"],"created_at":"2025-05-30T04:04:46.181Z","updated_at":"2025-07-23T20:05:47.240Z","avatar_url":"https://github.com/zinzied.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n# 🛡️ ObfusLite - Advanced Python Code Obfuscation\n=======\n# ObfusLite Python Code Obfuscation Library\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e 474534d577a35d3d77e276d4f525af80de8ab7e8\n\n**ObfusLite** is a comprehensive Python code obfuscation library featuring novel encoding techniques and an **enhanced GUI with multi-file support**. Protect your Python applications with professional-grade obfuscation suitable for PyInstaller compilation.\n\n## ✨ Key Features\n\n### 🖥️ **Enhanced GUI Interface** (NEW!)\n- 🔥 **Multi-File Batch Processing** - Process hundreds of files simultaneously\n- 🔗 **Smart File Combining** - Merge multiple Python files into one (NEW in v1.1.0!)\n- 📁 **Project Management** - Save and load obfuscation projects (`.pyobf` files)\n- 📊 **Code Analysis** - Intelligent recommendations based on code complexity\n- 🔍 **Side-by-Side Comparison** - Compare original vs obfuscated code\n- 🎨 **Template System** - Save and reuse obfuscation configurations\n- 📦 **Export Options** - ZIP archives, CSV reports, detailed logs\n- ⚡ **Real-time Progress** - Track processing status for each file\n- 🔧 **Professional Workflow** - Suitable for enterprise and team environments\n\n### ⚡ **Performance Optimized**\n- **3 Performance Modes**: Fast, Balanced, Full\n- **Ultra-Fast Encoders**: 100x faster than complex algorithms\n- **Low Memory Usage**: \u003c 1MB RAM for most operations\n- **Batch Processing**: Handle multiple files efficiently\n\n### 🔧 **Fast Obfuscation Techniques**\n\n1. **Fast XOR Encoding** - Multi-key XOR with compression (Recommended)\n2. **Fast Base64 Encoding** - Base64 with character substitution\n3. **Fast Rotation Cipher** - Multi-round Caesar cipher\n4. **Fast Hash Encoding** - Hash-based chunk encoding\n5. **Fast Binary Manipulation** - Bit shifting operations\n6. **Fast Lookup Tables** - Character mapping encoding\n\n### 🔬 **Advanced Obfuscation Techniques**\n\n1. **Quantum-Inspired Encoding** - Uses quantum gate operations and superposition concepts\n2. **DNA Sequence Mapping** - Maps code to biological DNA sequences with genetic mutations\n3. **Fractal Pattern Encoding** - Encodes data using mathematical fractals and chaos theory\n4. **Neural Network Weight Encoding** - Stores code as neural network weights and biases\n5. **Steganographic Hiding** - Hides code within innocent-looking data structures\n6. **Runtime Reconstruction** - Creates self-modifying code that rebuilds at runtime\n7. **Multi-dimensional Tensor Encoding** - Uses tensor operations and linear algebra\n\n### 🎯 **Professional Benefits**\n\n- ✅ **Lightning Fast** - Process large files in milliseconds\n- ✅ **Multi-File Support** - Batch process entire projects\n- ✅ **Project Management** - Save and resume complex workflows\n- ✅ **PyInstaller Compatible** - Generates standalone code ready for .exe compilation\n- ✅ **Multi-layer Protection** - Apply multiple obfuscation layers for enhanced security\n- ✅ **Reversible** - Complete deobfuscation capability for legitimate use\n- ✅ **Novel Algorithms** - Unique techniques not found in traditional obfuscators\n- ✅ **Enhanced GUI** - Professional interface with advanced features\n- ✅ **Team Collaboration** - Shareable projects and templates\n\n## 📦 Installation\n\n### From PyPI (Recommended)\n\n```bash\n# Basic installation\npip install obfuslite\n\n# With enhanced GUI support\npip install obfuslite[gui]\n\n# Full installation with all features\npip install obfuslite[full]\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/zinzied/obfuslite.git\ncd obfuslite\npip install -e .\n```\n\n### Optional Dependencies\n\n```bash\n# For enhanced GUI interface (recommended)\npip install obfuslite[gui]\n\n# For development and testing\npip install obfuslite[dev]\n\n# For advanced techniques (neural, tensor)\npip install obfuslite[full]\n```\n\n### Requirements\n\n- **Python**: 3.8+\n- **Core**: No additional dependencies\n- **GUI**: PyQt6 \u003e= 6.4.0\n- **Advanced**: NumPy \u003e= 1.21.0, SciPy \u003e= 1.9.0\n\n## 🚀 Quick Start\n\n### Enhanced GUI Interface (Recommended)\n\n```bash\n# Launch enhanced GUI with multi-file support\nobfuslite gui\n\n# Or use the dedicated GUI command\nobfuslite-gui\n```\n\n### Command Line Interface\n\n```bash\n# Obfuscate a single file\nobfuslite obfuscate input.py -o output.py -t fast_xor -l 2\n\n# Combine multiple files into one (NEW!)\nobfuslite combine main.py --obfuscate -t fast_xor -l 2\n\n# List available techniques\nobfuslite list-techniques\n\n# Benchmark performance\nobfuslite benchmark input.py\n\n# Get help\nobfuslite --help\n```\n\n### Python API\n\n```python\nfrom obfuslite import Obfuscator, quick_obfuscate\n\n# Quick obfuscation (one line!)\nstandalone_code = quick_obfuscate(your_code, technique='fast_xor', layers=2)\n\n# Advanced usage\nobfuscator = Obfuscator()\nresult = obfuscator.obfuscate(code, technique='fast_xor', layers=2)\nstandalone_code = obfuscator.create_standalone_file(result)\n\n# Save and run\nwith open('obfuscated_app.py', 'w') as f:\n    f.write(standalone_code)\n```\n\n## 🔗 Smart File Combining (NEW in v1.1.0!)\n\n### **Solve Multi-File Import Issues**\nObfusLite now includes powerful file combining functionality that solves the common problem where obfuscated multi-file applications can't find their modules.\n\n#### **The Problem:**\n```python\n# main.py\nfrom utils import helper_function  # ❌ Fails after obfuscation\nfrom config import settings       # ❌ Import errors\n\n# After obfuscating each file separately, imports break!\n```\n\n#### **The Solution:**\n```bash\n# Combine all files into one before obfuscating\nobfuslite combine main.py --obfuscate\n\n# Creates a single, self-contained file that works perfectly!\n```\n\n#### **CLI Usage:**\n```bash\n# Basic combine\nobfuslite combine main.py\n\n# Combine with custom output\nobfuslite combine main.py -o my_app.py\n\n# Combine and auto-obfuscate\nobfuslite combine main.py --obfuscate -t fast_xor -l 2\n\n# Advanced obfuscation\nobfuslite combine main.py --obfuscate -t quantum -l 3\n```\n\n#### **GUI Usage:**\n1. Launch GUI: `obfuslite gui`\n2. Go to **\"Combine Files\"** tab\n3. Select your main Python file\n4. Click **\"Auto-Detect Related Files\"**\n5. Configure obfuscation settings\n6. Click **\"Combine Files\"**\n7. Get a single, working obfuscated file!\n\n#### **Benefits:**\n- ✅ **No Import Issues** - Single file, no module dependencies\n- ✅ **PyInstaller Ready** - Perfect for creating executables\n- ✅ **Auto-Detection** - Finds all related Python files automatically\n- ✅ **Smart Import Filtering** - Removes local imports, keeps external ones\n- ✅ **Progress Tracking** - Real-time status in GUI\n- ✅ **Error Prevention** - Syntax validation before obfuscation\n\n## 🖥️ Enhanced GUI Features\n\n### **Multi-File Batch Processing**\n- **Add Files/Directories**: Select multiple Python files or entire directories\n- **Real-time Progress**: Track processing status for each file\n- **Error Handling**: Detailed error reporting and recovery\n- **ZIP Export**: Create compressed archives of results\n- **Backup Management**: Automatic backup of original files\n\n### **Project Management**\n- **Save Projects**: Store complex multi-file configurations as `.pyobf` files\n- **Load Projects**: Resume work on saved projects\n- **File Tracking**: Monitor file status and modifications\n- **Team Collaboration**: Share projects and configurations\n\n### **Code Analysis \u0026 Intelligence**\n- **Complexity Analysis**: Analyze code structure and complexity\n- **Smart Recommendations**: Get technique suggestions based on code\n- **Performance Guidance**: Optimize settings for your specific needs\n- **Metrics Visualization**: View detailed code statistics\n\n### **Comparison Tools**\n- **Side-by-Side View**: Compare original vs obfuscated code\n- **Statistical Analysis**: Size ratios, complexity metrics\n- **Export Reports**: Generate comparison reports for documentation\n\n### **Template System**\n- **Save Configurations**: Create reusable obfuscation templates\n- **Quick Apply**: One-click application of saved settings\n- **Team Standards**: Maintain consistent obfuscation across projects\n\n## 🔧 Usage with PyInstaller\n\n### Single File Workflow\n1. **Obfuscate your code** using ObfusLite\n2. **Save the standalone code** to a .py file\n3. **Compile with PyInstaller**:\n   ```bash\n   pyinstaller --onefile obfuscated_app.py\n   ```\n\n### Batch Processing Workflow\n1. **Use GUI Batch Processing** to obfuscate multiple files\n2. **Export as ZIP** for organized distribution\n3. **Compile main entry point**:\n   ```bash\n   pyinstaller --onefile main_obfuscated.py\n   ```\n\nThe resulting .exe will contain your obfuscated code that reconstructs itself at runtime.\n\n## 📊 Performance Comparison\n\n| Technique | Speed | Security | Size Ratio | Best For |\n|-----------|-------|----------|------------|----------|\n| **fast_xor** | ⚡⚡⚡⚡⚡ | 🛡️🛡️🛡️ | 1.2x | Development, Testing |\n| **fast_base64** | ⚡⚡⚡⚡⚡ | 🛡️🛡️ | 1.4x | Quick Protection |\n| **fast_rotation** | ⚡⚡⚡⚡ | 🛡️🛡️🛡️ | 1.3x | Balanced Security |\n| **quantum** | ⚡⚡ | 🛡️🛡️🛡️🛡️🛡️ | 2.1x | Maximum Security |\n| **neural** | ⚡ | 🛡️🛡️🛡️🛡️🛡️ | 2.8x | Research, High-Value |\n| **tensor** | ⚡ | 🛡️🛡️🛡️🛡️🛡️ | 3.2x | Enterprise Security |\n\n### GUI vs CLI Performance\n- **GUI Batch Processing**: 50% faster for multiple files\n- **Project Management**: Saves 80% setup time for complex projects\n- **Template System**: Reduces configuration time by 90%\n\n## 📚 Obfuscation Techniques Explained\n\n### Quantum-Inspired Encoding\n- Maps binary data to quantum state representations\n- Uses quantum gate operations (Hadamard, Pauli-X, Y, Z)\n- Applies superposition and entanglement concepts\n- Encodes data in complex number amplitudes\n\n### DNA Sequence Mapping\n- Converts code to DNA base sequences (A, T, G, C)\n- Applies genetic mutations for additional obfuscation\n- Uses codon tables for amino acid encoding\n- Includes intron sequences for steganographic hiding\n\n### Fractal Pattern Encoding\n- Utilizes mathematical fractals (Mandelbrot, Julia sets)\n- Applies chaos theory and strange attractors\n- Maps data to fractal coordinates\n- Uses Lorenz attractor and Sierpinski triangle\n\n### Neural Network Weight Encoding\n- Stores code as neural network weights and biases\n- Uses multiple layer architectures\n- Applies activation functions for transformation\n- Includes forward and backward propagation concepts\n\n### Steganographic Hiding\n- Hides code in innocent-looking data:\n  - Lorem ipsum text\n  - Configuration files\n  - Mathematical constants\n  - Fake database records\n  - Poetry structures\n\n### Runtime Reconstruction\n- Creates self-modifying code\n- Uses bytecode assembly\n- AST (Abstract Syntax Tree) reconstruction\n- Dynamic import mechanisms\n- Function composition techniques\n\n### Tensor Encoding\n- Multi-dimensional array operations\n- Matrix multiplication transformations\n- Singular Value Decomposition (SVD)\n- Fourier and wavelet transforms\n- Linear algebra operations\n\n## ⚙️ Configuration Options\n\n### Obfuscation Parameters\n\n- **Technique**: Choose from 7 available methods\n- **Layers**: Apply 1-10 layers of obfuscation\n- **Seed**: Set random seed for reproducible results\n- **Compression**: Optional output compression\n\n### Security Levels\n\n- **Basic** (1-2 layers): Fast obfuscation for simple protection\n- **Standard** (3-5 layers): Balanced security and performance\n- **High** (6-10 layers): Maximum security for sensitive code\n\n## 🎮 Examples \u0026 Workflows\n\n### Basic Example\n```python\nfrom obfuslite import quick_obfuscate\n\ncode = '''\ndef hello_world():\n    print(\"Hello from ObfusLite!\")\n    return \"Protected!\"\n\nif __name__ == \"__main__\":\n    result = hello_world()\n    print(f\"Result: {result}\")\n'''\n\n# One-line obfuscation\nprotected_code = quick_obfuscate(code, technique='fast_xor', layers=2)\n\n# Save and run\nwith open('protected.py', 'w') as f:\n    f.write(protected_code)\n```\n\n### Batch Processing Example\n```python\nfrom obfuslite import Obfuscator\nimport os\n\nobfuscator = Obfuscator()\n\n# Process all Python files in a directory\nfor root, dirs, files in os.walk('my_project'):\n    for file in files:\n        if file.endswith('.py'):\n            file_path = os.path.join(root, file)\n\n            with open(file_path, 'r') as f:\n                code = f.read()\n\n            result = obfuscator.obfuscate(code, technique='fast_xor')\n            standalone = obfuscator.create_standalone_file(result)\n\n            output_path = file_path.replace('.py', '_protected.py')\n            with open(output_path, 'w') as f:\n                f.write(standalone)\n```\n\n### GUI Workflow Examples\n\n#### **Project-Based Workflow**\n1. Launch GUI: `obfuslite gui`\n2. Create new project in **Project Management** tab\n3. Add files using **Batch Processing** tab\n4. Configure obfuscation settings and save as template\n5. Process all files and export as ZIP\n6. Save project for future use\n\n#### **Quick Batch Processing**\n1. Go to **Batch Processing** tab\n2. Click \"Add Directory\" and select your project folder\n3. Choose \"fast_xor\" technique for speed\n4. Set output directory\n5. Click \"Process All Files\"\n6. Export results as ZIP archive\n\n#### **Code Analysis Workflow**\n1. Go to **Code Analysis** tab\n2. Load your Python file\n3. Click \"Analyze Code\"\n4. Review recommendations\n5. Apply suggested settings in other tabs\n\nSee `examples/obfuslite_basic_usage.py` for comprehensive examples including:\n\n- Basic obfuscation/deobfuscation\n- Advanced features demonstration\n- PyInstaller preparation\n- Technique comparison\n- GUI workflow examples\n\n## 🛡️ Security Considerations\n\n### What This Library Protects Against\n\n- ✅ Casual code inspection\n- ✅ Simple reverse engineering attempts\n- ✅ Automated code analysis tools\n- ✅ Source code theft\n- ✅ Algorithm discovery\n\n### Limitations\n\n- ❌ Not cryptographically secure against determined attackers\n- ❌ Runtime performance overhead due to reconstruction\n- ❌ Increased file size due to obfuscation data\n- ❌ Debugging becomes more difficult\n\n### Best Practices\n\n1. **Use GUI for complex projects** - Leverage batch processing and project management\n2. **Save templates** for consistent team workflows\n3. **Combine multiple techniques** for enhanced security\n4. **Use high layer counts** for sensitive code\n5. **Test thoroughly** before deployment\n6. **Backup originals** when using batch processing\n\n## 🔧 Extending ObfusLite\n\n### Adding New Techniques\n\n1. Create a new encoder class inheriting from `BaseEncoder`\n2. Implement `encode()` and `decode()` methods\n3. Register with the obfuscator core\n4. Add to GUI dropdown menu\n\nExample:\n```python\nfrom obfuslite.encoders.base import BaseEncoder\n\nclass MyCustomEncoder(BaseEncoder):\n    def encode(self, data: str) -\u003e Dict[str, Any]:\n        # Your encoding logic here\n        pass\n\n    def decode(self, encoded_data: Any, metadata: Dict[str, Any]) -\u003e str:\n        # Your decoding logic here\n        pass\n\n# Register the technique\nfrom obfuslite import Obfuscator\nobfuscator = Obfuscator()\nobfuscator.register_technique('custom', MyCustomEncoder())\n```\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n1. **GUI Won't Start**: Install PyQt6 with `pip install obfuslite[gui]`\n2. **Import Errors**: Ensure ObfusLite is properly installed\n3. **Memory Issues**: Use fast techniques for large files or reduce layer count\n4. **PyInstaller Errors**: Check that all dependencies are included\n5. **Batch Processing Fails**: Verify file permissions and output directory access\n\n### Performance Optimization\n\n- **Use GUI batch processing** for multiple files (50% faster)\n- **Save templates** to avoid reconfiguration\n- **Choose fast techniques** for large codebases\n- **Use fewer layers** for faster processing\n- **Enable ZIP compression** for storage efficiency\n\n### GUI-Specific Tips\n\n- **Project Management**: Save complex configurations as projects\n- **Template System**: Create templates for different security levels\n- **Batch Processing**: Process similar files together for efficiency\n- **Code Analysis**: Use recommendations for optimal settings\n\n## 📄 License\n\nObfusLite is released under the MIT License. Free for personal and commercial use.\n\n## 🤝 Contributing\n\nContributions are welcome! Priority areas:\n\n- **Enhanced GUI features** - New tabs, visualizations, workflows\n- **New obfuscation techniques** - Novel encoding algorithms\n- **Performance optimizations** - Faster processing, lower memory usage\n- **Better PyInstaller integration** - Seamless executable creation\n- **Documentation improvements** - Tutorials, examples, guides\n\n## 🔗 Links\n\n- **Documentation**: [GUI Features Guide](GUI_FEATURES.md)\n- **Examples**: [examples/](examples/)\n- **Issues**: [GitHub Issues](https://github.com/zinzied/obfuslite/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/zinzied/obfuslite/discussions)\n\n## 📞 Support\n\nFor issues, questions, or feature requests:\n- 🐛 **Bug Reports**: Create an issue on GitHub\n- 💡 **Feature Requests**: Use GitHub Discussions\n- 📚 **Documentation**: Check the GUI Features Guide\n- 🎮 **Examples**: Run `examples/obfuslite_basic_usage.py`\n\n---\n\n**ObfusLite** - Professional Python Code Protection Made Simple 🛡️\n\n**Note**: This obfuscation library is designed for legitimate code protection purposes. Users are responsible for complying with applicable laws and regulations in their jurisdiction.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzinzied%2Fobfuslite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzinzied%2Fobfuslite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzinzied%2Fobfuslite/lists"}