Skip to content

zhongleiyang/obfuscar-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Obfuscar revisited

Obfuscar hasn't seen any updates in a long time. There were a few features that I thought would be useful to improve the Obfuscation of the .Net assemblies that Unity3D compiles. I've done my best to add them to this fork of Obfuscar.

New tags:

  • typeinherits: This means that the skip rule applies if the type or declaring type of a field or method inherits from this type. The type must be fully qualified (e.g. System.Object)
  • static: This is a true/false value where the skip rule only applies if the type, field, or method is static or not.
  • serializable: This is a true/false value where the skip rule applies if the type is serializable, or the field is a public field of a serializable type.
  • decorator: This means that the skip rules applies if the field has this specific attribute assigned to it (e.g. System.Diagnostics.Conditional).

Other changes:

  • When Obfuscar renames types, field, methods, etc. it will use characters from the Korean unicode character set. This is to make things slightly more annoying for people in the western hemisphere trying to reverse engineer your code.
  • The core of Obfuscar is now a .dll so it can be easily run from inside Unity.

Note: All tests are currently broken. I didn't do that, it happened when Obfuscar moved to 2.0 Beta and started using Mono.Cecil version 0.9.