Skip to content

An Integrated Encryption & Protection Scheme for Unity Project(Mono & IL2CPP)

License

Notifications You must be signed in to change notification settings

zhaoguohao/Ether-Uprotector

 
 

Repository files navigation

Ether Uprotector

qq qq qqgroup Bilibili email

star download tag

Ether Uprotector is a tool providing custom encryption for Unity, maintained by Ether Team

The program is based on Net6.0 & NETFramework4.8, requires Net6.0 & NETFramework4.8 environment, please make sure your computer has NET Runtime or NET SDK properly installed

English | 简体中文

Project lists

What's New

  1. The UnityPackge feature has been added to this update. Now you can import our UnityPackge and configure your encryption scheme in Unity's visual interface.

    Now you can enjoy Ether-IL2CPP and Ether-Obfuscator dual-safety

    We support all versions of Unity after 2018.2

    For datailed usage Ether_Obfuscator

    UnityConfig

  2. In the Mono Obfuscate feature, We added the ErrorMethod function, it will prevent Dnspy and other decompilers from working properly (See below picture)

New description
MethodError Break Method makes Dnspy and other decompilers unable to restore C # code

after ErrorMethod:

ErrorMethod

  1. Fixed the following bugs
  • Fix bug with invalid Enable switch

  • Error reported in Unity 2022

  • Fixed the problem of sometimes throwing NullReferenceException when switching scenes in Unity

How to use Ether_Obfuscator and how to deal with problems

  1. Download our UnityPackage from Release
  2. Configure Config.json and KeyFunc.json properly, just as configuring Ether_Obfuscator (if you don't know how to configure,please find out in Ether_Obfuscator)
  3. You only need to build projects like normal ones, and O&Z will automatically help you complete the confusion of IL2CPP
  4. There are still some bugs in this function. At present, the following points are known:
    • When you use O&Z IL2CPP Obfuscator to build your project, an error may occur in a function (and it may or may not occur during the construction, for example, an error may be reported during the construction of the same project, and it can be compiled in sequence later). This is caused by the random problem of ControlFlow. If you are patient, you can try several times. If you always report an error in a certain function, You can try to add the name of this function in Config.json, which will make ControlFlow skip this function, such as the following:

    • err1

    • You can add the HandleShoot function to ignore_ControlFlow_Method

    • config

  5. This function can confuse your project before IL2CPP is executed (the strength is equivalent to Ether_Obfuscator), which can make your project more secure when building cpp. Even if your program receives attacks like il2cppdumper, your methods and fields are still in a confused state, and the code file stored in il2Cpp is still confused by functions like ControlFlow, which reduces its readability and protects your game security to the greatest extent

    The best effect can be obtained by cooperating with Ether-IL2CPP

Preview

  1. We are trying to modify the MonoBehave class to confuse Class

Todo List

  1. Encrypt AssetBundle resources
  2. Modify IL2CPP operating mechanism
  3. We're ready to launch Unity AssetStore!
  4. ......

Coming soon awa!

Special Thanks

The projects and project cases that this project refers to are as follows. Thank you very much to all open source authors!

Contact

If you have any questions or suggestions, you can contact the author's QQ account for feedback.

You can also ask questions directly in issue

Looking forward to your suggestion!

Group:957552913 (QQ)

About

An Integrated Encryption & Protection Scheme for Unity Project(Mono & IL2CPP)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 60.8%
  • C++ 24.9%
  • Mathematica 5.2%
  • ShaderLab 4.4%
  • C 4.0%
  • HLSL 0.6%
  • Python 0.1%