[RELEASED v5.3.1] Obfuscator - Protect your game source code!

An Obfuscator is a software tool designed to transform the source code of a game, app or program into a version that is significantly more difficult for humans to understand, while still maintaining its original functionality. It does this by renaming variables, methods, and classes to nonsensical or misleading names, and by altering the code structure in ways that obscure its logic and flow.

GuardingPearSoftware’s developed Obfuscator is designed for Unity, it considers Unity’s unique characteristics, like MonoBehaviours, ScriptableObjects, Serialization and Reflection, giving you a powerful but easy, and out-of-the box working tool.

Integration

Game developers face a mountain of tasks every day. That’s why our Obfuscator was designed for seamless integration into your existing workflow. No complex setup, no headaches – just pure plug & play functionality. Once activated, it automatically obfuscates your code during each build, effortlessly safeguarding your game without slowing you down.

Code - Example

The most important and known feature of an Obfuscator is the so called ‘Lexical Obfuscation’. This technique targets the most accessible elements of your code: the identifiers. For instance, class names like ‘Game’ could be transformed into ‘a’, method names such as ‘Fly’ might become ‘e’, and field names like ‘Speed’ could turn into ‘c’. This process strips away the semantic meaning that makes the code understandable, significantly increasing its difficulty to interpret.

String - Example

String obfuscation is a technique that transforms readable strings in your code into a format that is difficult to understand or recognize. This provides the advantage of protecting sensitive information, from being easily extracted or deciphered by unauthorized users.

Control Flow - Example

Deliberate obscuring the natural flow of your code, dictated by loops, conditional statements, and function calls. Imagine a labyrinthine structure where the path is convoluted, making it difficult to follow the program’s logic.

Security - Example

Additional security measures are also available to enhance your application’s protection. These include generating random code, suppressing ILDasm (the disassembler in the IDE), and implementing micro checks. These techniques make your code more difficult for attackers to read and analyze, thereby increasing overall security.

Settings

Since every game is unique, it requires a customized approach to protection. The Obfuscator offers a wide range of customizable settings that allow you to fine-tune the protection strategy that best suits the needs of your game.

Documentation

Obfuscator Pro is packed with plenty of manuals and tutorials, enabling you to dive straight into securing your game!

Documentation and Scripting Api Reference

Platforms

All platforms Unity supports. Includes Mono and IL2CPP.

Contact

From developers for developers since 2017! If you have any questions feel free to ask.

Contact: guardingpearsoftware@gmail.com

Website: guardingpearsoftware.com

Release of Obfuscator 5.3.0: iOS Update

  • Improvement: Unity animation compatibility - You can now customize where animation callbacks should be automatically searched (models, animation clips, animator controllers).
  • Improvement: Unity event compatibility - You can now customize where event callbacks should be automatically searched (scenes, prefabs).
  • Fix: iOS build - MonoBehaviours were not obfuscated correctly in Unity 2022+ iOS builds. Resulting in MonoBehaviours failed to be resolved while runtime.

Release of Obfuscator 5.3.1: Hotfix Update

  • Fix: Error while obfuscating data.unity3d file : Unable to read beyond the end of the stream.

Hello.
I bought this tool in 2018 and used it a couple of times, because it took forever to finish the processes it does.

Today I got it working again, and it takes more than 20 minutes. My game is usually compiled in 7-8 minutes.

Will this time be like this always or only the first time?

Thank you.

image

After 42 minutes, the process has been completed. However, when I run the game, I get a black screen.

And nothing more than that.

I have left the parameters as they came by default.

Hello @Barritico, thank you for your long trust.

The Obfuscator analyzes the assets (scenes, prefabs, …) for compatibility with obfuscation. This might take some time, but you can deactivate it under the Compatibility tab:

But then you have to skip unity event methods, attached through the editor, manually from obfuscation using the “DoNotRename” attribute.

To the blackscreen, feel free to write me an email at guardingpearsoftware@gmail.com and we can have a look at this together.