Skip to content

DestroyerDarkNess/Hydra

Repository files navigation

Create Go App

HydraEngine

.NET Framework .NET Framework License

Hydra is a powerful tool for protecting .NET assemblies with various obfuscation and anti-debugging techniques. Focus on writing your code and let Hydra handle the protection!

⚠️ I invite you to the community, where you can chat and suggest your ideas for this project. 💌

Discord Banner 2

⚡️ Quick start

First, ensure you have .NET Framework 4.8 or higher installed.

Download Hydra and have fun.

That's all you need to know to start! 🎉

🔨 Building from Source

If you want to compile Hydra from source code, follow these steps:

Prerequisites

  • Visual Studio 2019 or later (with .NET Framework 4.8 support)
  • .NET Framework 4.8 or higher
  • Git for cloning the repository

Step-by-Step Build Process

📹 Complete build process demonstration:

HydraBuild.mp4

Troubleshooting

  • Ensure you have the correct .NET Framework version installed
  • Make sure all NuGet packages are properly restored
  • Check that you have sufficient permissions to build the project

⚙️ Features & Options

Listed below are all the features of Hydra:

Feature Description .Net Framework .Net Core
🔄 Renamer Obfuscates the original assembly by renaming Methods, Properties, Events, Classes, Fields, Namespaces and even the Module of the assembly. Supports exclusion via HydraNoObfuscate attribute.

🚧 Under Construction. 🚧

🔄 Renamer - HydraNoObfuscate Attribute

The Renamer feature now supports excluding specific classes and methods from obfuscation using the HydraNoObfuscate attribute.

Usage Example:

// 1. Define the attribute in your code
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event)]
public class HydraNoObfuscateAttribute : Attribute
{
}

// 2. Apply to classes you want to exclude completely
[HydraNoObfuscate]
public class ImportantAPIClass
{
    // All members of this class will be excluded from renaming
    public void PublicMethod() { }
    public string PublicProperty { get; set; }
    public string PublicField;
}

// 3. Apply to specific members you want to exclude
public class MyClass
{
    [HydraNoObfuscate]
    public void DoNotRenameThisMethod() 
    {
        // This method will keep its original name
    }
    
    public void ThisMethodWillBeRenamed() 
    {
        // This method will be renamed normally
    }
    
    [HydraNoObfuscate]
    public string ImportantProperty { get; set; }
    
    [HydraNoObfuscate]
    public string criticalField;
    
    [HydraNoObfuscate]
    public event EventHandler ImportantEvent;
}

Key Features:

  • Hierarchical Protection: If a class has [HydraNoObfuscate], all its members are automatically protected
  • Granular Control: Apply the attribute to specific methods, properties, fields, or events
  • Flexible Naming: The attribute works with both HydraNoObfuscate and HydraNoObfuscateAttribute names
  • Zero Configuration: Just add the attribute definition to your code and start using it

Documentation

⭐️ Project assistance

If you want to say thank you or/and support active development of Hydra:

❗️ Support the author

You can support the author on Binance or Paypal s4lsalsoft@gmail.com. ❤️

🏆 A win-win cooperation

And now, I invite you to participate in this project!

Together, we can make this project better every day! 😘

⚠️ License

Hydra is free and open-source software licensed under the MIT License.