811 lines
41 KiB
Plaintext
811 lines
41 KiB
Plaintext
![]() |
Please, always remove previous Anti-Cheat Toolkit version before updating!
|
||
|
|
||
|
2.3.1
|
||
|
- fix possible code corruption due to the obfuscation (thx firediver98)
|
||
|
|
||
|
2.3.0
|
||
|
- update minimum Unity version to 2018.4
|
||
|
- remove legacy code
|
||
|
- add DateTime value to the TimeCheatingDetector's OnlineTimeResult
|
||
|
|
||
|
2.2.4
|
||
|
- fix compilation warnings for non-IL2CPP UWP platform
|
||
|
- fix build errors on non-IL2CPP UWP platform (thx Aymen)
|
||
|
|
||
|
2.2.3
|
||
|
- fix possible SharpZipLib.dll conflicts (thx Nathaniel)
|
||
|
|
||
|
2.2.2
|
||
|
- fix possible null reference exception when migrating from ACTkv1 (thx RonoVanBono)
|
||
|
- fix HasKey() did not checked ACTkv1 keys (thx Albert)
|
||
|
|
||
|
2.2.1
|
||
|
- fix compilation error in Unity 2018.1 - 2018.4 with .NET 3.5 scripting (thx Vladimir)
|
||
|
|
||
|
2.2.0
|
||
|
- add new APIs to CodeHashGenerator to return all files hashes for accurate checks
|
||
|
* allows to check split builds hashes (e.g. from aab)
|
||
|
- improve CodeHashGenerator performance
|
||
|
- improve CodeHashGenerator Android native part errors processing
|
||
|
- clean and refactor some code
|
||
|
- fix possible error in CodeHashGenerator example code
|
||
|
|
||
|
2.1.3
|
||
|
- fix Code Hashing example compilation error
|
||
|
- add ProGuard notice to the Readme (thx Vladimir)
|
||
|
|
||
|
2.1.2
|
||
|
- fix compilation warnings and errors with TimeCheatingDetector disabled (thx Gary)
|
||
|
|
||
|
2.1.1
|
||
|
- fix ObscuredString.GetDecrypted returning value (thx Jose)
|
||
|
|
||
|
2.1.0
|
||
|
- add ignoreSetCorrectTime option to TimeCheatingDetector
|
||
|
- add IsStarted property to all detectors
|
||
|
- fix possible wrong TimeCheatingDetector check result (thx esteban16108)
|
||
|
|
||
|
2.0.6
|
||
|
- add ACTK_US_EXPORT_COMPATIBLE symbol (see Readme for details)
|
||
|
- fix possible data loss after removing all obscured prefs (thx n0lex)
|
||
|
|
||
|
2.0.5
|
||
|
- fix incorrect CodeHashGenerator result Success calculation (thx murat303)
|
||
|
- ignore more standard prefs at the Prefs Editor (thx n0lex)
|
||
|
|
||
|
2.0.4
|
||
|
- remove few extra debug logs from Android native plugin
|
||
|
- add code obfuscation and overall code protection notes to the readme
|
||
|
|
||
|
2.0.3
|
||
|
- add few API proxies to the ObscuredString for better compatibility
|
||
|
- fix ObscuredString.GetHashCode returned incorrect values (thx quanbp)
|
||
|
|
||
|
2.0.2
|
||
|
- fix incorrect ObscuredString.Length property value (thx Davy)
|
||
|
|
||
|
2.0.1
|
||
|
- move settings from User to Project space
|
||
|
|
||
|
2.0.0
|
||
|
- add new feature: CodeHashGenerator (Unity 2018.1 and newer)
|
||
|
* generate hash for your code in Editor to save in resources or on your server
|
||
|
* generate hash for your code in Runtime for further validation
|
||
|
* hash generation performs on separate thread
|
||
|
* hash Mono, IL2CPP, Android App Bundle builds
|
||
|
* support for Standalone Windows and Android, more to come
|
||
|
- add new feature: SpeedHackProofTime class
|
||
|
* use speed-hack resistant timers to let you ignore speedhack
|
||
|
* proxy to Time.* until speed hack is detected to avoid extra resources waste
|
||
|
* mimic non-fixed Time.* APIs (e.g. time, deltaTime, unscaledTime, etc.)
|
||
|
- Obscured types update:
|
||
|
* make obscured types handle crypto keys fully automatically
|
||
|
* automatically randomize crypto key for each new instance
|
||
|
* close few key-related vulnerabilities
|
||
|
* refactor and update API and docs for consistency
|
||
|
* add GenerateKey() API
|
||
|
* improve ObscuredString performance
|
||
|
* reduce ObscuredString GC allocations by 24%
|
||
|
* fix overridden obscured types indication in Unity 2018.3+
|
||
|
- Obscured Prefs update:
|
||
|
* make ObscuredPrefs handle crypto keys fully automatically
|
||
|
* change encryption bits with automatic migration from ACTk v1
|
||
|
* make SetRawValue and GetRawValue to take encrypted key into account
|
||
|
* remove support for pre-1.4.0 prefs migration, use ACTk v1 to migrate
|
||
|
* remove unobscured mode, please use PrefsEditor to view obscured prefs
|
||
|
* refactor and cleanup
|
||
|
- Injection Detector update:
|
||
|
* add dynamic whitelist generation (no more default whitelist)
|
||
|
* dramatically improve injection check performance (Unity 2018.3 and newer)
|
||
|
* include only used assemblies in whitelist (Unity 2018.3 and newer)
|
||
|
* enable Injection Detector feature from the detector's inspector
|
||
|
* fix lots false positives with old default whitelist
|
||
|
* fix detector didn't disable for IL2CPP builds in some cases
|
||
|
* add detection event delegate for addition argument clarity
|
||
|
- Speed Hack Detector update:
|
||
|
* add Threshold property to allow tiny clocks speed difference on different HW
|
||
|
* slightly improve and refactor internals
|
||
|
- Wall Hack Detector update:
|
||
|
* improve warnings and errors UI in inspector
|
||
|
* fix false positive for volumetric fog (volumetric atmospheric scattering in HDRP)
|
||
|
* fix rare false positive for Linear color space in 2017.4.1 and newer
|
||
|
* fix rare false positive for Post-processing stack
|
||
|
* fix rare false positives due to Unity rendering glitches
|
||
|
- Settings update:
|
||
|
* move Settings window to the Unity Editor Preferences section
|
||
|
* add new buttons-icons for quick access to the important related resources
|
||
|
* add IL2CPP section with "Switch to IL2CPP" button for supported platforms
|
||
|
* add "add support to build" toggle in Injection Detector section
|
||
|
* add validation for Injection Detector to have support toggle enabled
|
||
|
* add validation for Wallhack Detector wireframe shader to be always included
|
||
|
* add custom whitelist entries count to the button which opens whitelist editor
|
||
|
* make all ACTk settings to be per-project
|
||
|
* update and refactor UI a bit
|
||
|
* prevent compilation conditional changes while editor is compiling anything
|
||
|
* fix ACTK_IS_HERE state check missed
|
||
|
- add StringToBytes() and BytesToString() helper methods to ObscuredString
|
||
|
- add IsCheatDetected property to all detectors
|
||
|
- add Assembly Definitions
|
||
|
- make all detectors return their instances from StartDetection methods
|
||
|
- make PrefsEditor aware of TimeCheatingDetector service pref
|
||
|
- make PrefsEditor aware of more standard Unity prefs to hide them
|
||
|
- fix and improve lots of other stuff across codebase
|
||
|
- fix various compilation warnings in newest Unity versions
|
||
|
- remove deprecated components from example scenes preventing warnings in 2019.3
|
||
|
- fix possible data corruption while incrementing ObscuredShort
|
||
|
- fix compilation errors regression in PlayMaker integration package
|
||
|
- update project to Unity 2017.4.1
|
||
|
- refactor all detectors code to have nicer inheritance
|
||
|
- refactor menu-related code a bit for better readability and clarity
|
||
|
- refactor other minor parts of code base
|
||
|
- remove legacy code
|
||
|
|
||
|
1.6.7 [Maintenance Update before big 2.0 release!]
|
||
|
- update to Unity 5.6.1
|
||
|
- improve random key generation performance in some cases
|
||
|
- add few missing assemblies to the default InjectionDetector whitelist
|
||
|
- prevent detectors duplicates on same Game Object
|
||
|
- workaround for Android 4.2.* HEAD request bug
|
||
|
- fix RandomRangeInt can only be called from the main thread in some cases
|
||
|
- fix possible null ref exception in ObscuredPrefs.SetString
|
||
|
- other minor changes
|
||
|
|
||
|
1.6.6
|
||
|
- update to Unity 5.6
|
||
|
- fix Unity 2018.3 project settings open code didn't compiled
|
||
|
- fix ObscuredQuaternion was shown in inspector
|
||
|
- fix ObscuredVector3 and ObscuredQuaternion migration (thx friuns3)
|
||
|
- fix migration of prefab instances in scene after prefabs migration
|
||
|
|
||
|
1.6.5
|
||
|
- ObscuredPrefs actions refactored to events to properly allow multiple listeners
|
||
|
- example code refactored and updated
|
||
|
- add support for dynamic assemblies to InjectionDetector (thx Michal)
|
||
|
- fix InjectionDetector whitelist had no some .NET Core assemblies (thx Michal)
|
||
|
- fix InjectionDetector crash when user whitelist has incorrect chars (thx Michal)
|
||
|
|
||
|
1.6.4
|
||
|
- celebrating 5 years of free updates! \o/
|
||
|
- file names and structure refactored - please remove previous version completely!
|
||
|
- TimeCheatingDetector got more attention again (breaks existing APIs):
|
||
|
* core rewritten and now works with WebGL and UWP .NET (thank you Vincent!)
|
||
|
* logic to exclude false positives when user just has wrong time
|
||
|
* now detects both wrong time and actual time cheating with separate thresholds
|
||
|
* few old events deprecated in favor of new more generic CheatChecked event
|
||
|
* fixed possible Sockets errors
|
||
|
* fixed incorrect check interval calculation after resuming unity player
|
||
|
- add static method FromEncrypted() to all obscured variable types
|
||
|
- added new detectors prefab with another layout (each detector on separate object)
|
||
|
- improved UI of settings window
|
||
|
- added few new conditional symbols options for better debug and compatibility
|
||
|
- updated InjectionDetector whitelist to match Unity 2018.3.0b2
|
||
|
- detectors inspector UI updated to make it easier to read settings
|
||
|
- fixed obscured values initialization in inspector was inconsistent in some cases
|
||
|
- fixed warnings when KeepAlive detectors were started from nested objects
|
||
|
- readme got list of contents with hyperlinks for quicker navigation
|
||
|
- some legacy redundant code removed
|
||
|
- other minor fixes and improvements
|
||
|
|
||
|
1.6.3
|
||
|
- SpeedHackDetector on Android improvements:
|
||
|
* now detects root level speed hack on Android 8.0 and newer (no root required)
|
||
|
* more accurate algorythm removing chance of false positives
|
||
|
* resources usage significantly improved
|
||
|
- fixed possible ObscuredCheatingDetector false positive on SetEncryptred() (thx Matt)
|
||
|
- fixed TimeCheatingDetector compilation for the UWP IL2CPP platform
|
||
|
|
||
|
1.6.2
|
||
|
- fixed 1.6.1 critical compilation error for Android platform (sorry!)
|
||
|
- fixed missing ObscuredVector2, ObscuredVector3 and ObscuredQuaternion migration
|
||
|
- fixed WallHackDetector false positive when Linear color space is used (thx Fiete)
|
||
|
- fixed wrong plugin path at Unity 2018 packages (thx Fiete)
|
||
|
- fixed compilation error when enabling WALLHACK_DEBUG flag (thx Fiete)
|
||
|
- fixed test scene null reference errors in some cases when cheats are detected
|
||
|
- fixed exception when removing entry at the user-defined Whitelist window (thx Matt)
|
||
|
- other minor fixes
|
||
|
- minor refactorings
|
||
|
|
||
|
1.6.1
|
||
|
- SpeedHackDetector now able to detect root-level speed hack on Android (beta)
|
||
|
- organized usings in all code to prevent ambiguity with third-party classes
|
||
|
- TimeCheatingDetector:
|
||
|
* ForceCheckEnumerator method execution slightly changed to improve stability
|
||
|
* added force check examples to the ActTesterGui
|
||
|
- removed some legacy code
|
||
|
|
||
|
1.6.0
|
||
|
- TimeCheatingDetector got some more love:
|
||
|
* enabled for Windows Universal Platform with IL2CPP
|
||
|
* stability improvements (thx Nilooo & off3nd)
|
||
|
* Error and CheckPassed events exposed in public API now
|
||
|
* new ErrorKind enum for error events
|
||
|
* added new callback for successful check passes
|
||
|
* interval 0 is now supported for the manual ForceCheck() execution only
|
||
|
* added ForceCheckEnumerator() for yielding from coroutine
|
||
|
* added awaitable ForceCheckTask() for async methods (.NET 4.6+, no WebGL)
|
||
|
* added LastResult and LastError properties
|
||
|
- all Detectors:
|
||
|
* added new AddToSceneOrGetExisting() API (execute from Start phase or later)
|
||
|
* exposed CheatDetected event for subscription
|
||
|
* now you may have multiple listeners for the detection event
|
||
|
- added IComparable implementations to all native obscured types
|
||
|
* now native obscured types are sortable and LINQ-friendly
|
||
|
- exposed double epsilon at the ObscuredCheatingDetector
|
||
|
- added Paste functionality to the prefs editor
|
||
|
- get rid of internals usage at editor scripts (allows asmdef usage)
|
||
|
- improved ObscuredDouble/Float security, migration required (thx off3nd)
|
||
|
- added ObscuredDouble/Float migration from 1.5.2.0 - 1.5.8.0 to 1.6.0+ :
|
||
|
* auto migration at runtime with ACTK_OBSCURED_AUTO_MIGRATION flag
|
||
|
* manual migration at all prefabs and opened scenes via menu commands
|
||
|
* runtime API to migrate values got with GetEncrypted()
|
||
|
* removed legacy pre-1.5.2.0 support for Obscured types migration
|
||
|
- now detector object is automatically selected in scene after creation
|
||
|
- BehaviorDesigner integration package updated:
|
||
|
* added TimeCheatingDetected conditional
|
||
|
* fixed compatibility issues
|
||
|
- PlayMaker integration package updated:
|
||
|
* added TimeCheatingDetected action
|
||
|
* fixed compatibility issues
|
||
|
- updated InjectionDetector whitelist to match Unity 2018.2.0b3
|
||
|
- switched to X.X.X version tracking format
|
||
|
- fixed compiler errors on UWP platform (thx Wajdi)
|
||
|
- fixed possible incorrect readout of string pref at PrefsEditor
|
||
|
- fixed incorrect behavior when copying unobscured string pref
|
||
|
- fixed incorrect behavior of InjectionDetector in editor in debug mode
|
||
|
- fixed missing Reflection.Obfuscation attributes at TimeCheatingDetector
|
||
|
- fixed compilation flags set/get code to avoid obsolete platforms
|
||
|
- fixed duplicate flags setting for some platforms (cleanup needed)
|
||
|
- fixes and additions in API docs
|
||
|
- minor refactor
|
||
|
- other minor fixes
|
||
|
|
||
|
1.5.8.0
|
||
|
- TimeCheatingDetector got some love:
|
||
|
* added new ForceCheck method for manual execution
|
||
|
* added new IsCheckingForCheat property
|
||
|
* first check on Start now removed
|
||
|
* fixed callbacks could run not on the main thread
|
||
|
* improved overall stability of the TimeCheatingDetector (thx Nilo)
|
||
|
* reduced min range for the TimeCheatingDetector interval to 0.1 min
|
||
|
- updated default whitelist of InjectionDetector up to Unity 2018 beta
|
||
|
|
||
|
1.5.7.0
|
||
|
- added obscured versions of Vector2Int and Vector3Int from Unity 2017.2+
|
||
|
- base Unity version increased to 5.1.0f3
|
||
|
- InjectionDetector whitelist updated up to Unity 2017.3b6
|
||
|
- added ObscuredDecimalDrawer (thx mcmorry)
|
||
|
- added IsRunning read-only property to all detectors
|
||
|
- added ObscuredByte.EncryptDecrypt(byte[] value) API variants
|
||
|
- added proper help urls for all detectors
|
||
|
- added error callback to the TimeCheatingDetector
|
||
|
- reduced GC allocations count at WallHackDetector for Unity 5.3+
|
||
|
- removed urls-related code from the examples for better compatibility
|
||
|
- fixed non-blocking error while switching the condition compilation symbols
|
||
|
- minor refactorings
|
||
|
- minor improvements
|
||
|
|
||
|
1.5.6.1
|
||
|
- TimeCheatingDetector now uses async methods to reduce main thread locks
|
||
|
- disabled TimeCheatingDetector for Windows Universal Platform
|
||
|
- fixed initialization of Obscured types with SetEncrypted call (thx Keith)
|
||
|
- added version output at the Settings window
|
||
|
- added tooltips to the compilation symbols at the Settings window
|
||
|
- updated InjectionDetector whitelist to match Unity 2017.2.0b4
|
||
|
- minor improvements
|
||
|
- minor fixes
|
||
|
|
||
|
1.5.6.0
|
||
|
- brand new TimeCheatingDetector (needs Internet connection)
|
||
|
- another kind of SpeedHack detection added (thx lol)
|
||
|
- third-party integration packages paths are match ACTk path now
|
||
|
- added switches for all important conditional compilation symbols
|
||
|
to the Settings window
|
||
|
- improved Unity 2017 compatibility
|
||
|
|
||
|
1.5.5.0
|
||
|
- menu items migrated to the "Tools > Code Stage > Anti-Cheat Toolkit"
|
||
|
- added new utility script to migrate ObscuredDouble and ObscuredFloat
|
||
|
instances on prefabs when updating from 1.5.1.0 and previous to the
|
||
|
1.5.2.0 +; you can run it via menu Tools > Code Stage > ACTk > Migrate...
|
||
|
- improved compatibility with Unity 5.5+
|
||
|
- fixed ObscuredCheatingDetector false positives (huge thx Fiete)
|
||
|
- fixed vulnerability of the obscured types
|
||
|
- fixed ObscuredShort inspector output in Unity 5.0+
|
||
|
- fixed false cheating detections for obscured types which are able to
|
||
|
show up in the inspector in some cases (thx mrm83)
|
||
|
|
||
|
1.5.4.0
|
||
|
- added (x,y) constructor and same Encrypt API to the ObscuredVector2
|
||
|
- added (x,y,z) constructor and same Encrypt API to the ObscuredVector3
|
||
|
- added (x,y,z,w) constructor and same Encrypt API to the ObscuredQuaternion
|
||
|
- added new GetDecrypted API to all obscured memory types
|
||
|
- added ObscuredShort inspector output for Unity 5.0+
|
||
|
- fixed incorrect InjectionDetector execution with argument in callback
|
||
|
|
||
|
1.5.3.0
|
||
|
- plugin moved to Plugins folder, please remove previous ACTk version!
|
||
|
- added ObscuredString.Length property for better compatibility
|
||
|
- added ULong support to the ObscuredPrefs
|
||
|
- added Decimal support to the ObscuredPrefs
|
||
|
- added ObscuredUInt inspector output for Unity 5.0+
|
||
|
- added ObscuredULong inspector output for Unity 5.0+
|
||
|
|
||
|
1.5.2.3
|
||
|
- improved Unity 5.6 compatibility
|
||
|
- added workaround for a Unity bug related to ObscuredDouble on prefabs
|
||
|
|
||
|
1.5.2.2
|
||
|
- updated InjectionDetector whitelist up to the Unity 5.5
|
||
|
- fixed possible data corruption leading to false positives in Obscured types
|
||
|
- updated third-party integration packages to the new APIs
|
||
|
- improved compatibility with Unity 5.5
|
||
|
- reduced chance of the wrong encrypted pref detection at the prefs editor
|
||
|
|
||
|
1.5.2.1
|
||
|
- added back classic parameterless callback support to the InjectionDetector
|
||
|
|
||
|
1.5.2.0
|
||
|
- InjectionDetector callbacks now should accept string with detection cause
|
||
|
- improved Window > CodeStage > Anti-Cheat Toolkit menu appearance
|
||
|
- added new Prefs Editor window mode: as an utility window (via new menu item)
|
||
|
- renamed DEBUG conditional symbols to the ACTK_DEBUG to avoid collisions
|
||
|
- added few more standard prefs to the Prefs Editor ignores
|
||
|
- ObscuredFloat GC allocations on initialization removed (thx pachash)
|
||
|
- ObscuredDecimal GC allocations on initialization removed (thx pachash)
|
||
|
- added proper reaction in case obscured data can't be decrypted in Prefs Editor
|
||
|
- fixed "E" button width when adding new pref
|
||
|
- fixed wrong prefs readout in rare cases in Prefs Editor (thx mcmorry)
|
||
|
- fixed "Cutting off characters" error by checking string length (thx mcmorry)
|
||
|
- fixed errors if working from the Plugins folder in Unity 5.3+ (thx demigiant)
|
||
|
- fixed pref deletion wasn't saved on Mac
|
||
|
|
||
|
1.5.1.0
|
||
|
- added ObscuredPrefs Editor!
|
||
|
* edit both PlayerPrefs and Obscured prefs in Unity Editor
|
||
|
* encrypt regular PlayerPrefs with configurable encryption key
|
||
|
* decrypt ObscuredPrefs to the regular PlayerPrefs
|
||
|
* search in prefs names
|
||
|
* sort prefs by name, type, or encrypted state
|
||
|
* smart prefs reading progress bar
|
||
|
* shows 50 prefs per page allowing to work with huge collections
|
||
|
* overwrite notice to prevent data loss
|
||
|
* coloration of obscured prefs for easier navigation
|
||
|
* copy prefs to clipboard
|
||
|
* copy raw obscured prefs to clipboard
|
||
|
* works on Win, Mac, Linux
|
||
|
- ObscuredFloat/Double now may be assigned to ObscuredInt
|
||
|
- changed the randomize crypto key logic for all obscured types
|
||
|
- added support for the Unity 5.4 SceneManager.sceneLoaded delegate
|
||
|
- more editor actions are undoable now
|
||
|
- minor ObscuredPrefs API changes
|
||
|
|
||
|
1.5.0.6
|
||
|
- SetRawValue and GetRawValue APIs added to the ObscuredPrefs
|
||
|
- fixed possible issues for the Unity 4.7
|
||
|
|
||
|
1.5.0.5
|
||
|
- added warning when new detector self-destroying because of another instance
|
||
|
- added new item to the readme's troubleshooting section
|
||
|
- added explicit operator for the ObscuredFloat > ObscuredDecimal conversion
|
||
|
- fixed InjectionDetecor may not start in Editor in debug mode properly in some cases
|
||
|
|
||
|
1.5.0.4
|
||
|
- WallHackDetector:
|
||
|
* slightly decreased amount of the generated garbage
|
||
|
|
||
|
1.5.0.3
|
||
|
- WallHackDetector:
|
||
|
* fixed false positive when used in scenes with fog (thx Andrey Pakhomov!)
|
||
|
* minor resources usage optimizations
|
||
|
|
||
|
1.5.0.2
|
||
|
- WallHackDetector:
|
||
|
* added extra editor check for the proper Physics Layers settings
|
||
|
* additional debug output
|
||
|
- minor refactorings
|
||
|
|
||
|
1.5.0.1
|
||
|
- ObscuredLong can now be exposed to the inspector
|
||
|
- fixed wrong inspector height of the ObscuredVectors in not wide mode
|
||
|
|
||
|
1.5.0.0
|
||
|
- Project updated to the Unity 4.6
|
||
|
- TestScene changed to better represent ACTk features
|
||
|
- Changes for all detectors:
|
||
|
* new Detection Event exposed to the inspector
|
||
|
* new Auto Start option (see readme for details)
|
||
|
* improvements in placement algorithm
|
||
|
* fixed incorrect behavior in rare cases after disabling and re-enabling
|
||
|
* fixed incorrect behavior on scenes switch in some cases
|
||
|
* inspector appearance improvements and fixes
|
||
|
- WallHackDetector changes:
|
||
|
* new "Raycast" option to detect shooting through the walls
|
||
|
* new "Wireframe" option to detect looking through the walls
|
||
|
* new option maxFalsePositives allows to set allowed detections in a row
|
||
|
* now you can separately control Rigidbody and Character Controller modules
|
||
|
* now you can enable and disable all detection modules at any time
|
||
|
* fixes and improvements
|
||
|
* ACTK_WALLHACK_DEBUG conditional introduced, see readme for details
|
||
|
- InjectionDetector changes:
|
||
|
* default whitelist updated (up to Unity 5.3 Beta 2)
|
||
|
* workaround for the IL2CPP bug (Issue ID 711312)
|
||
|
* debug conditionals renamed and their defines removed, use Player Settings
|
||
|
* iOS support removed since this target doesn't allow to inject Assemblies
|
||
|
- Obscured vars changes:
|
||
|
* RandomizeCryptoKey() API introduced to hide from 'unknown value' search
|
||
|
* vars with same value are treated as equal now even if crypto keys differ
|
||
|
* fixed bold texts in the inspectors of the prefabs with obscured vars
|
||
|
- ObscuredPrefs changes:
|
||
|
* API change: DeviceID -> DeviceId
|
||
|
* fixed incorrect Color storage in the unobscuredMode
|
||
|
* fixed DeleteKey removed PlayerPrefs value with enabled preservePlayerPrefs
|
||
|
- ObscuredVector2 now can be exposed to the inspector
|
||
|
- ObscuredVector3 now can be exposed to the inspector
|
||
|
- ObscuredDouble now can be exposed to the inspector in Unity 5 and higher
|
||
|
- ObscuredInt and ObscuredUInt are now able to explicitly cast to each other
|
||
|
- ObscuredVector2 now able to implicitly cast to the Vector3
|
||
|
- ACTK_EXCLUDE_OBFUSCATION conditional introduced, see readme for details
|
||
|
- PREVENT_READ_PHONE_STATE is ACTK_PREVENT_READ_PHONE_STATE now
|
||
|
- BehaviorDesigner integration package changes:
|
||
|
* RandomizeCryptoKey API for all SharedObscured types
|
||
|
* WallHackDetector added to the example scene
|
||
|
* fixed absent crypto key in the ObscuredPrefs example scene
|
||
|
* fixes in comment docs
|
||
|
* other minor fixes
|
||
|
- PlayMaker integration package changes:
|
||
|
* added keepAlive and autoDispose options to detector actions
|
||
|
* fixes in comment docs
|
||
|
- all detectors are now more correctly placed in the Component menu
|
||
|
- you'll not see example scripts in the Component menu anymore
|
||
|
- fixed possible cs0241 error in xxHash.cs file
|
||
|
- fixed API compatibility issues
|
||
|
- removed obsolete editor code
|
||
|
- all editor code has proper Namespaces now
|
||
|
- all examples code has proper Namespaces now
|
||
|
- numerous optimizations and refactorings
|
||
|
- additions and fixes in readme
|
||
|
- additions and fixes in docs
|
||
|
|
||
|
1.4.1.1
|
||
|
- WallHackDetector: additional auto-correction for rigidbody module
|
||
|
- WallHackDetector: service sandbox now survive scene load if detector has Keep Alive enabled
|
||
|
- WallHackDetector: resources usage improvements
|
||
|
- WallHackDetector: initialization performance improvements
|
||
|
- all ACTk windows are moved to Window > Code Stage > Anti-Cheat Toolkit menu item
|
||
|
- fixes in readme
|
||
|
|
||
|
1.4.1
|
||
|
- added new WallHackDetector! Detects 2 native hacks: Rigidbody and CharacterController patches
|
||
|
- added new InjectionDetected and WallHackDetected Actions for the PlayMaker
|
||
|
- added new WallHackDetected task to the BehaviorDesigner
|
||
|
- InjectionDetector now detects case when there is 0 assemblies in current domain
|
||
|
- fixes in filenames: ObscuredUint.cs to ObscuredUInt.cs, ObscuredUshort.cs to ObscuredUShort.cs
|
||
|
- minor fixes and refactorings
|
||
|
- fixes in readme
|
||
|
|
||
|
1.4.0.2
|
||
|
- fixed ObscuredString editing in multiple objects (thanks VitaMin00)
|
||
|
|
||
|
1.4.0.1
|
||
|
- fixed ObscuredPrefs.SetColor for WebPlayer
|
||
|
|
||
|
1.4.0
|
||
|
- massive ObscuredPrefs update:
|
||
|
* uint support added
|
||
|
* Rect support added
|
||
|
* overall performance and memory usage improvements
|
||
|
* values are locked to keys now to prevent value swapping
|
||
|
* all service data in final values is hidden now
|
||
|
* hashing algorithm replaced with more secure keeping the same performance
|
||
|
* SetColor/GetColor optimizations
|
||
|
* Float accuracy increased
|
||
|
* Double accuracy increased
|
||
|
* ByteArray support fixed (no more extra length after load)
|
||
|
* PREVENT_READ_PHONE_STATE define introduced to let you remove Android permission if you don't use lockToDevice
|
||
|
* legacy ObscuredPlayerPrefs support removed (use previous ACTk version to read them)
|
||
|
* ForceDeviceID() method replaced with DeviceID property (now you can retrieve current device ID as well)
|
||
|
* format improvements allowing to easily change it with backwards compatibility
|
||
|
* refactorings
|
||
|
- ObscuredString.EncryptDecrypt() optimization (affects all Get/Set methods in ObscuredPrefs)
|
||
|
- disabling and enabling started detectors now should pause and resume them
|
||
|
- Anti-Cheat Toolkit Detectors object will self-destroy now ignoring attached scripts and nested objects
|
||
|
- fixed disabled detectors behavior on StartDetection()
|
||
|
- fixed issues with casting obscured vars from objects in the Behavior Designer package
|
||
|
- fixes in readme
|
||
|
- fixes in docs
|
||
|
- other minor fixes
|
||
|
|
||
|
1.3.5
|
||
|
- Anti-Cheat Toolkit now fully supports Opsive Behavior Designer, see readme for details (thanks Justin Mosiman!)
|
||
|
- added new ObscuredPrefsSetNewCryptoKey Action for PlayMaker
|
||
|
- added DetectorsExample scene into the PlayMaker package with SpeedHackDetector usage example
|
||
|
- added ObscuredPrefsExample scene into the PlayMaker package with simple ObscuredPrefs usage example
|
||
|
- fixed obscured vars initialization via SetEncrypted()
|
||
|
- serialization support added to: ObscuredQuaternion, ObscuredVector3 & ObscuredVector2
|
||
|
- redundant alteration callback logic removed from ObscuredPrefs
|
||
|
- removed deprecated code from ObscuredQuaternion, ObscuredVector3 & ObscuredVector2
|
||
|
- plugin abbreviation changed from ACT to ACTk
|
||
|
- minor fixes
|
||
|
|
||
|
1.3.4
|
||
|
- added ObscuredPrefs actions for PlayMaker (thanks kreischweide)
|
||
|
- added SpeedHackDetected action for PlayMaker (thanks kreischweide)
|
||
|
- added Vector2, Quaternion, Color support to the ObscuredPrefs
|
||
|
- detectors keepAlive behavior fixed and improved
|
||
|
- new detectors prefab
|
||
|
- increased detectors placement flexibility: you may put all detectors at one GameObject now
|
||
|
- all detectors will be added to the single Game Object when instantiating from code
|
||
|
- detectors Instance property reworked (can be null now)
|
||
|
- fixed ObscuredCheatingDetector values were not tunable in inspector
|
||
|
- fixed iPhone.vendorIdentifier error on Unity 5 iOS target platform (thanks Mike Messer)
|
||
|
- obscured types now implement IFormattable for better compatibility
|
||
|
- added more tool-tips for detectors
|
||
|
- added troubleshooting section to the readme
|
||
|
- few fixes and additions in readme & API docs
|
||
|
- minor refactoring in ObscuredPrefs
|
||
|
|
||
|
1.3.3
|
||
|
- Flash Player support deprecated, lot of ugly code removed
|
||
|
- Unity 5 fully supported
|
||
|
- plugin project updated to the Unity 4.5 (still can work in earlier Unity versions with few restrictions)
|
||
|
- obscured fields are now bold in inspector if values changed in prefab instance (mimics regular behavior)
|
||
|
- minor refactorings
|
||
|
- some fixes and additions in the readme
|
||
|
|
||
|
1.3.2.1
|
||
|
- optimized inspector exposition for supported obscured types
|
||
|
- fixed array elements names while exposing ObscuredString[] in inspector
|
||
|
- fixed ObscuredString truncation while being shown at inspector in some cases (thanks Stefan Laubenberger)
|
||
|
|
||
|
1.3.2
|
||
|
- ObscuredVector2, ObscuredVector3 and ObscuredQuaternion accuracy increased (consistent on all platforms now)
|
||
|
- added epsilons for ObscuredFloat, Obscured vectors and ObscuredQuaternion in ObscuredCheatDetector
|
||
|
- fixed cheating detection false positives for Obscured vectors and ObscuredQuaternion (thanks Capital j Media)
|
||
|
- fixed ObscuredInt returned 0 in case value matched crypto key regression
|
||
|
- minor optimizations and refactorings
|
||
|
|
||
|
1.3.1
|
||
|
- ObscuredBool inspector support added (requires Unity 4.5)
|
||
|
- new public API for all basic Obscured types: ApplyNewCryptoKey(), see docs for more details
|
||
|
- Significant changes in SpeedHackDetector:
|
||
|
* Cool Down system introduced. Read more in pdf and "coolDown" field API docs (thanks Cliff Cawley)
|
||
|
* detection checks period is not affected by speed hack anymore (now it uses system date timer)
|
||
|
* fixed speed hack wasn't detected in some cases
|
||
|
* fixed false positives in some cases
|
||
|
* fixed extra calculations on first detection check in the SpeedHackDetector
|
||
|
* fixed incorrect datetime change detection
|
||
|
* fixed continuous detects after first detect even if speed hack was removed (thanks Cliff Cawley)
|
||
|
* speed hack detection log message now appears in debug builds only
|
||
|
* application pause handled correctly now
|
||
|
- all basic Obscured types are serializable now (only binary serialization supported)
|
||
|
- ObscuredBool cheating detection is now supported in the Flash Player.
|
||
|
- fixed ObscuredInt default value issues
|
||
|
- fixed null reference error while using exposed ObscuredFloat fields to the inspector without default value
|
||
|
- fixed incorrectly decrypted ObscuredString values in inspector when used without default values
|
||
|
- fixed cheating detection false positives for Obscured variables while being exposed to the editor
|
||
|
- fixed possible cheating detection false positives for ObscuredVector2, ObscuredVector3 and ObscuredQuaternion
|
||
|
- fixed GetEncrypted() after SetNewCryptoKey() in ObscuredString didn't counted new crypto key
|
||
|
- removed redundant [InitializeOnLoad] attribute from ActPostprocessor
|
||
|
- minor refactorings in all Obscured types
|
||
|
- fixes and additions in the docs
|
||
|
|
||
|
1.3.0
|
||
|
- ObscuredString fields are now editable from inspector
|
||
|
- ObscuredInt and ObscuredFloat fields are now editable from inspector (Unity 4.5 or higher required)
|
||
|
* in case int->ObscuredInt \ float->ObscuredFloat replacement, old values set in inspector will be reset to defaults!
|
||
|
* experimental inspector support for the obscured structs instances, report any bugs please
|
||
|
- ObscuredCheatingDetector implemented
|
||
|
* central detector for all Obscured types (except ObscuredPrefs) cheating detection
|
||
|
* replacement for legacy onCheatingDetected Action callback
|
||
|
- Injection Detector user-defined Whitelist Editor implemented
|
||
|
* allows gather assembly data both from files and manually (for assemblies made in realtime)
|
||
|
- ObscuredPrefs.ForceDeviceID(string) method introduced
|
||
|
* useful if you have server-side authorization, especially on iOS (we have no reliable way to get device ID there)
|
||
|
- Injection Detector data file is restored now if it was accidentally removed
|
||
|
- public API StopMonitoring was renamed to the StopDetection for all detectors
|
||
|
- most of Vector3 operators are now supported by ObscuredVector3
|
||
|
- fixed possible false positives in Speed Hack Detector caused by system time / date change
|
||
|
- fixed exception in ActPostprocessor while trying to write into the read-only file (thanks Sebastiano Mandalà)
|
||
|
- fixed possible false positives for ObscuredVector3, ObscuredVector2, ObscuredQuaternion cheating detection.
|
||
|
- added ability to force Injection Detector data collection for unsupported platforms for debugging
|
||
|
- Injection Detector will be re-enabled after switching from unsupported target if it was enabled previously
|
||
|
- significant refactorings in the detectors code
|
||
|
- service data cleanup code simplified
|
||
|
- improved removing of obsolete editor prefs used by ACT
|
||
|
- refactorings in the Editor scripts and file structure (remove prev version before updating to avoid collisions!)
|
||
|
- fixed possible name conflicts: MenuItem, Action
|
||
|
- minor fixes and optimizations
|
||
|
- minor fixes in documentation
|
||
|
|
||
|
1.2.9
|
||
|
- cheating detection added to the ObscuredQuaternion, ObscuredVector3, ObscuredVector2, ObscuredString
|
||
|
- fixed rare critical bug in ++ and -- operators of some obscured types leading to false detections (huge thanks redux!)
|
||
|
- fixed ObscuredPrefs.HasKey() and ObscuredPrefs.DeleteKey() were not count regular PlayerPrefs keys (thanks Sashko)
|
||
|
- fixed possible access issue while reading from AllowedAssemblies.bytes file in editor (thanks Sabastiano)
|
||
|
- fixed possible fndid file corruption leading to the false positives in Injection Detector (thanks Sabastiano)
|
||
|
- access to the x, y, z fields was added to the ObscuredVector3 (access by index was implemented as well)
|
||
|
- access to the x and y fields was added to the ObscuredVector2 (access by index was implemented as well)
|
||
|
- DetectorsUsageExample script was moved from Anti-Cheat Toolkit Detectors prefab to the separate GameObject
|
||
|
- minor fixes in the API docs
|
||
|
|
||
|
1.2.8
|
||
|
- New obscured types with cheating detection implemented
|
||
|
* ObscuredSByte
|
||
|
* ObscuredChar
|
||
|
* ObscuredDecimal (Flash Player is not supported, use ObscuredFloat instead)
|
||
|
* ObscuredULong
|
||
|
- cheating detection added to these existing obscured types
|
||
|
* ObscuredUInt
|
||
|
* ObscuredLong
|
||
|
* ObscuredDouble
|
||
|
* ObscuredBool (except Flash Player: bug in exported pool manager code doesn't allow to use nullables)
|
||
|
- minor public API changes for few obscured types
|
||
|
- fixed SpeedHackDetector error while playing test scene in editor with Flash Player target
|
||
|
- fixed possible false positives of SpeedHackDetector in Flash Player
|
||
|
- fixed Flash Player implementation of the ObscuredUShort.GetHashCode()
|
||
|
- another minor improvements in flash implementation of SpeedHackDetector
|
||
|
- other minor fixes and optimizations
|
||
|
|
||
|
1.2.7
|
||
|
- InjectionDetector introduced
|
||
|
* allows to detect if someone injects any managed dll into your app
|
||
|
- ObscuredShort and ObscuredUShort with cheating detection implemented
|
||
|
- IntegrityChecker removed (see my considerations here: http://forum.unity3d.com/threads/196578-Anti-Cheat-Toolkit-RELEASED/page7?p=1577548&viewfull=1#post1577548)
|
||
|
- significant changes and fixes in API documentation (should be prettier and more detailed now)
|
||
|
- DeviceLockLevel enum moved into the ObscuredPrefs class, thus now it should be reached as ObscuredPrefs.DeviceLockLevel
|
||
|
- SpeedHackDetector's StartMonitoring methods were renamed to StartDetection ones
|
||
|
- minor improvements in flash implementation of SpeedHackDetector
|
||
|
- ObscuredUint was renamed to ObscuredUInt
|
||
|
- minor files structure changes, please, make clean update (completely remove previous version before updating)
|
||
|
- minor fixes and optimizations
|
||
|
|
||
|
1.2.6u2
|
||
|
- fixed possible false positives of cheating detection in Obscured types
|
||
|
- minor API docs fixes
|
||
|
|
||
|
1.2.6u1
|
||
|
- extra traces in ActionScript code were commented out
|
||
|
|
||
|
1.2.6
|
||
|
- flash build support for SpeedHackDetector implemented
|
||
|
- ObscuredVector2 and ObscuredQuaternion implemented
|
||
|
- cheating detection added to the ObscuredByte
|
||
|
- SpeedHackDetector now awaits Action delegate instead of MonoBehaviour and method name. Please, read API docs for details
|
||
|
- ObscuredPrefs.readForeignSaves field introduced
|
||
|
* allows to read saves locked to other device and onPossibleForeignSavesDetected action still will be fired
|
||
|
- deprecated PlayerPrefsObscured was removed completely, use ObscuredPrefs instead
|
||
|
- ObscuredFloat slightly optimized
|
||
|
- ObscuredDouble slightly optimized
|
||
|
- all default arguments were replaced by methods overloading for additional compatibility with UnityScript (again)
|
||
|
- minor fixes in API docs
|
||
|
|
||
|
1.2.5u1
|
||
|
- SpeedHackDetector.Instance is now public and may be used to set interval, autoDispose, etc. from code.
|
||
|
|
||
|
1.2.5
|
||
|
- SpeedHackDetector introduced! Allows you to react on Cheat Engine's speed hack
|
||
|
* some other speed hack tools may be detected too
|
||
|
* use GameObject->Create Other->Code Stage->Speed Hack Detector menu item to add detector in scene
|
||
|
* use any public SpeedHackDetector API to automatically add it to scene
|
||
|
- added cheating detection to the ObscuredInt and ObscuredFloat (use Obscured*.onCheatingDetected)
|
||
|
- migration from PlayerPrefs to ObscuredPrefs became super easy: just replace PlayerPrefs with ObscuredPrefs
|
||
|
and read \ write any data as usual, no more manual PlayerPrefs to ObscuredPrefs conversion!
|
||
|
* all data saved with regular PlayerPrefs will be automatically encrypted with ObscuredPrefs on read and
|
||
|
original PlayerPrefs data will be deleted
|
||
|
* Set ObscuredPrefs.preservePlayerPrefs to true to prevent original PlayerPrefs data deletion
|
||
|
- migration from legacy PlayerPrefsObscured to ObscuredPrefs became smoother: data, written with PlayerPrefsObscured
|
||
|
now converts to the new format while readed with ObscuredPrefs (previously - old legacy keys were left untouched
|
||
|
after migration).
|
||
|
- ObscuredPrefs.unobscuredMode implemented
|
||
|
* allows to write all data unobscured, for testing purposes
|
||
|
* thus it works in Editor only
|
||
|
* breaks PlayerPrefs to ObscuredPrefs migration (reminder: in Editor)
|
||
|
- ObscuredVector3 and ObscuredBool implemented!
|
||
|
- data saved in TestScene now cleans up on application quit
|
||
|
- ObscuredPrefs overfill in Web Player no longer breaks entire game process (and logs error in such case)
|
||
|
- added selftests and performance tests code to the example scene (disabled by default) for debugging and
|
||
|
making wise choices ;)
|
||
|
- ObscuredString default crypto key was changed. Set new key to 4444 before using SetEncrypted() to set data got with
|
||
|
GetEncrypted in previous versions.
|
||
|
- fixed compilation error of WP8 build
|
||
|
- fixed initialization of some Obscured types
|
||
|
- fixed ObscuredString equality operator implementation
|
||
|
- minor fixes
|
||
|
- minor docs fixes
|
||
|
|
||
|
1.2.0
|
||
|
- project updated to Unity 4.2.2
|
||
|
- new ObscuredPrefs introduced instead of old PlayerPrefsObscured
|
||
|
* PlayerPrefsObscured is no more supported, please, make sure to save all your new data using ObscuredPrefs
|
||
|
* all data saved with ObscuredPrefs will not be accessible using deprecated PlayerPrefsObscured!
|
||
|
* all data saved with deprecated PlayerPrefsObscured is accessible with ObscuredPrefs automatically as fallback
|
||
|
(will be removed in future)
|
||
|
* new flexible lock data to device feature introduced, read more in api docs and readme
|
||
|
* now saved data may be recovered in emergency cases (like device ID change after updating from iOS 6 to iOS 7)
|
||
|
* attempt to prevent device id change after iOS6 to iOS7 update (works in some cases only)
|
||
|
* key is now encrypted with common encryptionKey (previously default key for ObscuredString was used)
|
||
|
* accessing data saved with regular PlayerPrefs now generates warning with additional information
|
||
|
* saves alteration can be detected now, use ObscuredPrefs.onAlterationDetected (see ObscuredPrefsTest)
|
||
|
* foreign saves usage detection added, use ObscuredPrefs.onPossibleForeignSavesDetected (see ObscuredPrefsTest)
|
||
|
* added example of storing encryption key outside of the IL bytecode (increasing its security level)
|
||
|
(see ObscuredPrefsTest)
|
||
|
* added support of these types: long, bool, byte[], Vector3
|
||
|
- ObscuredByte and ObscuredLong added
|
||
|
- equality operations (==, !=, .Equals()) are now supported in all simple Obscured types
|
||
|
- all default arguments were replaced by methods overloading for additional compatibility with UnityScript
|
||
|
- other minor fixes
|
||
|
- few fixes in docs
|
||
|
|
||
|
1.1.0u1
|
||
|
- fixed ObscuredDouble not worked correctly
|
||
|
- fixed link to ObscuredDouble missed in object Tester in the test scene
|
||
|
|
||
|
1.1.0
|
||
|
- no more dlls, plugin now comes with full source code included!
|
||
|
- Yey, Flash Player exporter support is back! :D IntegrityChecker, ObscuredDouble and
|
||
|
PlayerPrefsObscured.lockToDevice are not supported there though.
|
||
|
- added increment and decrement operators support to the numeric obscured types (thanks Yuri Saveliev)
|
||
|
- added ObscuredDouble! Not supported in FlashPlayer (use ObscuredFloat instead)! (thanks Andriy Pidvirnyy)
|
||
|
- added correct analogues of toString() methods to some of the Obscured types
|
||
|
- added PlayerPrefsObscured.ForceLockToDeviceInit() method to call device ID obtanation (noticably slow at first
|
||
|
call) process at desirable time (at splash screen time for example)
|
||
|
- added initial support for Windows Store (Metro) Apps (needs testing)
|
||
|
- added initial support for Windows Phone 8 (needs testing, thanks friuns3)
|
||
|
|
||
|
- PlayerPrefsObscured.lockToDevice field is now property, so please use PlayerPrefsObscured.LockToDevice instead.
|
||
|
Sorry for inconvenience.
|
||
|
- removed unsafe code in ObscuredFloat
|
||
|
- fixed possible placement in memory not obscured float while using ObscuredFloat, oops :P
|
||
|
- fixed possible data loss when using values equal to the crypto keys
|
||
|
- attempt to fix "get_deviceUniqueIdentifier can only be called from the main thread" error (thanks ecc83)
|
||
|
- fixed issue with different line endings on different platforms in IntegrityChecker causing it to think
|
||
|
assemblies are not valid
|
||
|
- fixed incorrect line breaks in the xml docs
|
||
|
- assemblies signing now can't be enabled on known unsupported platforms
|
||
|
- assemblies signing will be disabled after switching to the known unsupported platform
|
||
|
- assemblies signing will be disabled if Stripping Level in Player Settings is not set to "Disabled"
|
||
|
- changed PlayerPrefsObscured default encryption key. Use SetNewCryptoKey(e806f69e7aea3ee30fe27a6abfae967f) to
|
||
|
read any data saved in previous ACT version with default key.
|
||
|
- docs were fixed a bit
|
||
|
- removed obsolete methods in PlayerPrefsObscured
|
||
|
- minor fixes
|
||
|
|
||
|
|
||
|
1.0.1.2
|
||
|
- fixed .meta files handling
|
||
|
- moved Anti-Cheat Toolkit/Options menu item to the Window/Anti-Cheat Toolkit/Options
|
||
|
- moved plugin into CodeStage directory (to compact placing of any future plugins I'll release)
|
||
|
- reduced ObscuredInt default key length
|
||
|
- attempt to fix async assemblies reloading issue
|
||
|
|
||
|
|
||
|
1.0.1.1
|
||
|
- Added assemblies signing process duration estimation
|
||
|
- Fixed issues with Anti-Cheat Toolkit .dll import in Unity 4.x
|
||
|
|
||
|
|
||
|
1.0.1.0
|
||
|
- Added Assemblies signing functionality * EXPERIMENTAL *
|
||
|
- Fixed web player detection, now ObscuredFloat can be used in static conditions (thanks Andriy Pidvirnyy)
|
||
|
|
||
|
|
||
|
1.0.0.9
|
||
|
- Fixed data loss in PlayerPrefsObscured (use Get*Deprecated to read data saved with ACT 1.0.0.8)
|
||
|
|
||
|
|
||
|
1.0.0.8
|
||
|
- PlayerPrefsObscured now able to lock saved data to the current device. See PlayerPrefsObscured.lockToDevice
|
||
|
field description in API docs.
|
||
|
- Improved PlayerPrefsObscured stability and obscuration strength (use Get*Deprecated() methods to load data,
|
||
|
saved with ACT 1.0.0.6 or earlier)
|
||
|
- PlayerPrefsObscured now has own encryption key. Use PlayerPrefsObscured.SetNewCryptoKey() to change it from
|
||
|
default value.
|
||
|
- Created home page for ACT: http://blog.codestage.ru/act/
|
||
|
|
||
|
|
||
|
1.0.0.7
|
||
|
- Fixed error in ObscuredString (now it works in WebPlayer without errors).
|
||
|
- Fixed error in ObscuredFloat (now it works in WebPlayer without errors).
|
||
|
- ObscuredFloat is memory wiser now.
|
||
|
- ObscuredFloat.SetNewCryptoKey() accepts int now (was long).
|
||
|
- Added changelog :)
|