Skip to content

hihison/MagicKeyRevC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicKeyRevC

A secure WebView2-based application with hardware fingerprinting and encrypted data transmission.

� Quick Start

  1. Clone the repository

    git clone <your-repo-url>
    cd MagicKeyRevC
  2. Setup configuration

    cp config.h.example config.h
    cp public_key.pem.example public_key.pem
  3. Edit your settings

    • Open config.h and replace placeholder URLs with your actual endpoints
    • Replace public_key.pem with your actual RSA public key
  4. Build the application

    .\build.ps1
  5. Run

    cd bin
    .\main.exe

📖 See SETUP.md for detailed instructions

⚠️ Important Security Notes

  • Never commit config.h - Contains your actual configuration
  • Never commit public_key.pem - Contains your actual public key
  • Never commit private keys - Keep them secure and local only
  • The .gitignore is configured to protect these files automatically

🔧 Features

  • Hardware Fingerprinting - System UUID, HDD ID, Machine GUID
  • Encrypted Communication - RSA encryption for sensitive data
  • Secure WebView - Disabled developer tools, context menu, copy/paste
  • Network Detection - IP and proxy checking
  • Configurable - Compile-time configuration for security

📁 Build Output

The ./bin/ directory contains everything needed for distribution:

  • Application executable
  • Required DLLs and libraries
  • Configuration files
  • Clean, portable package

🛡️ Security Features

  • Compile-time configuration (no runtime config files)
  • RSA encrypted data transmission
  • WebView2 security restrictions
  • Hidden cache directories
  • No sensitive data in source code

📋 Requirements

  • Windows 10/11 - 64-bit
  • MinGW-w64 with MSYS2 - C++ compiler
  • WebView2 Runtime - Usually pre-installed
  • OpenSSL - For encryption (included with MSYS2)

🔨 Build Scripts

  • build.ps1 - PowerShell build script (recommended)
  • build.bat - Batch file for Command Prompt
  • Manual build commands available in BUILD.md

☁️ GitHub Actions (Automated Building)

Set up automated building with your private configuration:

  • Builds automatically on push to main branch
  • Uses GitHub Secrets for your private configuration
  • Creates release packages with all dependencies
  • No sensitive data in repository

📖 See GITHUB_ACTIONS.md for setup instructions

🆘 Support

  • Check SETUP.md for detailed setup instructions
  • See BUILD.md for build troubleshooting
  • Review .gitignore to understand what files are protected

📄 License

[Add your license information here]

# Development mode (debug enabled, security relaxed)
switch-config.bat dev

# Production mode (debug disabled, security strict)
switch-config.bat prod

# Reset to defaults
switch-config.bat default

🔒 Security Features

  • Separated Sensitive Data - Real URLs/keys never in source code
  • Configurable WebView2 Security:
    • Disable developer tools
    • Block right-click context menu
    • Prevent text selection
    • Disable copy/paste shortcuts
  • Encrypted Data Transmission - RSA public key encryption
  • Debug Data Control - Configurable logging levels

🏗️ Build Configuration

Development Build

# Enable debug output and relaxed security
g++ *.cpp -o main_dev.exe [compile flags] -DDEBUG_MODE

Production Build

# Optimized build with strict security
g++ *.cpp -o main.exe [compile flags] -O2 -DNDEBUG

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Follow the security guidelines in GITHUB_SAFETY.md
  4. Never commit sensitive configuration files
  5. Test with both development and production configurations
  6. Submit a pull request

⚠️ Security Notes

  • Never commit config_defaults.cpp (contains real URLs/IDs)
  • Never commit *.pem files (cryptographic keys)
  • Never commit config.json (runtime configuration)
  • Use the provided templates for sharing configuration structure
  • Review .gitignore before committing

📄 License

[Add your license information here]

🐛 Troubleshooting

Build Issues

  • Ensure all dependencies are installed
  • Check WebView2 SDK paths in compile command
  • Verify OpenSSL libraries are available

Configuration Issues

  • Run setup.bat to create required files
  • Check that config_defaults.cpp exists and has real values
  • Ensure public_key.pem is present

Runtime Issues

  • Enable debug mode in configuration for detailed logging
  • Check network connectivity for API endpoints
  • Verify WebView2 runtime is installed

📞 Support

For issues and questions:

  1. Check the documentation in the docs/ directory
  2. Review common issues in this README
  3. Create an issue with detailed error information

MagicKeyRevC

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages