A deobfuscation tool for Eazfuscator.
Перейти к файлу
HoLLy 758cb0b399
Add reference to EazyDevirt
2023-06-20 20:39:56 +02:00
.github/ISSUE_TEMPLATE wtf 2020-08-16 12:11:20 +00:00
EazFixer spacing fix 2020-08-29 22:36:42 +03:00
.gitattributes Add .gitignore and .gitattributes. 2017-12-29 01:49:56 +01:00
.gitignore Add .gitignore and .gitattributes. 2017-12-29 01:49:56 +01:00
EazFixer.sln Use NuGet packages for dependencies 2020-04-19 16:48:41 +02:00
LICENSE Create LICENSE 2017-12-30 21:33:41 +01:00
README.md Add reference to EazyDevirt 2023-06-20 20:39:56 +02:00
appveyor.yml Change artifact names to not start with period 2020-08-16 13:48:06 +02:00

README.md

EazFixer Build status

A deobfuscation tool for Eazfuscator.

Downloading

You can download the latest master build at AppVeyor. If there was no commit in the last 6 months, you will have to build it yourself. Please do not open issues asking for me to build it for you.

Description

EazFixer is a deobfuscation tool for Eazfuscator, a commercial .NET obfuscator. For a list of features, see the list below.

Implemented fixes:

  • String encryption
  • Resource encryption
  • Assembly embedding

Not implemented, may be added in the future:

  • Entrypoint obfuscation
  • Data virtualization

Out of scope:

  • Code virtualization (consider using EazyDevirt)
  • Symbol renaming (symbol names are either unrecoverable or encrypted. For symbol decryption in case of a known key, see EazDecode)
  • Automatic code optimization (not an anti-feature!)
  • Code control flow obfuscation (I didn't have any problems with my samples in dnSpy)
  • Assemblies merging (doesn't seem probable, especially with symbol renaming)
  • Control flow obfuscation (use de4dot)

Usage

Call from the command line or drag and drop the file on and let it run or use the command line flag --file.

If your assembly is protected with control-flow obfuscation, run it through de4dot with the --only-cflow-deob flag first.

  • --file path
  • --keep-types
  • --virt-fix

The flag --file is used for the input file. The flag --keep-types is similar to the de4dot flag, Keeps obfuscator types and assemblies. The flag --virt-fix keeps certain parts obfuscated to stay working with virtualized assemblies.

example: EazFixer.exe --file test.exe --keep-types

Building

Clone the repository and use the latest version of Visual Studio (2019, at the time of writing).

Support

EazFixer is (and will always be) targeted at the latest version of Eazfuscator. If your version is not supported, try a more universal deobfuscator like de4dot. If your version is newer than what this tool supports, create an issue only after verifying with the latest version of Eazfuscator.

Also, I will not help you use this program. Consider it for advanced users only. If you do run into a problem and are sure it is a bug, feel free to submit an issue but I cannot guarantee I will fix it.

  • EazDecode, for decrypting encrypted symbol names in case of a known encryption key.
  • eazdevirt, a tool for devirtualizing older version of EazFuscator.
  • eazdevirt fork, my abandoned fork of eazdevirt, may work slightly better on newer samples.

Credits

This tool uses the following (open source) software:

  • dnlib by 0xd4d, licensed under the MIT license, for reading/writing assemblies.
  • Harmony by Andreas Pardeike, licensed under the MIT license, for patching the stacktrace which allows for reflection invocation to be used.