Version_History.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. Version History:
  2. 5.1.0:
  3. - Add: OnRectTransformDimensionsChange will now be skipped from obfuscation for MonoBehaviours.
  4. - Update: The UI / GUI compatibility addon was changed to an Unity-Event addon. Mostly UI / GUI or similiar methods are based on UnityEvent.
  5. When activated (by default it is activated), all methods attached to these events will be skipped.
  6. 5.0.5:
  7. - Fix: Compatibility fix for the Universal Render Pipeline (URP).
  8. 5.0.4:
  9. - Fix: Json serialization for public fields - Class requires Serializable Attribute.
  10. - Fix: Dependency fix at release build.
  11. 5.0.3:
  12. - Fix: OPS.Obfusator.dll assembly was loaded as to obfuscate assembly. Is now a helper assembly.
  13. 5.0.2:
  14. - Fix: Reference bug to OPS.Obfusator.dll.
  15. 5.0.1:
  16. - Improved Gui/Animation method recognition.
  17. - Obfuscator UI improvement.
  18. - OPS.Obfusator.dll is now an AssemblyDefinitionFile.
  19. - Fix: Removed OPS.Obfusator.dll from release builds.
  20. 5.0
  21. == Obfuscator 5.0 Introduction ==
  22. The Obfuscator 5.0 version optimizes the MonoBehaviour protection and brings the obfuscation through
  23. new features on a new level. By introducing ControlFlow Obfuscation, method bodies will be scrambled
  24. and transformed into a nearly human unreadable form. An also new feature is the AntiTampering Obfuscation.
  25. This feature builds a system of micro-checks to prevent modification and keeps hacker away.
  26. 4.0.6:
  27. - Fix: Building Addressable Assets will no longer trigger the obfuscator and a so failed build.
  28. - Add: You can now enter a custom log directory, instead of a file path only. In this directory, the log will be seperated by platform.
  29. 4.0.5:
  30. - Fix: ArgumentException: ... Type .. has no scope?
  31. 4.0.4:
  32. - Fix: On Analyse Scenes / Components - MissingMethodException.
  33. - Fix: Enum wont be obfuscated if 'Obfuscate Serializable Classes' is deactivated.
  34. 4.0.3
  35. - Fix: While processing pre build pipeline: System.MissingMethodException
  36. 4.0.2
  37. - Fix: InvalidCastException while analysing assemblies.
  38. - Fix: Yaml failed deserialization while analysing assets.
  39. 4.0.1
  40. - Add: EventTrigger inspector method will now be recognized too.
  41. 4.0
  42. == Obfuscator 4.0 Introduction ==
  43. The Obfuscator 4.0 version is a bottom up new implemented Obfuscator, to increase the performance, security and
  44. compatibility to Unity 2018+ versions. For you the process keeps the same. The Obfuscator still automatically applies
  45. the obfuscation at build time. The Setting and Error-Stack-Track windows got a face lifting to be more intuitive and easier
  46. to use. The settings and rename-mapping are now stored in a Json serialized file. This means for you,
  47. because of the modification and the extension of the settings, you have to readjust the settings in the settings window.
  48. It is not necessary to change the rename-mapping files. They will still be normally interpreted. But new rename-mappings
  49. will be stored in the new Json format.
  50. Most important obfuscation changes:
  51. - You have more options to decide which assemblies you want to obfuscate.
  52. - The string obfuscation is now way more advanced. (Pro only)
  53. - The obfuscation of MonoBehaviour/ScriptableObject/Playable subclasses is way more advanced too. (Pro only)
  54. - Also inspector set values / methods are now even better recognized.
  55. ----------------------------------------
  56. 3.9.10
  57. - Add: Support of System.Reflection.ObfuscationAttribute
  58. 3.9.9
  59. - Fix: Obfuscation of Indexer Properties with custom names.
  60. - Add: Support of AppodealAds.
  61. 3.9.8
  62. - Fix: Could not resolve abc/xyz (Enums in Nested Classes)
  63. - Fix: Obfuscation of Indexer Properties
  64. - New: Added 'OPS.Obfuscator.Attribute.ObfuscateAnyway', allows to obfuscate class members even if they should be skipped.
  65. 3.9.7
  66. - Fix: "Could not copy Temp/xyz to Library/xyz"
  67. - Fix: Button background in Settings Gui.
  68. 3.9.6
  69. - Update: Compatibility Update for next Obfuscator Version 4.0
  70. - Fix: Fix for Playable classes
  71. 3.9.5
  72. - Fix: Obfuscation of UWP/Windows Store applications may fail if some dependency is missing.
  73. - Fix: A NullReferenceException might occur when obfuscating multiple assemblies.
  74. - Update: You can now manually activate/deactivate the obfuscation of 'Assembly-CSharp.dll'
  75. and 'Assembly-CSharp-firstpass.dll'. (Do not forget to activate the obfuscation of those
  76. through the belonging settings, in the Obfuscator Settings General Tab, after updating!!)
  77. - Update: Third party assembly Mono.Cecil got an update.
  78. - Pro: Removed: Removed the 'OPS.ObfuscatorAssets.dll' assembly located in the
  79. 'OPS\Obfuscator.Pro\Editor\Plugins' directory, it is now part of the 'OPS.Obfuscator.Editor.dll'
  80. assembly. (Depending on the used Unity Editor, you have to remove the assembly
  81. 'OPS.ObfuscatorAssets.dll' manually after updating!!)
  82. 3.9.4
  83. - Pro: Fix: Unity obfuscation had a small artifact causing build errors, fixed that.
  84. - Fix: NullPointer Exception in the Assembly analysation phase. (sorry for that!)
  85. - New: Unity Editor before version 5.6 are now theoretically supported (but not tested yet!)
  86. - Change: Public Field and Public Method Obfuscation are now part of the free version again.
  87. 3.9.3
  88. - New: In the obfuscator settings (general tab) you can now add additional assembly references, if the obfuscator has a problem resolving those.
  89. 3.9.2
  90. - Fix: Whole obfuscation breaks if one assembly was not found.
  91. - Pro: Fix: Unity class obfuscation fixes.
  92. - New: Unity Linux Editor support.
  93. 3.9.1
  94. - Fix: Assembly resolving fix.
  95. 3.9:
  96. - Pro: Fix: Unity class (monobehaviour/scriptableobject) name obfuscation is active again for unity builds later than 2018.2!
  97. Not in the same way as before, but still very effective!
  98. - Fix: Virtual/Abstract Properties got not obfuscated correctly.
  99. - Pro: Improvement: String obfuscation.
  100. - New: Suppress Debug through Visual Studio.
  101. 3.8
  102. - Pro: Fix: Test AssemblyDefinition Files got obfuscated too, causing an error.
  103. - Fix: Properties did get obfuscated correctly (virtual/abstract properties still have the bug, but a fix is on the way.)
  104. - Add: Support for unity 2019.2 beta and 2019.3 alpha.
  105. - Add: You can now obfuscate serializeable field.
  106. - Add: Notification inside development builds, showing you why something got not obfuscated.
  107. - Pro: Currently deprecated: Unreadability for decompilers is no longer working, the trick got worked around by decompilers. (But working on a new way.)
  108. 3.7
  109. - Change: Renamed OPS.Obfuscator assembly to OPS.Obfuscator.Editor
  110. - Add: Added a assembly called OPS.Obfuscator containing the obfuscator attributes.
  111. Fixes that you could not use Obfuscator Attributes inside AssemblyDefinition Files.
  112. 3.6.1
  113. - New: Now you can log in a custom file. Go to the Obfuscator Window->Advanced->Logging.
  114. 3.6
  115. - Fix + Improvement: Various minor fixes and improvement to increase the obfuscation performance.
  116. - Fix: WSA/UWP obfuscation build error.
  117. - Change: Obfuscator Windows are now located at OPS->Obfuscator->... instead of Window->...
  118. 3.5.5
  119. - Fix: Obfuscation sometimes wont run on first build.
  120. - Fix: Obfuscation of generic nested classes in generic classes.
  121. - Pro: Improvement: Improvement of String obfuscation/encryption.
  122. 3.5.4
  123. - Pro: Fix: Old reference to OPS.RSA.
  124. 3.5.3
  125. - Pro: Fix: Obfuscator_UnityObject_RenamingTable.obf still exists.
  126. - Pro: Change: String encryption is now a symmetric encryption instead of a asymmetric encryption. The power needy asymmetric decryption could cause hickups.
  127. 3.5.2
  128. - Fix: Seperated obfuscation of enum fields/values from obfuscation of class fields.
  129. 3.5.1
  130. - Adjustment: Removed usage of custom fonts. May correlate with a editor font bug while using NGUI.
  131. 3.5
  132. - Fix: Property and Event Obfuscation might cause unknown Type in mscorlib errors.
  133. - Add: Better controlability of obfuscation for string based invokes. Added a setting at Advanced -> Reflection and Coroutines,
  134. to activate/deactivate obfuscation of members matching string. (Activate if you use for example Type.GetField([Name]) or StartCoroutine([Name]))
  135. - Add: Obfuscation setting of internal members.
  136. - Change: The obfuscation of internal members is now seperated from the private members.
  137. - Update: Updated Mono.Cecil to 0.10.3.
  138. 3.4.1
  139. - Update: Updated Mono.Cecil to 0.10 to fix the out of memory bug.
  140. 3.4
  141. - Fix: Obfuscation for Reflection and Unity Coroutines
  142. - Fix: Obfuscation of Internal members.
  143. - Change: Private setting controls now the obfuscation of private and internal members.
  144. - Change: Public field and method obfuscation is now only available in Obfuscator Pro.
  145. 3.3
  146. - Bug fix: Mac OS X support
  147. - Bug fix: Automatically finding of Gui/Animation/... methods
  148. - Change: Logging - The logs filename depends now one the buildtarget and not the date anymore
  149. - Pro: Change: You can now add additional assemblies by it full path
  150. 3.2
  151. - Bug fix: Parameter renaming
  152. - Bug fix: Namespace and unity classes renaming
  153. - Bug fix: Nested classes renaming
  154. - Bug fix: Attribute renaming
  155. 3.1
  156. - New: StackTrace unobfuscator: You can find it at Unity->Window->Obfuscator StackTrace.
  157. - Bug fix: Obfuscation of Class/Method using RuntimeInitializeOnLoadMethodAttribute
  158. - Some adjustments for property and event obfuscation
  159. - Various small bugfixes
  160. 3.0
  161. Obfuscator got reimplemented to improve the obfuscation process
  162. to optimize your security. Because of this, there is a plenty
  163. amount of new feature included:
  164. - Pro: New: Assembly Definition File obfuscation
  165. - Pro: New: External Assembly obfuscation
  166. - New: Obfuscate Serializeable classes/fields
  167. - New: Save/Load renaming mapping
  168. - Many Bugfixes and improvements
  169. - Logs are now stored inside the Obfuscator folder.
  170. - Attributes have moved to OPS.Obfuscator.Attribute
  171. - Pro: The Obfuscator Code is still unprotected inside the .dll. But moved to a assembly because of the massive amount of new code.
  172. INFO: Please remove your old Obfuscator installation(but you can keep your settings file)!
  173. 2.9
  174. - Next to the build game, there will be a file called: MyGame_ObfuscatorRenaming.txt
  175. containing the obfuscated name and the real name. Useful for reading the stack trace of build games.
  176. - Improvement: Finding gui / unityevent methods
  177. - Bug fix: Namespace collidation of 'System.IO.Path' for some users
  178. - Bug fix: Namespaces in the ignore list shared the same value with the do not rename attribute list
  179. - Pro: Bug fix: String obfuscation and namespace vice versa ignoring
  180. - Pro: Improvement: String obfuscation speed and process of encryption
  181. 2.81
  182. - First fixing of MonoBehaviour class name obfuscation in Unity 2018.2
  183. - Obfuscator performance update
  184. - Improved intercompatibility with AssetProtection
  185. - Beta: Unity Methods Obfuscation ( like Awake, Start, Update, ... )
  186. INFO: Important to know: Still not all MonoBehaviour class names get obfuscated in Unity 2018.2.x. But research is in progress.
  187. 2.8
  188. - Some Gui adjustments
  189. - Beta: Unity Methods Obfuscation
  190. 2.7.1
  191. - RSA Encryption Upgrade
  192. INFO: Unity 2018.2.x seems to have a bug with Obfuscation of MonoBehaviour class names. Please use a prior verion until this got fixed.
  193. 2.7
  194. - Some Gui adjustments
  195. - Some adjustments with IL2CPP builds
  196. - Pro: Adjustments with the 'make assembly unreadable' feature
  197. 2.6
  198. - Compatibility with PlayMaker
  199. - Some adjustments for PS4 and XboxOne build
  200. - Some logging adjustments
  201. - Pro only: Some adjustments for jenkins builds
  202. 2.55
  203. - Resolving Fix for abstract classes.
  204. - Compatibility with Anti Cheat
  205. 2.54
  206. - Fix for an error while loading assets.
  207. - Fix for a bug happening while resolving class hierarchies.
  208. - Pro only: Fix for the string obfuscation causing: 'Cannot perform dot operator' or 'expected ;'
  209. 2.53
  210. Hotfix for UWP
  211. - WinRt assmembly gets now resolved too.
  212. - Fixes Bug: Could not resolve Nested Type XYZ.
  213. - Some adjustments with obfuscation of generic classes.
  214. 2.52
  215. Hotfix for IL2CPP and UWP
  216. - Fixed obfuscation error of nested generic methods in generic classes.
  217. - Streamwriter fix for UWP
  218. - Some IL2CPP adjustments
  219. 2.51
  220. Hotfix for IL2CPP
  221. - Fixed obfuscation error of nested classes in generic classes.
  222. - Fixed bug, while building with IL2CPP: Field/Method is not definied/found.
  223. - Pro only: Some fixes for random code creation.
  224. 2.5
  225. - Important! The folder structure changed. The Obfuscator files will now be found in the folder OPS!
  226. - Fix for a possible Nullpointer exception in the BuildPostProcessor.
  227. - Added to all scripts, using an unityeditor, an #define to prevent possible resource.asset errors.
  228. - Renaming fix for IEnumeration methods.
  229. - Added a new setting, under the Advanced settings, to define custom attributes to behave like DoNotRename.
  230. - Pro only: Some fixes for random code creation.
  231. - Some gui adjustments
  232. 2.4
  233. - IBM Watson SDK compatibility
  234. - New method to find GUI methods
  235. - New user Gui
  236. - Warning fix for old build platforms
  237. - Bug fix: Vice Versa settings wont get saved
  238. - Bug fix: Sometimes base classes wont get obfuscated, but inherited classes get obfuscated
  239. 2.31
  240. - Needs now at least Unity 5.6.1 (Because of IL2cpp)
  241. - Javascript/Unityscript obfuscation is no longer supported, because of the Unity Asset Store Guidelines.
  242. 2.3
  243. - Now with IL2CPP obfuscation!
  244. - New Readme.
  245. - Some Gui fixes.
  246. - Error fix trough random code containing methods with try/catch
  247. 2.2
  248. Animation Update:
  249. - Find automatically animation event method option.
  250. - Fixed some problems with animation itself.
  251. - Fixed some problems with inheritance.
  252. - Added more Unity messages to skip.
  253. 2.11
  254. => IMPORTANT UPDATE!
  255. - Fixed Problem with Generic Addon!
  256. - Fixed Problem with classes sharing the same name!
  257. 2.1
  258. - Beta: Xbox 360/One and Playstation 3/4
  259. - Option for obfuscation of Abstract and Generic Unity classes
  260. - Some minor fixes
  261. => Close Obfuscator Window before update!
  262. 2.0
  263. - Now, after dll compile Obfuscation. Not post project build Obfuscation.
  264. -> If you notice any problems switch back to obfuscator version 1.37.
  265. -> Auto GUI finder now will only find methods from the first scene.
  266. - New Enum Obfuscation option
  267. - Now with better progress bar
  268. - Some bugfixes
  269. 1.37
  270. - Dynamic DLL fix
  271. - Some Adjustment with Attributes
  272. 1.36
  273. - Saving Settings in 'Settings.txt', but Android Settings. (To protect passwords)
  274. - Error Code 1 and 10 fix are now automatic fallbacks.
  275. - Fixed a bug when calling zipalign on an Android apk and Unity has not enough rights. (An GAME_Obfuscated.apk gets now created)
  276. 1.35
  277. - Error Code 1 auto fix adjusted and optimized!
  278. - Namespace obfuscation vice versa option.
  279. - Serialization Bug Fix (#5)
  280. - Some intern optimizations
  281. 1.34
  282. - Fixed Bug: Finding GUI methods containing characters like 'P' or '0'. (#4)
  283. - Adjusted Obfuscation for Serializable classes and fields.
  284. - Some intern optimizations
  285. 1.33
  286. - Auto scan for GUI methods (No longer need of DoNotRename on GUI methods)
  287. - Find paths for Android sign process
  288. - Added new GUI Elements to activate Error Code 1 and 10 auto fix.
  289. - Adjusted UnityScript Attributes
  290. 1.32
  291. - Performance Improvement
  292. - Fix for Android Sign / Zip Bug
  293. - New Message for Inheritance Problems between Obfuscated and not
  294. Obfuscated classes
  295. - New Attribute(Class/Method) that make the obfuscator ignore MethodBodies obfuscation
  296. 1.31
  297. - Switching from AES String Obfuscation to custom RSA String Obfuscation to allow Metro (Windows Universal/…) platform support.
  298. - Metro (Windows Universal/…) platform support.
  299. - Fixed Bug ‘Store in Ram’ (#2)
  300. - Fixed Bug ‘Code E9’ (#3)
  301. 1.3
  302. - Added Facebook Platform support
  303. - Added WebGL Platform support
  304. - Demo has not to get removed anymore
  305. 1.22
  306. - Fixed 'Adding Random Code' bug #1
  307. - Upgraded to Mono.Cecil 0.96
  308. - Fixed some errors in the Readme
  309. 1.21 Switched from Unity 5.6.0 to 5.1.0
  310. 1.2 Fixed Bug on Mac. And added IPhone support!
  311. 1.11 Android Sign Process
  312. 1.1 Added Android Build
  313. 1.01 Several BugFixes.
  314. 1.0 First official release of Obfuscator Free and Pro.