The String Encoder is a C# tool designed to encrypt strings within an executable file, store these encrypted strings in a MySQL database, and generate a protected version of the executable along with a corresponding PHP configuration file.
- String Encryption: Encrypts all strings in the target executable file and stores them in a MySQL database.
- Database Setup: Automatically creates and configures a MySQL database and table to store encrypted strings.
- Protected Executable: Generates a new version of the executable where strings are replaced with calls to a decoding function.
- MD5 Calculation: Computes the MD5 hash of the protected executable for verification purposes.
- PHP Configuration File Generation: Creates a PHP config file with database credentials and the MD5 hash for integration with a web service.
Before using this tool, ensure you have the following installed:
- MySQL Server
- PHP (for running the PHP configuration and token generation scripts)
- Database Setup:
The tool will create the necessary database and tables if they do not already exist. Ensure your MySQL server is running and accessible.
- Encrypting Strings:
The tool will replace strings in your executable with encrypted references. These references will be dynamically decrypted during runtime using the
Runtime
class injected into the executable. - PHP Configuration:
The
config.php
file will contain the necessary credentials and MD5 hash for your web service to validate and interact with the protected executable.
- Security: Ensure your database and PHP scripts are secure and accessible only to authorized users.
- Security Enhancements: To further improve security, consider implementing an authentication system. This would involve adding a check in the PHP script to ensure that authentication has been successfully completed before executing any further operations. However, with the current code, you must ensure that the method `Execute` does not encrypt the authentication system within the application.
Contributions are welcome! Please fork the repository and submit a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.
If you'd like to support me, you can do so via Ko-fi. Every bit of support is greatly appreciated!
You can also support me with cryptocurrency:
- XMR : 48JRJwsDuMQ7EboCSDSAEMKWfyVGWbfBcM5SaxCCMqiBeduwZDZQMw5KseCn2ciyQX6ckJyPH24HJNoJGVZH9EmATAoX6Jz
- LTC : LVu6dmsaAfp9mi5s6BRFZApBrScQvhYF9s
- BTC : bc1qps0wd0hhhkz6p924c76s6xc8xt5hn4ctnqtjk2