+ All Categories
Home > Documents > AxProtector Changelog Revision: 2017-Sep-14 · AxProtector Changelog Revision: 2017-Sep-14 Page:...

AxProtector Changelog Revision: 2017-Sep-14 · AxProtector Changelog Revision: 2017-Sep-14 Page:...

Date post: 12-Apr-2018
Category:
Upload: phungdan
View: 654 times
Download: 16 times
Share this document with a friend
74
SYSTEMS AxProtector Changelog Revision: 2017-Sep-14 Page: 1 of 74 AxProtector 10.0c Release Date 2017-Sep-14 Bugfixes: FB49792: AxProtector GUI: Using project type for WibuKey presented a not WibuKey-valid option when defining network use. AxProtector 10.0b Release Date 2017-July-04 Bugfixes: FB49004: AxProtector Java: On processing of compressed *.jar files eventually errors occurred. FB49041: AxProtector .NET: The parameter 'LicensingAttribute' of classes or methods no longer overwrites the configuration of the namespace. FB49853: AxProtector macOS: Encrypted macOS Binaries could not be initialized for applications executed in the context of system integrity protection. AxProtector 10.0a Release Date 2017-May-31 Bugfixes FB49371: AxProtector Windows: On executing an encrypted application, eventually errors occurred due to check mechanisms for virtual machines (VM). FB49210: AxProtector Windows: In some cases crashes occurred, if the AxEngine was un-loaded. FB49347: AxProtector Java: On accessing Firm Code 99 the license option has been reset to 'No User Limit'.
Transcript

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 1 of 74

AxProtector 10.0c

Release Date

2017-Sep-14

Bugfixes:

FB49792: AxProtector GUI: Using project type for WibuKey presented a not WibuKey-valid option when defining network use.

AxProtector 10.0b

Release Date

2017-July-04

Bugfixes:

FB49004: AxProtector Java: On processing of compressed *.jar files eventually errors occurred.

FB49041: AxProtector .NET: The parameter 'LicensingAttribute' of classes or methods no longer overwrites the configuration of the namespace.

FB49853: AxProtector macOS: Encrypted macOS Binaries could not be initialized for applications executed in the context of system integrity protection.

AxProtector 10.0a

Release Date

2017-May-31

Bugfixes

FB49371: AxProtector Windows: On executing an encrypted application, eventually errors occurred due to check mechanisms for virtual machines (VM).

FB49210: AxProtector Windows: In some cases crashes occurred, if the AxEngine was un-loaded.

FB49347: AxProtector Java: On accessing Firm Code 99 the license option has been reset to 'No User Limit'.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 2 of 74

AxProtector 10.0

Release Date

2017-Apr-28

Info

Extensive revision of AxProtector GUI graphical user interface for Java projects:

• Transition from generating *.wbc files to *.xml files (FB45457) • Support of IxProtector and License Lists definitions (FB26051) • Integrity check and obfuscation available via IxProtector secondary menu (FB46662) • Default use of AES 256, if supported by driver (FB46227) • Introduction of defining entry points for classes and methods (FB45711).

Next to the user interface, changes for AxProtector Java comprise the following:

• Protection of Wibu Java runtime classes via obfuscation (FB45809) • Additional functionalities for obfuscation in Java (FB45942) • Performance optimization for generated Getter/Setter methods (FB46931) • Improved exception handling for cases, if already encrypted classes locate in the Java

classpath (FB47641).

Features:

FB45521: AxProtector Libraries: Stability improvements of code integrity and anti-debugger checks.

FB45693: AxProtector Libraries: Improved Windows debugger detection.

FB44455: AxProtector Libraries: Improved VmWare + VirtualPC detection on Windows.

FB32665: AxProtector .NET: Support of option '-cav' providing for the selfcheck of a .NET assembly.

FB48141: AxProtector .NET: Environment variables are supported for each option in the XML file.

FB32586: AxProtector Java: Advanced protection against dumping of unprotected code.

FB45253: AxProtector Java: Automatic reference of all Jar archives of the 'lib/' directory within the Jar archive to be encrypted.

FB17521: AxProtector Mac OS: Encrypted binaries can now be signed using Apple CodeSigning.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 3 of 74

FB43654: AxProtector Linux: Now ARM 64-bit (aarch64) binaries are supported.

FB47970: ExProtector: Linux: ExProtector now is able to encrypt Mips32 ELF images.

Bugfixes:

FB48220: AxProtector: Improved detection of virtual machines, a false positive at XEN Hypervisor detection was removed.

FB47108: AxProtector Windows: AxProtector protected applications or DLLs can be successfully verified using Binscope.

FB48938: AxProtector Windows: For network license server using older client versions eventually the protected application did not run.

FB46830: AxProtector .NET: Bugfix in the internal table management. Eventually a non-readable assembyl was created.

FB46615: AxProtector .NET: Runtime error in stactic methods of 'generic value types' was remedied.

FB45580: AxProtector .NET: The option '-car0' (runtime check) was not accepted.

FB46067: AxProtector .NET: An error in synchronizing occurred.

FB45927: AxProtector .NET: The inline UserMessage dialog has been improved since it did not display correctly on all systems.

FB46686: AxProtector Java: Bugfix for the method encryption of JavaFx applications.

FB46693: AxProtector Java: The number of allowed local variables on method encryption has been increased.

FB46723: AxProtector Java: Bugfix for encrypting the methof control flow in connection wirh Java LookupSwitch/TableSwitch/GoTo instructions.

FB47534: AxProtector Java: Bugfix for automatic generation of Getter/Setter methods (duplicated method names).

FB40867: AxProtector Java: The Wupi exception 'LicenseListNotFoundException' was thrown without specifying the missing Licence List.

FB48952: AxProtector Java: On using older XPM libraries eventually errors occurred.

FB46142: AxProtector Mac: For protected macOS binaries using WibuKey on exiting the protected application eventuall crashed.

FB47635: AxProtector Mac: On using the option '-ci' (IxProtector) eventually crashed occurred while initializing.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 4 of 74

FB47017: AxProtector Mac: The handling of macOS ObjectiveC/Swift binaries has been improved.

FB45653: AxProtector Linux: Files which held large '*.bss' sections could not be encrypted.

FB48112: AxProtector GUI: Upgrade error (license option) for old project files (AxProtector GUI without Universal Firm Code extension) was remedied.

AxProtector 9.55b

Release Date

2017-Feb-23

Bugfixes:

FB46219: AxProtector: For some machine configuration states eventually a crash happened due to the anti reversing component.

FB47519: AxProtector Windows: An unprotected, native application was incorrectly detected as protected application.

FB46205: AxProtector Java: AxProtector crashed on using WibuKey without previously installed driver.

AxProtector 9.55a

Release Date

2016-Dec-22

Bugfixes:

FB46127: AxProtector GUI: If CodeMeter was not installed on macOS and Linux, eventually AxProtector-protected applications crashed.

FB45691: AxProtector GUI: In the AxProtector GUI a plugout warning displayed without a causing issue.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 5 of 74

AxProtector 9.55

Release Date

2016-Nov-15

Info

The AxProtector GUI for Windows has been revised. The navigation page “Licence handling” has been merged into the page “Licensing systems”. For the encryption now using license lists allow to use more than a single licensing system license.

Features:

FB42768: AxProtector: For all protectors the new parameter '--isprotected' checks whether an application or library has been already encrypted.

FB44457: AxProtector Windows: Improved break point detection.

FB42926: AxProtector .NET: If the source assemly is write-protected, for the encrypted assembly the write protection is automatically removed.

FB41854: AxProtector Java: Introduction of new security option '-caa2' to encrypt extracted method calls.

FB41855: AxProtector Java: Introduction of an anti-class dump mechanism by obfuscating method calls.

FB44188: AxProtector Java: Security improvements for runtime checks.

FB44459: AxProtector Java: Introduction of the option to additionally obfuscate at encryption (-co…).

FB44461: AxProtector Java: New security measures for classload hooking.

FB43772: AxProtector Java: Performance improvement for encrypting via method comparison.

FB43725: AxProtector Linux: Introduction of an alternative virtualization detection for Linux ('-cag512').

FB45227: AxProtector Mac OS X: Introduction of the compatibility option '-ccu' for protected applications built with Mac OS SDK 10.12 to be executable not only for Version 10.12 but also preceeding versions.

FB44189: AxProtector Mac OS X: Improved de-initialization of the AxEngine for Mac OS X plugins.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 6 of 74

FB44211: AxProtector GUI: The access type to the subsystem (local, network) now can be defined also individually for licenses of the default license list.

FB44212: AxProtector GUI: The option 'Ignore Linger Time' can now be defined for single licenses separately.

FB33868: AxProtector GUI: The specification of a build number for the Mimimum Driver Version is now supported.

Bugfixes:

FB43032: AxProtector Windows: More stable handling of libraries on Windows 10.

FB43075: AxProtector Windows: The validation of licence system input parameter has been improved.

FB43918: AxProtector Windows: Improved memory management of AxEngine.

FB44890: AxProtector Windows: Improved handling of Windows debug binaries and the OOPE functionality (out of place execution).

FB43969: AxProtector .NET: Not known or not allowed return parameter from the UserMessage ini file are interpreted as 'Abort' or 'Cancel'.

FB45184: AxProtector .NET: Crashes of a :NET assembly occurred, if the required build number of the CodeMeter Runtime was too small.

FB42922: AxProtector .NET: The output behavious at encryption of identical methods with the same relative virtual address (RVA) has been adapted.

FB44927: AxProtector .NET: An InvalidProgramException occurred on access to an encrypted method by parallel events in separate threads (race condition).

FB45249: AxProtector .NET: An AccessViolationException occured for 32-bit systems.

FB44116: AxProtector Mac OS X: A re- initialization of the Mac AxEngine resulted in a crash.

FB44769: AxProtector Mac OS X: For specific Mac OS binaries with large BSS data segments the integrity check failed.

FB44065: AxProtector File Encryption: If using 'named pipes' on Windows for file encryption, unexpected behaviour occurred.

FB30006: AxProtector GUI: On creating new .NET projects the default for the automatic method encryption is now set correctly.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 7 of 74

FB36838: AxProtector GUI: On creating new MAC OS X projects no longer the wrong security option parameter default '-cag2' is set.

FB32988: AxProtector GUI: The specified Minimum Driver Version was not always saved.

AxProtector 9.50d

Release Date

2016-Oct-04

Bugfixes:

FB44296: AxProtector Windows: In the case of specific Control Flow Guard Dummy functions, AxProtector did exit and issued an error.

AxProtector 9.50d

Release Date

2016-Oct-04

Bugfixes:

FB44296: AxProtector Windows: In the case of specific Control Flow Guard Dummy functions, AxProtector did exit and issued an error.

AxProtector 9.50c

Release Date

2016-Sep-23

Bugfixes:

FB44303: AxProtector Windows: A new detection of active debugger has been relocated from option 'cag4' to 'cag1'.

FB43904: AxProtector Windows: For protected programs an update of the C++ runtime by Microsoft was wrongly detected as not allowed IDE.

FB44343: AxProtector Mac OS X: Application compiled with Clang in some cases crashed with the error message "types table encoding not supported".

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 8 of 74

AxProtector 9.50b

Release Date

2016-Aug-19

Bugfixes:

FB43796: AxProtector Windows: The handling of binaries with integrated Control Flow Guard has been improved.

AxProtector 9.50a

Release Date

2016-Aug-02

Bugfixes:

FB43506: AxProtector Mac OS X: Not correctly set link dependencies resulted in a not working "AxEngineDyn Mac".

FB43621: AxProtector Windows: Correction of debugger detection due to false positives.

AxProtector 9.50

Release Date

2016-Jul-12

Features:

FB42339: AxProtector Windows: The level of protection against the use of profiler has been increased.

FB42583: AxProtector Windows: Anti-debugging measures impeding the integration of debugger have been improved.

FB42542: AxProtector .NET: The detection of virtual machines has been enhanced.

FB37615: AxProtector .NET: AxProtector .NET now sets the version number of the referred 'wupi.net' library to the most current AxProtector version number.

FB42991: AxProtector .NET: Embedded resources holding WPF elements (".baml, control elements) are now excluded from automatic encryption.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 9 of 74

FB42992: AxProtector .NET: After encryption the console now issues a summary of the encryption result.

FB24839: AxProtector Linux: The option '-cav' for mutual code integrity check of executable file and shared object(s) is now also featured for the project type Linux.

FB41853: AxProtector Java: The new option '-caa1' encrypts the literal pool of a java class.

FB42910: AxProtector Java: On activating method encryption (option '-ci'), by default, the trap function (option '-trap', 10%) is set.

Bugfixes:

FB40686: AxProtector: If on creating an encrypted archive an error occurred (arguments in the commandline), AxProtector did not write this error into the log file.

FB42782: AxProtector Windows: On Windows 10 binaries with activated 'Control Flow Protection' could not be loaded.

FB42090: AxProtector Windows: Improved handling of native applications with complex thread local storage callbacks (TLS).

FB41090: AxProtector .NET: The 'wupi.net.dll' library was required although the Software Protection API (Wupi) was deactivated.

FB42235: AxProtector .NET: A class name was not obfuscated, if from this class a resource was created. The same holds, if the class implements the WPF interface 'IComponentConnection'.

FB42235: AxProtector Mac OS X: The encryption of 64 bit OSX executables on 32 bit platforms was faulted.

FB39068: UserMessage DLL: The 'LogPath' variable was not interpreted by the UserMessage DLL.

AxProtector 9.40a

Release Date

2016-May-18

Bugfixes:

FB42098: AxProtector Windows: On parallel loading and unloading of libraries in rare cases a infinive loop occurred for the integrity check at runtime (-cav).

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 10 of 74

AxProtector 9.40

Release Date

2016-Apr-08

Features:

FB41106: AxProtector Windows: The performance and the memory requirements of the code integrity check have been improved.

FB37332: AxProtector Windows: The option "-cav2“ now activates an additional check on importing modules.

FB40536: AxProtector Java: The Java SDK now holds the new file "WupiEngine.jar" in order to test unencrypted Java programs using the software protection API Wupi.

FB30462: AxProtector Java: The detection of native debuggers has been improved.

FB37829: AxProtector Libraries: The detection of the virtualization software Parallels has been improved

FB40909: AxProtector Windows: If the options "-cci" (DLL loading sequence), "-cco" (ActiveX / OCX images), "-ccx" (Mixed-mode assemblies) and "-i" (Exception handling for Plugin DLL files) are set, now the commandline issues messages.

Bugfixes:

FB39225: AxProtector Windows: On activated dynamic code modification and BitDefender eventually an encrypted application crashed.

FB38703: AxProtector Windows: An encrypted application eventually crashed, if a big project file has been imported.

FB40996: AxProtector .NET: With a fix for the Roslyn compiler the management of the # strings has been changed.

FB34204: File encryption: The encryption of large archives eventually resulted in crashes.

FB40894: AxProtector Mac OS X: Encrypted Mac OS X application without relocations terminated right after the start.

AxProtector 9.30a

Release Date

2016-Feb-05

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 11 of 74

Bugfixes: FB40350: AxProtector Mac OS X: Startup procedure of 32-bit applications has been improved.

AxProtector 9.30

Release Date

2016-Jan-29

Features:

FB37332: AxProtector Windows: The new option '-cav2' allows deactivating the integrity check on import of loaded modules.

FB24879: AxProtector .NET: If the debugger detection works on activated hardware locking, now the reason is logged with CodeMeter License Server.

FB38386: AxProtector .NET: The options '-probing' and '-64bit' have been removed coupled with the legacy encryption as ceased with version 9.20.

FB38587: AxProtector Java: With option' -cml<n>' a screen output is introduced displaying the absolute and relative portion of encrypted methods. <n>' presents the minimum number of method instructions required for a method encryption. Default value is <n>=5. Deactivating the features uses '-cml0'.

FB32566: AxProtector Java: New methods of the classe 'Runtime' allow to read versions of native runtime library and JNI library: 'public static Version getXpm4jVersion()'; 'public static Version getJniVersion()'. The call "java -classpath AxProtector.jar com.wibu.xpm.Runtime" detects the Java version of the user.

Bugfixes:

FB38530: AxProtector Windows: The unload routine of protected DLLs have been improved.

FB38186: AxProtector Windows: The jump redirecting now applies to all code sections.

FB37402: AxProtector Windows: The dynamic loading of Wibu-Systems files for Windows 10 has been extended.

FB39565: AxProtector .NET: A sporadically occuring 'AccessViolationException' has been remedied.

FB38790: AxProtector .NET: Encrypted assemblies no longer require a .NET Framework 2.0-3.5.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 12 of 74

FB39168: AxProtector .NET: 'Wupi CheckLicense‘ always returned 'false', if CodeMeter was not started on program start.

FB38903: AxProtector .NET: An application encrypted with AxProtector .NET did not start, if WibuKey was specified as first licensing system.

FB35055: AxProtector .NET: Assemblies without #US stream could not be encrypted.

FB38527: AxProtector Java: Bytecode no longer is inserted in abstract interface classes. This supports compatibility with Glassfish Application Server applications.

FB38156: AxProtector Java: A problem on encrypting a single class using the option '-jm' has been remedied.

FB39504: AxProtector Java: The decryption of classes in some case required more time.

FB39278: AxProtector Java: If on application start a matching license was not found, next to the correct error message (200) a Java subsequent error occurred since the application did not correctly ended.

FB38388: AxProtector: IxProtector: An application spradically crashed, if IxProtector was used.

AxProtector 9.20d

Release Date

2015-Nov-25

Bugfixes

FB38869: AxProtector .NET: The feature anti-debugging was active even if the related option (-cag1) was not set.

AxProtector 9.20c

Release Date

2015-Oct-28 Based on the release for CodeMeter 6.00c AxProtector 9.20c is released. No changes have been done.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 13 of 74

AxProtector 9.20b

Release Date

2015-Oct-20

Bugfixes

FB38196: AxProtector Windows: If the check for code integrity performed with a short runtime check interval on application start, it could falsely took place before initializing and eventually failed.

FB38307: AxProtector Windows: In the case of large binaries using the option '-cci' eventually resulted in flawed import tables.

FB37529: AxProtector .NET: After obfuscating a .NET assembly eventually no longer started, if the base class was of type 'TypeSpec'.

FB34170: AxProtector .NET: On encrypting using option '-trap' eventually a 'System.AccessViolation' message displayed.

AxProtector 9.20a

Release Date

2015-Oct-02

Feature

FB30397: AxProtector Linux: Starting with ARM V7 AxProtector is now able to protect binary files for Linux ARMHF. Here CodeMeter Embedded is integrated and if necessary the CmAct Adapter can be linked.

Bugfixes

FB37450: AxProtector Windows: An application encrypted using AxProtector 9.20 could not be started, if a CodeMeter Runtime v4.20 or older was installed.

FB37506: AxProtector .NET: The error "InvalidLicenseList" occuring on calling a Wupi method prior to the first method encryption has been remedied.

AxProtector 9.20

Release Date

2015-Aug-14

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 14 of 74

Info

• AxProtector Java supports only applications using Java 6 or higher (FB32299).

• The AxProtector .NET Generation 2 setting (-legacy2) is no longer supported (FB30897).

News

Support of Universal Firm Codes (UFC) By default, starting with Version 6.00 CodeMeter ships with Universal Firm Codes (UFC). The number ranger of UFC starts with 6,000,000 and only Universal Firm Codes support the license transfer feature or Module Items (FB33620, 33621).

Features

FB32382: AxProtector: On specifying the Minimum Runtime Version now also the Build number can be specified.

FB29298: AxProtector: If on activated hardware locking the debugger detections strikes, the reason for this is saved and encrypted at CodeMeter License Sever runtime. This requires CodeMeter version 6.0 or higher at the server and client side.

FB34157: AxProtector: File Encryption: In future a warning is issued, if the file has a size between 2 and 4 GB, and an error message, if the file size is bigger than 3 GB.

FB34068: AxProtector .NET: The caching of static methods has been made faster.

FB28555: AxProtector .NET: If using the option '-ccs', if possible the IP address is used instead of the DNS name.

FB30430, 29312: AxProtector Mac OS X, Linux: Using the out-of-place execution feature at runtime functions can be placed out to other locations and subsequently executed.

FB31478, 32054: AxProtector Java: The WUPI interface (WupiReadData or WupiWriteData) and the project type 'IxProtector Only' are supported.

FB34100: AxProtector: Now IxProtector protected functions are additionally checked at runtime, if they are available and decrypted at that time.

FB30071: AxProtector: Libraries: For Windows and Linux for AES the hardware acceleration is used, if this is supported by the x86 / x64 processor.

Bugfixes

FB33574: AxProtector Windows: On using older CodeMeter License Server versions an error message falsely displayed.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 15 of 74

FB34471: AxProtector Windows: Improved detection of false positives at the symbol detection of debuggers.

FB37072: AxProtector Windows: On encrypting a 64-bit DLL a handle leak occurred.

FB32021: AxProtector Windows: An encrypted application crashed on using IxProtector on Windows.

FB31432: AxProtector Windows: The AxProtector.exe crashed on setting the option '-cci'.

FB31133: AxProtector Windows: Problems occurred on loading a C++ .DLL from within a .NET application. Now the size of the relocation directory is adapted.

FB31128: AxProtector Windows: If a protected application does not have relocations, eventually the AxEngine crashes.

FB36581: AxProtector .NET: On encryption using resource encryption with an empty 'LicenseList 0' no error message displayed.

FB35864: AxProtector .NET: On encrypting an application crash occurred, if WibuKey was selected as licensing system but was not installed.

FB30457: AxProtector .NET: The error 6203 "Index out of range" on using resource encryption has been remedied.

FB31397: AxProtector .NET: An encrypted .NET application crashed because of the use of automatic traps.

FB34205: AxProtector .NET: On encrypting an obfuscated assembly, error 6201 occurred.

FB31967: AxProtector .NET: After returning from hibernate status, a protected application crashed.

FB37020: AxProtector Mac OS X: For specific binaries with global constructors the encryption failed.

FB31476: AxProtector Mac OS X: The offset of dynamic data for some binaries of the AxEngine were corrupted.

FB31058: AxProtector Linux: On the first function call now automatically the global variables of the copy protection are initialized.

FB31009: AxProtector Java: If on setting parameter 'ReleaseDate' no time zone was specified, Local Time was set; now UTC is assumed.

FB31143: AxProtector Java: The application name of a AxProtector .NET protected application was not correctly issued in the WkServer Event Log.

FB33922: AxProtector Java: The help displays the invalid option '-mwc'.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 16 of 74

FB32139: AxProtector Java: Parameter '@' with WBC files now also accepts additional arguments in the commandline.

FB30553: AxProtector Java: An error has been remedied which occurred, if no CodeMeter runtime was installed.

FB32078: AxProtector Java: On setting the option '-u' no quotation marks were accepted.

FB35948: AxProtector: IxProtector: On starting a protected application a crash occurred because of a wrong length detection as soon as a specific function was encrypted using IxProtector.

FB32254 AxProtector: IxProtector: A DLL compiled with Visual Studio 2013 crashed after encryption using IxProtector.

FB35456: AxProtector: File Encryption: On encrypting large video files a crash occurred.

FB32802: AxProtector: UserMessage DLL: On implementing an own UserMessage the selected Button ID (return value of ShowUserMessage) is set to a value of 2 (ID_CANCEL) it the ID is invalid.

AxProtector 9.12

Release Date

2015-July-22

Bugfixes:

FB34208: AxProtector Windows: On starting a protected application / DLL holding many items in the import table, time delays could occur. The process has been improved resulting in a better performance.

FB35176: AxProtector Windows: Better program analysis and multi-threading support when using option '-caa2' (statisc code modification) and option '-caa8' (advanced static code modification).

FB34002: AxProtector Windows: The option '-cac' combined with a WibuKey license Lizenz holding an Expiration Time resulted in a wrong warning message.

FB35815: AxProtector Mac: An error on dynamically loading an encrypted library has beeb remedied.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 17 of 74

AxProtector 9.11b

Release Date

2015-Mar-30

Features

FB34022: AxProtector Java: Signatures of new Java versions until Java 8 Update 40 added.

AxProtector 9.11a

Release Date

2015-Feb-11

Bugfixes

FB33276, FB32311: AxProtector Windows: On exporting of unprotected functions exported as NONAME all entries of the export table were deleted.

FB33364: AxProtector Java: If many processes were opened simultaneously, errors occurred on start of an application.

FB33379: AxProtector Java: For some methods in IxProtector mode a wrong type was returned (error 0x14020116).

AxProtector 9.11

Release Date

2015-Jan-29

Features

FB33061: AxProtector Windows: The option "-ccf2" now supports the encryption of applications to be processed by Application Virtualization Sequencer.

FB33058: AxProtector Windows: The pre-defined space within the application to be protected to insert security code (AxEngineGap, option "-a") now by default is 16 byte aligned.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 18 of 74

Bugfixes

FB32133: AxProtector Windows: For using the integrity check (option '-cav‘) the exclude range array for code signing has been enlarged.

FB31402: AxProtector .NET: Handles now are re-allocated on the event "DomainUnload". This is required for Microsoft Internet Information Services (IIS).

FB31722: AxProtector .NET: On using an empty license list, the incorrect exception handling was triggered.

FB33234: AxProtector .NET: On the detection of methods overwriting abstract methods also with different names errors occurred.

FB33107: IxProtector: On using traps eventually the protected application crashed.

FB31577: AxProtector Linux: On using global variables or multithreading with Linux 32-bit eventually crashes occurred.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 19 of 74

AxProtector 9.10d

Release Date

2014-Nov-04

Bugfixes

FB31725: AxProtector Windows: In the context of detecting the length of functions on encryption AxProtector potentially crashed.

FB31503: AxProtector .NET: The access to a license for which the handle had become invalid has been improved.

FB31551: AxProtector .NET: An unhandled crash exception in the "AxProtectorNet32/64.dll" has been remedied.

FB31552: AxProtector .NET: A potential crash in reading the "AssemblyRef" table has been remedied.

FB31032: AxProtector Java: The behavior of Lambda expressions (Java 8) in protected methods has been improved.

FB31655: AxProtector Java: Linux Runtime: Loading libwibucmJNI64.so with Oracle Java 8 on failed.

AxProtector 9.10b

Release Date

2014-Sep 24

Bugfixes

FB30807: AxProtector Windows: In the interaction between the AxEngine and the application to be protected errors occurred (relocations).

FB31026: AxProtector Windows: Due to a caching problem in all cases the debugger check did not fully work.

FB30549: AxProtector Windows: On setting of protection flags in the '.idata' section using option '-cco' (handling of ActiveX / OCX images) errors occurred.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 20 of 74

AxProtector 9.10a

Release Date

2014-Aug 15

Bugfixes

FB30566: AxProtector Windows: The encryption of several files in a single directory using the "*.*" parameter resulted in a crash.

FB30471: AxProtector Windows: In the context of detecting the length of functions on encryption errors occurred.

FB30396: AxProtector .NET: The attempt on a Chinese system to perform an encryption resulted in a crash.

FB30572: AxProtector Java: The parameter of the WibuKey algorithm version on set '-ci' option was not correctly transferred.

FB30373: AxProtector Java: With some errors the exception handling did not work as exspected.

FB30307: AxProtector Java: An error was remedied which occurred in combination with IxProtector on encrypting some methods.

Protector 9.10

Release Date

2014-July 25

Info

• On WindowsCE in the AxEngine now CmEmbedded driver is used instead of CodeMeter Desktop (FB16787).

• The support for .NET 1.1 is discontinued. On encrypting a .NET 1.0 or .NET 1.1 Assembly repective error messages are issued (FB28510).

• Encrypting using AxProtector Java now requires the developer to use Java Version 7 (FB28268).

• Starting with this version Linux packages require a Linux distribution with GLIBC 2.7 or higher, Debian packages require a multiarch capable distribution. This allows, for example, installing packages starting with Ubuntu 12.04, openSUSE 12.3, SLES 11 or RHEL 6.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 21 of 74

News

Advanced Code Integrity Check (Windows, Mac OSX) Protected applications are checked for code integrity using asymmetric authentication mechanisms. Also a list of processes can be transferred allowed to load these protected applications (FB20576, 26069, 24837, 29527). Resource Encryption for project type .NET The security option now covers also the encryption of resources, i.e. embedded files and WinForms resources. WPF resource files are not encrypted in Version 9.10 (FB19512). IxProtector License List Numbering and Number of Functions extended License list with IxProtector / WUPI now may hold numbering gaps in a consecutive numbering without an upper limit (FB25141, 6954). In future the encryption may cover up to 65535 functions (previously 128) (FB57). New WUPI Flags Using the flags 'WupiQIFeatureCode' and 'WupiQIReleaseDate' of function 'WupiQueryInfo()' the Software Protection API (WUPI) allows read the Feature Code and the Release Date from a license (FB25129). Improved Security by Out-of-Place Execution For native Windows applications at runtime functions can now be placed out to other locations and subsequently executed (FB17795).

New Features:

FB27480: AxProtector: In future a *.wbc file can be called in the command line using additional parameter. The parameter can locate before or after the specified *.wbc file. The file to be encrypted must conclude the line.

FB23208: AxProtector: In future using the AxProtector option '-ccs' (all licenses in the same license container) in the case of a CmLAN address, internally not the DNS name is used but the IPv4/6 address is sought for if it is available.

FB9327: AxProtector: Dynamic parameter, such as license lists, are no longer limited by a certain number.

FB26373: AxProtector Windows: The functionality for resource encryption, file encryption, and dynamic code modification has been improved for future Windows versions. FB24492: AxProtector Windows, Mac: The automatic embedding of the AxEngine into existing source gaps is now supported. This gap is sought for without using the option '-a'.

FB26784: AxProtector .NET: If the option '-trap' is used for encryption with a WibuKey license, AxProtector cancels with an error message. If single methods of the application to be encrypted are specified using the attribute [Protection(TrapLevel.Trap1)] and a WibuKey license used for encryption, AxProtector also cancels with an error message.

FB28745: AxProtector .NET: The obfuscation of WPF (Windows Presentation Foundation) programs has been improved.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 22 of 74

FB27894: AxProtector .NET: The output encryption information has been extended and improved.

FB26088: AxProtector .NET: A new encryption cancel option '-force' is introduced. Parameter values cover the error code range XPM6400 through XPM6499. If '-force' is not specified and the method to be encrypted contains critical methods, then as usual an error message displays.

FB10825: AxProtector Java: In future, the option 'Ignore Linger Time' is supported.

FB26784: AxProtector Linux: For shared objects / executables a new improved loading mechanism is introduced. It is valid for Linux (i386, x86_64), Linux ARM and Android ARM platforms.

FB25987: AxProtector GUI: For CmActLicense the Minimum Firmware Version is set to Version 1.11.

FB29621: AxProtector GUI: The encryption result window now also included error messages.

FB26715: IxProtector: The *.wbc file now also accepts hexadecimal numbers for 'FeatureCode', 'ReleaseCode', 'HiddenDataAccessCode', and 'MapAddress'.

Bugfixes

FB28641: AxProtector: On extreme overload eventually the error handling did not work properly.

FB28868: AxProtector Windows: On encrypting a Fortran application eventually AxProtector crashed.

FB29581: AxProtector Windows: If on Windows XP many encrypted DLLs were often loaded and unloaded at runtime, eventually the application exited without a message.

FB28103: AxProtector Windows: Since with WibuKey Version 6.20 the versions of the calling driver (DLL / Lib) and the core driver are not identical eventually an error occurred.

FB27509: AxProtector Windows: On file encryption of a VB6 application an error occured on creating the file.

FB27883: AxProtector Windows: For an automatically protected application the application name eventually was not set and did not display in the event log of CodeMeter Control Center and CodeMeter WebAdmin.

FB27754: AxProtector Windows: Encrypted Windows console applications on Windows 7 and higher on exit did not automatically release the handle on the licensing system.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 23 of 74

FB30042: AxProtector Windows: If in a protected application a access violation occurred and the Generic Debugger Check was activated, the application did freeze on Windows XP. FB30131: AxProtector Windows: A protected AutoHotKey script application did not start on Windows 8.1.

FB28182: AxProtector .NET: Eventually occurring conflicts on automatic creation of traps have been removed.

FB28186: AxProtector .NET: Methods which call methods with variable number of arguments (ararg) were not encrypted.

FB28115: AxProtector .NET: The runtime check behavior on using option '-i' (error handling using a DLL) has been improved.

FB28231: AxProtector .NET: On obfuscating of "public" classes eventually the application crashed after the encryption.

FB28526: AxProtector .NET: Enrypted license data eventually could not be decrypted on using WibuKey and Station Share.

FB29294: AxProtector .NET: On reading big assemblies eventually the protected application crashed.

FB29695: AxProtector .NET: On specifying multidimensional arrays as parameter for a method errors occurred.

FB26760: AxProtector .NET: The search path information for 'UserMessage.ini' and 'Logo.bmp' were not correct.

FB27988: AxProtector .NET: Eventually the wrong methods were replaced by a call of the AxEngine.

FB28090: AxProtector .NET: On processing of "Application::SetUnhandledExceptionMode()" eventuelly an error occurred.

FB28943: AxProtector .NET: In the case of simultanuously existing Usage Period and Expiration Time, now the shorter of both time periods is used.

FB24891: AxProtector Mac: For OS X applications on reconstructing the export table eventually a problem occurred and the protected application could not be started.

FB26525: AxProtector Mac: On stack handling of Haskell applications crashes occurred.

FB26492: AxProtector Java: The Minimum Firmware Version for CodeMeter specified using the XML file was not considered.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 24 of 74

FB27722: AxProtector Java: On encryption when using the blacklist feature errors occurred.

FB27442: AxProtector Java: On exiting a protected application a NullPointerException was thrown.

FB26785: AxProtector Java: The behavior of CodeMeter License Server with activated 'UseMobileHandling' flag has been improved.

FB26397: AxProtector Linux: On encrypting shared objects the global variables werte re-initialized with a value of '0'.

FB23540: AxProtector Linux: On the runtime check cancelling was ignored.

FB29295: AxProtector GUI: By default, the option "Dynamic loading of Wibu-Systems libraries" was not properly set.

FB29515: IxProtector: On option '-ccs' set the error code for 'WupiGetLastError()' now returns the error code of the specified licensing system.

AxProtector 9.0b

Release Date

2014-Feb-21

Bugfixes

FB26847: AxProtector Windows: For Windows 8 and 8.1 the dynamic hooking eventually resulted in the crash of an automatically encrypted application. FB27393: AxProtector .NET: On inserting traps errors could occur. FB26497: AxProtector .NET: On using 'WupiEncryptCode*()' encryption eventually resulted in a crash. FB26618, 26441: AxProtector .NET: On start an encrypted application eventually aborted due to the obfuscation of methods and properties. FB26678: AxProtector .NET: After encryption eventually images and text no longer displays. FB26671: IxProtector: The replacement of IxProtector / WUPI functions in applications generated with Borland compiler has been improved. FB27337: IxProtector: On using of static code modification for Win64 applications eventually executing issues occurred.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 25 of 74

AxProtector 9.0a

Release Date

2013-Nov-20

New Features

FB24836: AxProtector .NET: The methods 'StackTrace::GetFrame()', 'StackTrace::GetFrames()', and 'StackTrace::get_FrameCount()' now return the StackTrace as in the no-encrypted assembly.

Bugfixes

FB26346: AxProtector Windows: The plugin mode did not work, if the license did not existed and the application exited. FB26319: AxProtector Windows: Using the resource encrypting feature (-caa1) on Windows 8.1 resulted in the application crash. FB26176: AxProtector .NET: After encryption the message "No valid Win32 application" could be issued, if the 'virtual size' of the '.text' section was too small. FB26271: AxProtector .NET: On encrypting format string eventually crashes occurred. FB26191: AxProtector .NET: An error on handling of overloaded generic methods was remedied. FB26241: AxProtector .NET: On processing of ExceptionHandlingClauses eventually errors occurred. FB26255: AxProtector Linux: The detection of virtual machines feature (-cag64) did not recognize a Debian 7.0 running in VirtualBox.

AxProtector 9.0

Release Date

2013-Oct-29

News

New universal project type AxProtector Net The former project type Mixed Mode advances to the new universal project type AxProtector .NET of the third generation. There is no longer a separation between the project types AxProtector .NET and Mixed Mode. The option '-legacy2' allows to switch to the former old project type AxProtector .NET of the second generation (AxProtector Versions 6.10 through 8.40) (FB24774, FB25154). AxProtector Java supports IxProtector

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 26 of 74

Using annotation in the source code the option '-ci' allows selective encryption at the level of methods (FB24884). The configuration of parameters for separate license lists (FB25312) is feasible using a XML file (FB15000).

New Features

FB24836: AxProtector Windows: In future, an AxProtector protected application is able not only check code integrity of itself but also of loaded DLLs. In turn, a DLL is also able to check either other loaded DLLs or the executing application. This requires first the '-cav' option set and, second, specifying the modules to be protected in the section [CheckCodeIntegrity DLLs] of the wbc file. FB24423: AxProtector Windows: If the exclusive access is defined (option '-nx'), in future, the automatic runtime check is no longer internally activated. Using option '-car' for the runtime check has now to be set explicitly. FB23743: AxProtector Windows: The static code modification for Win64/x64 in future can handle functions which have floating point numbers as transfer parameter. FB22810: AxProtector Windows: In future, for AxProtector protected application the call of 'CmAccess2()' replaces the 'CmAccess()' call already beginning with an existing CodeMeter Runtime Version v3.30. Previously, this call was performed with an existing CodeMeter Runtime Version v4.0. FB25099: AxProtector Windows: If the error "Runtime System not installed" displays, in future, the 'Retry' button will not displays. FB21671: AxProtector .NET: Anti-Debugging checks are now also performed at runtime check. FB23085: AxProtector .NET: The new command line parameter '-CMDn' allows to specify that a method is discarded n seconds after its encryption. '-CMDoff' deactivates this feature and methods are not discarded (default setting). FB25285: AxProtector .NET: The new function 'WupiEncryptCode()' discards the encrypted code of a method. FB21302: AxProtector .NET: The option '-ccs' (all licenses must locate in the same CmContainer connected to the same PC as it was the case with the first license found) is implemented. FB9409: AxProtector .NET: The functionality of 'QueryAccessData' and 'SetAccessData' to read/set which serial numbers and which server are to be used is available. The data is calculated either from the .ini file or at runtime after the first access. The option '-ccs' (all licenses must locate in the same CmContainer connected to the same PC as it was the case with the first license found) precedes. FB17717: AxProtector .NET: For protected programs using Mixed Mode encryption now traps can be automatically generated on encryption. FB17674: AxProtector .NET: If a method is tagged with the trap attribute, it becomes a trap method even if it is not explicitly set using the '-trap' option. FB23967: AxProtector .NET: On obfuscation of elements (option '-co(n))' the default value now is 0 instead of 3. If the option '-co(n)' is not set, no obfuscation is performed.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 27 of 74

FB15221: AxProtector Java: Protecting using AxProtector Java now requires the separate license entry 100021:3000. FB23042, FB24013: AxProtector Java: Support and loading of bundles of the OSGi frameworks is now available. FB15226: AxProtector Java: The generation of random numbers has been revised and the option '-r' is omitted. FB23182: AxProtector Linux: The protection of Android images is supported. FB23178: AxProtector Linux: The protection of native Android (ARM) file is supported. FB23817: AxProtector Linux: The library preloading is now activated by default. FB24187: AxProtector Linux: The option '-ccg3' now also exports symbols with WEAK attachment. FB24388 AxProtector File Encryption: In future, the values for the license search transferred from the User Message DLL using 'SetAccessData()' are also used for the licenses of an encrypted file. ‘SetAccessData ()' is one-time called on program start of the player for the encrypted application. FB25069 AxProtector GUI: Traps for native applications for functions can now be directly set in the graphical user interface. FB25490: AxProtector GUI: For .NET projecttypes on page "Security options" the new group 'Automatic Method Encryption' is available (option '-CMD[n|off]'). FB25935: AxProtector GUI: For .NET projecttypes on page "Runtime settings" die checkbox 'Activate plug-out check' is available (option GUI '-cae').

Bugfixes

FB25013: AxProtector Windows: On automatic protection using AxProtector the detection of virtual machines on Linux was incorrect resulting in improper working of protected applications. FB22906: AxProtector Windows: An AxProtector-protected application deadlocked, if the corresponding CmActLicense license did not exist and were to be activated using the Activation Wizard of the UserMessage DLL. FB25616: AxProtector Windows: If the call convention 'fastcall' was used the static code modification did not work. FB25697: AxProtector Windows: If DLL implemented by Delphi was dynamically loaded and unloaded and static code modification was set on encryption, the unloading eventually resulted in a crash. FB23112: AxProtector Windows: If while encrypting an application an error occurred, the "Temp" directory was not completely deleted. FB25147: AxProtector Windows: On application start an automatically protected DLL blocked the application, if the CodeMeter Runtime was not installed. In future, a respective error message displays. FB22943: AxProtector Windows: If an application was created with an old Delphi / Pascal, eventually the code integrity check ('-cav') failed.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 28 of 74

FB22854: AxProtector Windows: In future, pure .NET applications can be also encrypted and successfully executed using the native AxProtector. Here often on executing the protected application the error "invalid image" occurred. FB15252: AxProtector Windows: An encrypted Win64 application implemented using Open Pascal / Lazarus could not be executed. FB25150: AxProtector .NET: Assemblies without reference to the 'mscorlib' file could not be processed. FB23872: AxProtector .NET: A bug occurring with multithreading was remedied. FB23454: AxProtector .NET: On processing of local variables of type 'native uint' (System.UIntPtr) errors occurred. FB23732: AxProtector .NET: On reading in a FieldMarshal signature errors occurred. FB25517: AxProtector .NET: Methods of delegates were incidentally automatically obfuscated. FB25473: AxProtector .NET: On exception handling of WibuKey error occurred. FB23150: AxProtector .NET: On property obfuscation Get and Set methods with differing access limits errors occurred. FB23657: AxProtector .NET: If a IxProtector license was invalid, e.g. expired Expiration Time, the runtime check and following the complete application could be blocked. FB23573: AxProtector .NET: The check of the Unit Counter on method encryption did not refer to the Unit Counter setting at runtime. FB23539: AxProtector .NET: The behavior when using the Limit Counter with WibuKey was improved. The Limit Counter is now decremented only, if explicitly set. FB23461: AxProtector .NET: The options '-cac', '-cat' und '-caz' now can be set only, if the 'LicenseList 0' is available. FB23220: AxProtector .NET: Local variables of type 'pin_ptr<>' now are correctly integrated into the encrypted code. FB24104: AxProtector .NET: On using the IL command 'ldtoken' already on encryption en error occurred. FB24282: AxProtector .NET: With applications encrypted using AxProtector errors occurred on the code integrity check. FB25639: AxProtector .NET: Eventually occurring errors on calling '-extract' now are correctly excepted and issued. FB25997: AxProtector .NET: On using enum values errors occurred in combination with WupiEngineNetb attributes. FB26079: AxProtector .NET: If on encrypting an application the methods 'StackTrace.GetFrame' or 'StackTrace.GetFrames' are detected, the encryption is cancelled and the error XPM 6400 or 6401 issued. FB24773: AxProtector Mac OS X: If the 'libSystem.dylib' file in the import / symbol table ranked lower than the 16th entry, the encrypted Mac OS X application did not work.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 29 of 74

FB24314: AxProtector Linux: On code integrity computation errors occurred on initializing variables and write-accessible areas. FB24430: AxProtector Linux: Corrections for library preloading has been performed (option '-ccd0x100101'). On exiting the libraries are now correctly unloaded. FB23541: AxProtector Linux: On runtime checks errors occurred. The processes are now correctly reactivated. FB25363: AxProtector Linux: Errors occurred with the loading sequence. For 64-bit now the option for loading sequences ('-cci') is supported. FB23554: AxProtector Linux: On library preloading of Linux executables errors occurred. FB22869: User Message DLL: .NET: The methods 'CertifiedTimeWarning()' and 'CertifiedTimeElapsed()' now load the correct error texts from the INI file. FB25688: AxProtector Java: On using the option '-jos' now the wrapper is added to the main Jar file. FB22978 AxProtector Java: Same licenses accessed by different network search parameter were not correctly found. FB24847 AxProtector Java: Some resources were not released at the proper time. FB23444 AxProtector Java: The options '-jof' / '-jos' did not work, if path information on Windows was specified using "/". FB24314: AxProtector: IxProtector: Mac OS X: If a protected 'Dylib' on Mac OS X had no global initializing function, it could not be executed. In future, this is possible. FB25010: AxProtector GUI: The current default driver versions are applied to the GUI. FB24554: AxProtector GUI: Defined license lists now stay editable even if no function has been defined.

AxProtector 8.40e

Release Date

2013-July-30

Bugfixes

FB25013: AxProtector Linux: On automatic protection using AxProtector the detection of virtual machines on Linux was not properly working and protected applications did not work as expected.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 30 of 74

AxProtector 8.40d

Release Date

2013-Juli-19 Based on the release for CodeMeter 5.00d AxProtector 8.40d is released. No changes have been done.

AxProtector 8.40c

Release Date

2013-July-03

Features

FB24052: AxProtector Windows: The version check for an already existing User Message DLL has been improved.

Bugfixes

FB24352: AxProtector Windows: The generic debugger check (-cag32) did not work for Win64 applications. FB23523: AxProtector Linux: On library preloading of protected Linux executables errors occurred.

AxProtector 8.40b

Release Date

2013-May-16

Info

AxProtector .NET: Encrypting on a system with .NET Framework 4.5 installed If you encrypt assemblies created with .NET Framework 4.0 on a system with .NET Framework 4.5 installed, assemblies will start only within the Framework 4.5. This due to the 'type forwarding' (FB23645). If this was not your intention, please use one of the following workarounds: • Use the command line parameter "-mixed". • your assembly on a system with only .NET Framework 4.0 installed. For more information, please contact Wibu-Systems support via [email protected].

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 31 of 74

AxProtector 8.40a

Release Date

2013-Apr-08

New Features

FB23194: AxProtector .NET: The check for the minimum runtime version for CmWAN was removed. FB21712: AxProtector Java: CmWAN is now also supported by AxProtector Java. FB23216: AxProtector GUI: CmWAN now is also supported in license lists.

Bugfixes

FB23134: AxProtector Windows: Without setting the option '-ccs' all following licenses were sought in the same, initial CmContainer. In future, this will be the case only if the option '-ccs' is set. FB22995: AxProtector Windows: If a 64-bit process load a 32-bit ressource DLL, the Anti-Debug-Check resulted in a crash.

AxProtector 8.40

Release Date

2013-Mar-01

News

AxProtector Mixed Mode features obfuscation The obfuscation process renames elements to render them meaningless and replaces human-readable information with machine generated information preventing reverse engineering. Configurable in the AxProtector GUI and via command line option 'CO<n>'. Elements comprise classes, methods, and fields. Name obfuscation can also be set in the command line using attributes (FB20581, FB21650, FB21696). AxProtector supports ARM ELF binaries for VxWorks (FB22378) AxProtector allows configuration of WANs (Wide Area Network) Using the command line option '-S[([L],[N|W])|C]' AxProtector in future allows to configure the communication type CmWAN (W). On using WAN automatically also LAN is activated since WAN communication represents an extension of the LAN communication. In the GUI activating the option "Network" includes activation of WAN (FB21711).

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 32 of 74

New Features

FB20045: AxProtector Windows: Option '-prio' allows to set the process priority of the protected application on start and eventually afterwards at runtime. FB21812: AxProtector Windows: If an application was created using launch4j, so far the option '-cce' had to be used (no PE header increase). This is no longer required. FB18203: AxProtector Windows: AutoCAD 2011 plugins now can be encrypted without specifying additional predefined exclude ranges (option '-g'). FB22169: AxProtector GUI: .NET: The automatic Reflector defense preventing a potential decompiling is visible. FB22170: AxProtector GUI: .NET: The automatic insertion of hacker traps into the encrypted assembly can now be activated in the GUI. FB22474: AxProtector .NET: Trap method adaption to real-case methods has been improved. Differences between methods and traps are harder to detect. FB22328: AxProtector .NET: User Messages now display according to the language set and not according to the number format set. FB20083: AxProtector Mac OS X: In future also pure Mac OS X 10.8 applications and dylibs can be automatically encrypted and executed. FB21426: AxProtector Java: The security of the integrity check has been improved. FB21427: AxProtector Java: The integrity protection of signatures has been improved. FB18777: AxProtector Java: Oracle Java for Mac OS X is now supported. FB19001: AxProtector Linux: On Linux and Windows now Linux ARM binaries (Executables + Shared Objects) can be protected. FB20162: AxProtector Linux: The IxProtector functionality for Linux ARM executables (no Shared Objects) is now available. FB21649: AxProtector Linux: The IxProtector Only functionality is now also available for Linux (command line options '-ci' without '-ca'). FB22393: AxProtector Linux: The encryption of Linux ARM is now coupled to the separate license 100021:1310:1. FB22064: AxProtector: File encryption: Encrypting of ARX plugins without explicit specification of areas not to be encrypted is now supported. FB19673: AxProtector: User Message: The User Message ini-file has been localized in Spanish.

Bugfixes

FB20535: AxProtector Windows: On encrypting resources (-caa1) on Windows 7 errors occurred. FB20098: AxProtector Windows: If a encrypted DLL was loaded from an application and the CmDongles was removed eventually the application did not exit on clicking the "Cancel" button. In future the complete application exits.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 33 of 74

FB19967: AxProtector Windows: On using 'WUPI / IxProtector' in Windows programs eventually not all Wupi API functions were detected and error 6106 was issued. FB21528: AxProtector Windows: On Windows 8 exiting an application eventually resulted in an access violation. FB20895: AxProtector Windows: Encrypted DLLs or ActiveX Controls eventually did not work with Internet Explorer 9. FB20984: AxProtector Windows: If a check for virtual machines (-cag64) was called in combination with a dynamic hooking (-caa4) the application crashed at runtime check. FB22278: AxProtector Windows: If an application had no Import Address Table (IAT) and the options '-cci' and the code integrity check (-cav) was set, the application exited. FB22455: AxProtector Windows: An automatically protected application with a WibuKey network license performed with a delay. FB22500: AxProtector Windows: In the case of Win64 Dlls which usually hold relocations the code integrity check did not work. FB13784: AxProtector Windows: Encrypted flash applications created with newer Adobe Director version did not run and the appendix handling was adapted. FB22697: AxProtector Windows: On Windows 8 VB6 applications encrypted using WUPI did not run. FB21718: AxProtector .NET: The NullReferenceException which occurred if no 'LicenseList' was specified but the options '-Eax' or '-Eex' were set has been remedied. FB21700: AxProtector .NET: Eventually an application crashed on start if WibuKey and Station Share were used. FB21777: AxProtector .NET: If a class had a licensing attribute but not one of its methods eventually methods were encrypted that should not have been encrypted. FB20507: AxProtector .NET: Starting AxProtectorNet4_32.exe eventually resulted in an error. FB21814: AxProtector Mixed Mode: A crash on using WupiWriteData() has been remedied. FB21463: AxProtector Mixed Mode: On reading a Field Marshal signature an error occurred. FB21058: AxProtector Mixed Mode: The TypeSet parameter names in black- /whitelists did not always work properly. FB22458: AxProtector Mixed Mode: The check of the UserMessage.dll has been improved to remedy problems with Mixed Mode and .NET 4.0. FB22458: AxProtector Mixed Mode: If on Windows 64-bit operating systems AaxProtector.exe was used with mixed mode option ('-ccx'), eventually the library 'wbcor32/64.dll' was not copied. FB22488: AxProtector Mixed Mode: Nested classes of the same name lead to a mixup. FB21630: AxProtector Mac: Eventually using the option -a (AxEngineGap) resulted in an crash of the encrypted application.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 34 of 74

FB20130: AxProtector Mac: Cocoa applications compiled with Xcode 4.x the code integrity check failed and eventually dialogs and message boxes did not display. FB22103: AxProtector Linux: After encryption the standard output was not transferred into the redirected file. FB20208: AxProtector Linux: Sporadically encrypted applications crashed. FB21766: AxProtector Java: The version in the manifest was outdated. FB18471: AxProtector: File encryption: Eventually the file encryption on Windows 7 (and newer Windows versions) did not work properly. FB18567: AxProtector: File encryption: Eventually a player froze if the license for the protected file did not exist. FB21555: IxProtector: WupiQueryInfo() released a license if the desired info was not found. In future in this case the license remains allocated. FB22275: IxProtector: The combined use of static code modification and runtime check eventually resulted in a deadlock, if 'WupiCheckDebugger()' was called. FB22240: AxProtector GUI: If on using IxProtector Only no license list was defined encrypting was not possible. FB22427: AxProtector GUI: For the project type "IxProtector .NET' the date format of the "Release Date" was not set properly. FB22428: AxProtector GUI: The activation of the options 'WupiReadData' and 'WupiWriteData' did not consistently behave across different project types. FB22426: AxProtector GUI: For the project type "AxProtector .NET" the result log hold swapped lines. FB22606: AxProtector GUI: For the project type "AxProtector Mixed Mode" license list on using WUPI were not editable. FB18857: User Message DLL: The display of a wrong runtime version has been revised in the User Massage DLL.

AxProtector 8.30

Release Date

2012-Nov-16

News

AxProtector .NET mixed-mode now containing IxProtector Using different licenses for protection of several functions (IxProtector) is now also available in AxProtector .NET mixed-mode. The configuration can be done in the graphical interface or xml file, but also using attributes within the source code. WupiReadData and WupiWriteData are now also available for .NET The functionality of reading and writing data during runtime WupiReadData and WupiWriteData are now also available for AxProtector .NET. This enables you to read and

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 35 of 74

optionally to write data easily from and to a CodeMeter license. This functionality is currently not available for WibuKey. Code Integrity Check for VxWorks Executable files for VxWorks can now be signed by AxProtector VxWorks using a private key stored in a CmDongle. The certificates that are necessary for checks on loading time are validated and integrated into the protected file. This enables an integrity check of the file by the loader.

New Features

FB20122: AxProtector Linux: Global variables used in shared objects (.so) are now handled in a way to be available at all time during runtime. This is possible for an unlimited number of global variables. FB21116: AxProtector .NET: If embedded interfaces with _VtblGap methods are found, the encryption is aborted with an error. The encrypted application would not have worked as expected. FB13771: AxProtector .NET: Advanced locking options on detected hacker attacks are now also available in .NET. Command line optiones -cag128 and -cag256. FB19146, FB19149, FB20373, FB20375: AxProtector .NET mixed-mode: The time and the memory consumption during encryption have been reduced a lot. FB17695: AxProtector .NET mixed-mode: Signing with strong name is now available in the same way as in AxProtector .NET. FB19849: AxProtector .NET GUI: The minimum firmware version for new AxProtector .NET mixed-mode projects is now 1.14 as in AxProtector .NET.

Bugfixes

FB20606: AxProtector: File Encryption: Files larger than 2.1 GB could not be opened. This now works up to 4.2 GB. FB21252: AxProtector: File Encryption: Loading encrypted files on Windows 8 failed since not all system functions have been checked correctly. FB20339: AxProtector: Changing the used license of a protected application in a way that a different Firm Code is used, could crash the application. FB20342: AxProtector Windows: Loading a library (DLL) more than 1000 times on Windows XP caused an unexpected quit of the application. FB20456: AxProtector Windows: Sometimes applications with many sections could not be enrypted. FB20482: AxProtector Windows: Encrypting an application built with Delphi XE could hang up if IxProtector / WUPI have been enabled. FB20541: AxProtector Windows: On 64 bit applications checking the integrity may have been failed. FB19957: AxProtector: Not all WUPI functions have been covered on API redirect.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 36 of 74

FB20499: AxProtector Mac: An application compiled with XCode 4.4 and protected with IxProtector / WUPI produced a crash on starting the application FB20616: AxProtector .NET: Quite good packed assemblies may not have been handled correctly; duplicates in the memory structure have not been detected. FB20211: AxProtector .NET: Sometimes copying ressources caused memory access errors. FB19723: AxProtector .NET: Encrypting a x86 assembly on 64 bit developement system using the GUI caused an error while no error has occurred. FB20445: AxProtector .NET: The output of methods by -extract now does not show the same method several times. FB20914: AxProtector .NET: On detecting a debugger the decrement of the FAC was done twice in some cases. FB20319: AxProtector .NET mixed-mode: Locale variables of type void* have not been correctly handled. FB20536: AxProtector .NET mixed-mode: A NotSupportedException on calling of SetCompatibleTextRenderingDefault() has been removed. FB20800: AxProtector .NET mixed-mode: An error on encrypting methods larger than 64kB has been fixed. FB20859: AxProtector .NET mixed-mode: filter statements have not been handled correctly. FB20469: AxProtector Java: A "Callback manipulation" was detected by mistake on Linux 32 bit using Java 7 Update 7. FB21138: AxProtector Java: Logfiles are now also used with surrounding double quotes. FB21312: AxProtector Java: During encryption now licenses are skipped when they have not been found before. FB21184: AxProtector: GUI: In .NET projects the file filter on export was set to *.wbc instead of *.xml. FB21258: AxProtector: GUI: The dependencies of Linger Time, minimal driver version and Release Date have been corrected. FB21260: AxProtector: GUI: The dependencies of security options in .NET projects have been corrected. FB20980: AxProtector: GUI: An encryption using only CmActLicense was not possible.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 37 of 74

AxProtector 8.20a

Release Date

2012-Sep-11

New Features

In AxProtector Windows the detection of debuggers has been further improved. This also involves further mimimizing false positive incidences (FB20381).

Bugfixes

FB18938: AxProtector File Encryption: When applications with activated file encryption accessed HID devices eventually the application freezed. FB18938: AxProtector GUI: The progress window was not displayed during encryption. FB19432: AxProtector GUI: The option mimimum firmware on page 'Licensing systems' could not be modified if at the same time the options "Release Date" on the same page and the option "License container lock (new)" on page 'Security options - Advanced' were activated. FB19959: AxProtector GUI: IxProtector: Licenses used in a license list of a IxProtector project did not completely display on the page 'Summary'.

AxProtector 8.20

Release Date

2012-Jul-13

Info

New Minimum Version for license option "Station Share" and Firmware When using the license option "Station Share" in the AxProtector GUI Wibu-Systems recommends setting the 4.50 Runtime version as Minimum Version. When using a preceding version a respective message displays (FB19335). When creating new native AxProtector projects (Windows, Mac OS, Linux, File Encryption) or .NET projects using the AxProtector GUI automatically the Firmware Version 1.14 is used as default. When using a preceding version a respective message displays (FB19333; FB19687).

News

AxProtector Mixed Mode supports WUPI for .NET. When jointly setting the options '-ci' and '-mixed' now using WUPI functions is featured (FB9458). This holds also for the AxProtector GUI (FB19456).

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 38 of 74

AxProtector Mixed Mode supports IxProtector. Separate encryption of single methods by using the IxProtector protection technology is now supported. This by setting encryption attributes and editing a separate XML file (FB17692).

New Features

FB18870: AxProtector: The behavior of the option '-cac' (System Time check PC for System Time CmContainer) has been changed. Now this check is performed only if the used license entry has an expiration time or usage period. FB18429: AxProtector for Windows: The code integrity for Windows applications and DLL's is checked if the option '-cav' is set. FB19689: AxProtector for Windows: In future, error 101 (CodeMeter License Server not found) for protected applications is lower priorized to allow the return of more significant error code. FB19760: AxProtector for Windows: In future, .NET reversing tools are detected only if in the native AxProtector next to the option '-cag4 / ADC3' also the option '-ccx' (encrypting mixed-mode / .NET assemblies) is set. FB18430: AxProtector for Mac: The code integrity for Mac OS X applications or Dylibs is checked if the option '-cav' is set. FB15993: AxProtector for Mac: AxProtectorMacX now includes version information in an embedded Info.plist file. FB16529: AxProtector for .NET: If using .NET Frameworks 2 and 4 on demand the option '-legacyv2runtime' is automatically set. FB18147: AxProtector for .NET: The library WupiEngineNet.dll now has a strong name, i.e. a unique name and integrity are safeguarded. FB17789: AxProtector for .NET: When using IxProtector-only and encrypting a class or a method with a License List entry “0”, a warning is issued. FB19088: AxProtector for Java: The project type now also supports the webarchive format *.war as input format. FB19499: File Encryption: Starting with Version 8.20 file encryption on Windows 8 and Windows Server 2012 is supported.

Bugfixes

FB18938: AxProtector for Linux: Encrypting of Shared Objects on Linux did not work if global variables were used which have been exported. FB17769: AxProtector for Linux: The loading of Shared Objects did not work with Lightweight Directory Access Protocol (LDAP). FB18875: AxProtector for .NET: If in encryption a Firmware too old was used (smaller than 1.11), the logging was activated, and the option '-trap' was used an error occured. FB19490: AxProtector for .NET: Interface implementing in derived classes has been improved.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 39 of 74

FB19307: AxProtector for Mixed Mode: Encryption using the licensing system WibuKey did not work. FB18418: AxProtector for Mixed Mode: On encryption the files wupi.net.dll, UserMessage DLL and UserMessageXX.ini were not copied to the "protected" directory. FB18959: AxProtector File Encryption: File encryption did not work with the player StereoScopic. FB18927: AxProtector File Encryption: In for file encryption more than one Firm Code / Product Code pair was used a memory error occured. In future also two and more Firm Code / Product Code pairs can be used. FB18956: AxProtector GUI: In the commandline on the result page the quotation marks around the AxProtector call were missing. Copying the commandline caused an error. FB19276: AxProtector GUI: For set Runtime version older than the default minimum version (CmDongle: 3.30 / CmActLicense: 4.20 / WibuKey: 5.20") wrong note and message texts were displayed. FB18860: AxProtector GUI: Labels in the Spanish localization have been replaced. FB19432: AxProtector GUI: The minimum Firmware can still be modified even if both options "Lock license container (new)" in the dialog 'Hardware locking' on the page 'Security Options' and "Release Date" on the page 'Licensing systems' are activated. FB19392: IxProtector: In error cases the WUPI function "WuiQueryInfo" with the transfer parameter 'WupiQIProductCode', 'WupiQIFirmCode', 'WupiQIBoxMask', and 'WupiQIBoxSerial' issued a wrong return value. In future a value of '-1' is returned in all error cases. FB18999: UserMessage DLL: The logo file was not searched for in the directory where the DLL located.

XPM 8.10

Release Date

2012-May-10

News

AxProtector for .NET now also encrypts Mixed Mode applications Now also applications which hold not only 'managed Code' of the .NET runtime environment but also 'native (unmanaged) Code' are encrypted (FB4044). Existing Mixed Mode projects - so far encrypted using AxProtector for Windows - can be encrypted using the GUI interface (FB18447). Individual Protection (IxProtector) for Linux Applications and Shared Objects AxProtector for Linux now supports IxProtector for Linux 32-/64-Bit Executables and Shared Objects analog to the other project types (FB3980, FB16739, FB16890, FB15321). Extended AxProtector-GUI with new Project Type Icons

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 40 of 74

A modified selection of project types using tabs and new icons considers the introduction of new and extended project types (FB17516, FB18648). New AxProtector Features for the Embedded Realm (VxWorks) • Not encrypted but signed DKMs are tagged on signing providing for an integrity check

on loading (FB17586).

• The encryption using several CmDongle / CmActLicense licenses is now supported (FB17381).

New Features

FB15210: AxProtector: The encryption using WupiEncryptCode / WupiDecryptCode now supports the use of the same function in several threads. FB12903: AxProtector: Warning messages on expiration times becoming invalid have been standardized. FB18062: AxProtector for .NET: The security of encrypting is additionally improved by a more homogeneous distribution of traps spanning the methods. FB16669: AxProtector for Java: The support of web applications has been improved. FB18127 AxProtector for Java: The protection preventing manipulation has been improved. FB12645 AxProtector for Java: The logging for the SystemClassLoader has been adapted. FB17807: AxProtector for Linux: The new option '-cck' prevents unloading of protected shard objects too earl if transitive link dependencies exist between shared objects. FB17969: AxProtector for Linux: The access to symbols of the application to be protected after successful decryption using dlopen and dlsym is now featured. FB18226: AxProtector for Linux: The new option '-ccd[flags]' allows setting dlopen flags for shared objects. FB17574: AxProtector for Linux: AxProtectorLin is now protected itself with CodeMeter. FB18676: AxProtector for VxWorks: If the option '-d' is not set, by default, for each license entry in the VxWorks image the runtime version 1.0 is set. FB17070: User Message DLL: The sample for the UserMsg.dll (C++) no longer holds the activation wizard to keep the sample clear and comprehensible.

Bugfixes

FB16448: AxProtector for Windows: On automatic protection of several *.dlls or also the *.exe and activated runtime check ('-car') and plugout check ('-cae') eventually the application went into a deadlock after exiting. FB17654: AxProtector for Windows: Loading a native 64 bit Windows dll by a .NET Assembly resulted in a crash. FB18200: AxProtector for Windows: The communication between CodeMeter Runtime v3.30 and an application protected by AxProtector did not work.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 41 of 74

FB15452: AxProtector for Windows: The error message on incorrect minimum version now will again hold a link to the correct licensing system. FB19572: AxProtector for Windows: On encrypting WinCE Arm4i-dlls errors occurred. FB13351: AxProtector for Windows: Using file encryption now files which are not encrypted will be directly processed by the Win32 API as it is the case without file encryption. FB18188: AxProtector for Windows: Using file encryption and accessing a USB device with separate driver resulted in problems with the protected application. FB18050: AxProtector for .NET: The exception handling on reading CustomAttributes has been improved. FB17220: AxProtector for .NET: On encrypting applications with special design eventually the methods EnableVisualStyles(), SetUnhandledExceptionMode() and SetCompatibleTextRenderingDefault() were not correctly processed. FB16833: AxProtector for .NET: On encrypting using encrypted constructors and empty LicenseList 0 an error occurred. FB17068: AxProtector for .NET: After encrypting a .NET WPF application the application did not longer function as designed. FB9426: AxProtector for .NET: The AccessViolationException on the switch instruction using several try/catch or try/finally blocks has been fixed. FB18682: AxProtector for .NET: Improvements for the generic Interfaces have been implemented. FB17749: AxProtector for .NET: On copying the 'unmanaged' resources now more specific error codes are issued instead of the general error 1000. FB18469: AxProtector for Mac: After encrypting a Mac 10.6 application / dylib eventually the application exited directly after it started. FB17532: AxProtector for Mac: On encrypting and executing of Mac OS X 10.6 compatible i386 applications eventually errors occurred. FB18450: AxProtector for Linux: On failed runtime check of shared objects functions in the shared object could be further used. FB17367: AxProtector for Linux: The unloading shared objects using dlclose() eventually resulted in a crash. FB18189: AxProtector for Linux: Encrypting of Python modules (C code binaries as shared objects) now works. FB17056: AxProtector for Linux: The deactivation of encrypting for shared objects using the parameter '-cas0' is now featured. FB18800: AxProtector GUI: Eventually project files were not correctly retrieved after saving. FB17297: AxProtector GUI: When using IxProtector projects the obsolete option '-rr' (initializing random generator) is no longer set. FB17280: AxProtector GUI: Eventually values were not correctly displayed after editing already saved license lists.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 42 of 74

FB18675: AxProtector GUI: On the page "Licensing system" the label "Feature Map" was replaced by "Feature Code". FB17394: AxProtector GUI: For Java projects the time manipulation option ('-caz') not yet available has been deactivated in the GUI.

XPM 8.00b

Release Date

2012-Mar-23

Bugfixes

FB17798: AxProtector for Java: Application encrypted with an older version returned error "invalid encryption system".

XPM 8.00a

Release Date

2012-Feb-23

Bugfixes

FB17294: AxProtector Installer: The Installer SideImage no longer displays the "Beta" entry. FB17622: AxProtector for Windows: On encrypting using AxProtector eventually the following error occurred: 1073740972 = 0xc0000354 STATUS_DEBUGGER_INACTIVE. FB16124: AxProtector for Java: The sample for the UserMessage now correctly displays the Unit Counter.

XPM 8.00

Release Date

2011-Dec-20

Info

Support of Mac PowerPC Executables and Dylibs stopped

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 43 of 74

In future, AxProtector for Mac OS X will not encrypt Mac PowerPC Executables and Dylibs any longer; the support is stopped (FB16167).

News

Individual Protection (IxProtector) for Mac OS X Applications AxProtector for Mac OS X now supports IxProtector analog to the other project types. The option '-cid' will not be needed any longer (FB16482). The required Wupi files have become part of the CodeMeter SDK (FB14482). Support of Linger Time A control in AxProtector allows to ignore the license property 'Linger Time' when encrypting applications (FB10818). WupiReadData and WupiWriteData are available in AxProtector In AxProtector the Wupi functions 'WupiReadData' and 'WupiWriteData' are now available in the dialog for creating license list properties (FB16552). New and revised AxProtector Online Help Using AxProtector now is supported by a new and revised context-sensitive online help in format *.chm (FB16284).

New Features

FB16275: AxProtector: Installer: In the installation process now the AxProtector build number displays. FB15831: AxProtector for .NET: The security of encrypting is additionally increased by an integrity check. FB12708: AxProtector for .NET: For encrypted methods the memory area 'new StackFrame()' now returns the method holding the LoaderCode. FB15294: AxProtector for .NET: If on encrypting a reflection a 'TypeLoadException' is thrown, the exception handling now includes additional information on the error source via the LoaderExceptions. FB13975: AxProtector for .NET: On using Wupi an error message displays, if in the library WibuCmNET.dll the versions 3.x and 4.x are mixed. FB15820: AxProtector for Mac: Applications or Dylibs compiled with llvm for Mac 10.7 can now be encrypted using Ax/IxProtector. FB4005: AxProtector for Mac: The automatic length calculation in Mac / x86_64 applications now works properly and calculates the correct length. FB15941: AxProtector for Linux: Encrypting shared objects with static C++ objects is now supported. FB13564: IxProtector: The Wupi functions 'WupiReadDataId' and 'WupiWriteDataId()' are now also availabe for VB6 via call convention '__stdcall'. FB15249: UserMessageDLL: The new CodeMeter terminology has been localized in Chinese.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 44 of 74

Bugfixes

FB16348: AxProtector for Windows: The Wupi functions 'WupiRead' and 'WriteData()' now handle HiddenData blocksizes smaller than 256 bytes. FB16313: AxProtector for Windows: On the licensor side using 'WupiWriteData()' requires the Feature Code for updating a Product Item in the Firm Security Box. FB15873: AxProtector for Windows: When using Wupi / IxProtector in Windows programs eventually not all WupiXXX functions were detected and error 6106 was issued. Now the detection rate has been increased. FB16466: AxProtector for Windows: In the UserMessage now the proper current CodeMeter Runtime Version is displayed if it does not match with the minimum requirements. FB15933: AxProtector for Windows: In future, in the encrypted image (*.exe or *.dll) the new checksum is set into the header. FB16615: AxProtector for .NET: The error "NullReferenceException" which occurred when a minimum Firmware Version of 1.18 and a minimum Runtime smaller than 4.30 were used has been corrected. FB16549: AxProtector for .NET: The error which occurred on encrypting with WibuKey and a defined Maintenance Period was corrected by ignoring the option '-emc' (Maintenance Period Check) for WibuKey licenses. FB16549: AxProtector for .NET: The error which occurred in classes on importing 'System.__ComObject' has been corrected. FB16076: AxProtector for .NET: The constructor of generic class eventually was not properly resolved. FB15991: AxProtector for .NET: Reloading of AxProtector for .NET 4.0 Assemblies has been improved. FB16056: AxProtector for .NET: Methods with 'generic' parameters could not be excluded from encryption using attributes. FB16424: AxProtector for Mac: Now also images containing "old style" relocations and comprised relocations are properly processed. FB15112: AxProtector for Mac: Mac / x86_64 (10.4/5 compatible) Plug-ins now also function with option '-a' (WibuXpmSpace). FB15418: AxProtector for Java: An eventual deadlock coupled with ToolSys Classloader has been corrected. FB16124: AxProtector for Java: The UserMessage example for Java has been revised. FB15418: AxProtector: For the project type AxProtector for .NET an error on loading resources has been corrected. FB16587: AxProtector: For the project type AxProtector for Mac OS X the page 'Security Options' in the group resource encryption has been revised. FB14742: AxProtector: The attribute for the license list entry 1 stored in the source code is now properly displayed in the GUI.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 45 of 74

FB15518: AxProtector: The warning messages in the case of conflicting driver versions on the page 'Licensing Systems' have been revised. FB15906: AxProtector: The graphical display of IxProtector for the project types .NET/IxProtector .NET did not function properly on excluding classes/methods from encryption. FB16030: AxProtector: IxProtector options were not displayed if the license list holds no items. FB16032: AxProtector: The graphical display now functions properly in multi monitor operation mode. FB16034: AxProtector: Clicking the navigation item "Summary" now automatically checks and if necessary transfers the values set on the page "Licensing Systems". FB16056: AxProtector: Methods including 'ref' function calls within Wupi *.xml files are now supported when encrypting. FB16467: AxProtector: Eventually occurring problems when importing previous projects have been resolved. FB16082: User Message DLL: .NET: UserMessage Sample: The error code 100000 has been handled incorrect.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 46 of 74

XPM 7.20

Release Date

2011-Oct-11

New

Protecting the Protection Starting with Version 7.20 the AxProtector variants are protected by applying CodeMeter. This considerably increases security. For encrypting matching licenses with the Firm Code 100021 are required. These licenses are not time-limited. For activating these licenses for the respective Firm Security Boxes, please follow this link https://lc.codemeter.com/10001/depot/en/ All WibuKey customers receive a CmStick holding the required licenses. Note that the CodeMeter Runtime must be installed on the computer where encryption takes place and the CmStick must be accessible. If questions occur, please contact your sales department. New CodeMeter Terminology: CmDongle, CmAct License, CmContainer AxProtector (GUI, online help, console output, error messages of the protected application) has been adapted to the new CodeMeter terminology (FB14903, 14920, 14920). CodeMeter now stands for the complete protection and licensing technology of Wibu-Systems as WibuKey does. CodeMeter previously used is replaced by CmDongle and refers to the hardware-based variant of CodeMeter. At the same time CodeMeterAct is replaced by CmActLicense and refers to the purely software-based variant of CodeMeter where licenses are bound to an individual computer. CmContainer refers to the summarizing notion for describing the license carriers of both CodeMeter variants: CmDongle in the case of the hardware-based licensing system and CmActLicense in the case of the software-based licensing system.

New Features

FB15190: AxProtector: In future the option '-r' (external initializing of random number generator) will have no functionality and will not be used any longer.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 47 of 74

FB15231: AxProtector: AxProtector.exe and wibuae32.dll now merges also on Windows into a single application (AxProtector.exe). In future the library wibuae32.dll will not exist.

FB14497: AxProtector: The Anti-Debugging protection of AxProtector protected applications has been further developed and improved.

FB13770: AxProtector: In future after detecting debuggers a protected application is able to invalidate the related CmContainer entry in several ways (see option '-cag128/256').

FB13626: AxProtector: If runtime check intervals are too big now a user message displays.

FB6761: AxProtector for Windows: WupiWriteData() now allows to reprogram / write preprogrammed Hidden Data (CodeMeter) or ExtMem (WibuKey) data fields.

FB11184: AxProtector for Windows: The error code a protected application returns if several licenses exist is now more detailed analog to the behavior of the CodeMeter Runtime.

FB10149: AxProtector for Mac: The AxEngine for Mac is now also available with statically linked CM & WK API. Thus protected applications do not any longer use the WibuCmMacX.framework and the WkMacLibX.framework. This can be applied using option '-x'.

FB4263: AxProtector for Mac: The UserMessage.dll is now supported for Mac.

FB5781: AxProtector for Mac: In future Mac applications / Dylibs are also able to use the option '-a'. A prerequisite is an efficiently sized byte array defined in the application / Dylib. Then the AxEngine is copied into this array and no appended to the application / Dylib.

FB7238/FB6347: AxProtector for Linux: AxProtector for Linux now also automatically encrypts shared objects (32- and 64 bit).

FB13715: AxProtector for Linux: The loading of several encrypted shared objects within a single application is now featured.

FB9122: AxProtector: For IxProtector in a [Function X] section of the wbc file now the parameter "TrapLicenseList=Y" can be specified. Y stands for the LicenseList number to be deactivated. If then this function is called by WupiDecyrptCode(), the license is locked.

FB13953: AxProtector for .NET: The libraries AxProtectorNet32.dll, AxProtectorNet64.dll, AxProtectorNet32.exe, and AxProtectorNet4_32.exe are now signed.

FB13580: AxProtector for .NET: If a file to be protected is write-protected in future a unique and substantive error message displays.

Bugfixes

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 48 of 74

FB15350: User Message DLL: The icon type (info, warning, error) is now encoded into the status and is interpretable in the UserMsg-Dll/SO/Dylib.

FB13897: AxProtector: The automatic implementation of the date format is now supported.

FB14824: AxProtector: The WUPI section is also written to the wbc file in the case the checkbox 'IxProtector/WUPI' has not been activated.

FB13963: AxProtector for Windows: On Windows CE systems exist which do not integrate Thread Management. On this systems automatically encrypted applications did not work. This has been remedied.

FB13784: AxProtector for Windows: Flash applications generated by a newer Adobe Director version did not work. Here appendix handling was adapted so that flash applications now run again with AxProtector.

FB13908: AxProtector for Windows: Partly the file encryption on Windows 7 did not work because operating system functions were shifted to other system DLL's.

FB14945: AxProtector for Windows: AxProtector now features automatic encryption of applications generated by a Watcom compiler.

FB13461: AxProtector for Windows: When encrypting files the command CreateFile() resulted in a wrong exception handling not corresponding to the original.

FB13425: AxProtector for Windows: If an application is protected with IxProtector only it will not halt in the case codemeter.exe does not run.

FB15432: AxProtector for Mac: The compatibility of automatic encryption to Objective-C applications on Mac OS X has been improved.

FB14156: AxProtector for Mac: The loading of several Dylibs / Bundles automatically protected using option '-x' (static CM / WK API) into the same processing space on OS X resulted in a crash due to an access error to the shared memory. This has been remedied. In addition, now protected Dylibs / Bundles can be loaded and unloaded several times.

FB13912: AxProtector for .NET: Ignoring custom attributes on error reading is now also implemented when using option '-extract'.

FB13443: AxProtector for .NET: 'Nullable<T>' as parameter of a method is now allows to have a default value of null.

FB14473: AxProtector for .NET: A method without name space is now correctly encrypted and decrypted.

FB13693: AxProtector for Linux: Ubuntu 10.04 – The reallocation of licenses and the crash when exiting protected applications have been remedied.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 49 of 74

FB14932: AxProtector for Linux: The crash of applications (on Ubuntu >= 10.10) on a runtime check has been remedied. The reallocation of licenses on exiting applications without runtime check has been corrected.

FB14121: AxProtector for Java: A program protected using WibuKey started despite an expired expiration time.

FB13563: AxProtector: On specifying WupiReadData parameters in the wbc file only the misspelled parameter "HiddenDataAcessCode" was accepted. In future also the correct spelling "HiddenDataAccessCode" is accepted.

XPM 7.11d

Release Date

2011-Aug-24

Bugfixes

FB15017: AxProtector for Linux: The UserMsgDll or the shared object is now searched first in the application directory and then in the working directory. FB14132: AxProtector for Java: Depending on encryption options protected applications eventually crashed. FB15048: AxProtector for Java: The sporadically occurring error 'Invalid encryption system' has been resolved.

XPM 7.11c

Release Date

2011-Jul-08

Based on the release for CodeMeter 4.30c AxProtector 7.11c is released. No changes have been done.

XPM 7.11b

Release Date

2011-Jun-08

Bugfixes

FB13415: AxProtector for .NET: On starting a Silverlight application an exception occurred.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 50 of 74

FB13705: AxProtector for .NET: Using the option -ec caused an ArgumentNullException if a class had no constructor. FB13817: Samples: After an update of version 7.11 to version 7.11a the samples were missing. For any update from 7.11 (CodeMeter 4.30) to a newer version it is necessary to run the installation a second time (repair installation) to recover the samples.

XPM 7.11a

Release Date

2011-May-17

Bugfixes

FB13454: AxProtector: Installer: After the initial, successful installation of AxProtector reinstalling resulted in uninstalling but not in repair installation.

FB13424: AxProtector GUI: The specified path information on the page "Advanced Settings" was not completely transferred to encrypting although double quotes were used.

FB13427: AxProtector GUI: In the case of Java projects, the option "PlugOut" on page "Runtime Settings" was not deactivated.

FB13460: AxProtector for Java: On encrypting using the default parameter "Firmware 1.0" (-fw:1.0) no dependency to a new runtime version is set.

XPM 7.11

Release Date

2011-April-20

New

AxProtector Variants now support new PIO Maintenance Period The Maintenance Period stores an absolute time-span into the CmStick. Then the use of a license is limited to software versions which have been created, i.e. released, within this period. The new PIO has been introduced for all AxProtectors and IxProtectors. Requires CodeMeter Firmware version 1.18 or higher. The first version of automatic protection for VxWorks (x86 + ppc) is available.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 51 of 74

AxProtector for Windows now automatically protects also Windows CE Executables and DLL's for the platforms x86 and ARMV4I . New Features FB10090: The operating system Windows 7 required internal changes of some functionalities. FB11458: AxProtector: A protected application now searches for the UserMsg.dll without requiring the specification additional country code (Us, De, etc.). FB12820: AxProtector GUI: The default protection on the page 'Security options' has been increased for native AxProtectors. In addition to resource encryption also static and dynamic modification are activated. FB12896: AxProtector for Windows: Introducing the option '-cce' again allows debugging of encrypted applications. FB9930: AxProtector for Windows: In future the output of 'LicenseList 0' information is omitted if not set by the user. FB11991: AxProtector for Windows: Introducing the option '-cco' to allow protecting and executing ActiveX / OCX DLL images. FB5249: AxProtector for Windows / Mac / Linux: Protected applications cannot be encrypted twice. FB5673: AxProtector for Windows: In future the Delphi IDE is again detected as debugger. FB9278: AxProtector for .NET: Introducing the option '-ec' to allow the encryption of class constructors in .NET (MSIL) code. FB9487: AxProtector for .NET: If reading out methods results in an error in future an error message displays. FB11157: AxProtector for .NET: If necessary AxProtector for .NET automatically switches to 32 bit. FB9417: AxProtector for .NET: Introducing the option '-extract' allows to extract methods from a .NET Assembly. FB8686: AxProtector for Linux: glibc dependencies of protected Linux applications have been improved to allow executing also on systems with glibc version 2.2. FB12116: AxProtector for Linux: AxProtector now also protects and executes applications of older Linux distributions, e.g. RHEL 4.5. FB6706: AxProtector: IxProtector: On calling 'WupiFreeLicense' a value of 0 is returned if the license release was not successful, e.g. on loosing network connect, or if a license was not or could not be allocated. FB6710: AxProtector: IxProtector: On using of 'WupiEncryptCode' no access to the licensing system or a license is performed. Rather the encrypted code previously cached by using 'WupiDecryptCode' overwrites the decrypted memory area.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 52 of 74

Bugfixes

FB10339: AxProtector for Windows: In a protected DLL memory leaks existed if it was unloaded and the reloaded. FB13155: AxProtector for Windows: The option '-g' (define excluded range) did not work properly starting with version 7.10. FB13127: AxProtector for Windows: Using the plug out check ('-cae') the ignore behavior of the runtime check ('-car') was delayed. This was caused by network timeouts in the WibuCm. FB10165: AxProtector for Windows: The error message Error AXP1013 now displays more detailed information on the file which has n privileges. FB4520: AxProtector for Windows: Using the option '-ccs' did not result in searching on the same PC with the same copy protection hardware for a matching license corresponding to the initial license. FB12297: AxProtector for Windows: Encrypted Win32 applications returned error "CodeMeter 10:13 ... Error 30." if CodeMeter Runtime Version 3.30 was used. FB12609: AxProtector for .NET: 'WupiQueryInfo(ExpTime)' for WibuKey now returns number of seconds since 2000-01-01 (as it has been the case with CodeMeter). FB11881: AxProtector for .NET: Throwing a NullReferenceException in case of minimum driver version (-d) smaller than CodeMeter Version3.30 was remedied. FB12875: AxProtector for .NET: On using 'CmAccess2()' the assembly name is transferred to CodeMeter and displayed in CodeMeter WebAdmin in the area license details. FB12407: AxProtector for .NET: Now multiple calling of'SetCompatibleTextRenderingDefault()' now no longer throws an 'InvalidOperationException'. FB11125, 12719: AxProtector for .NET: On executing an encrypted .NET application using generics a crash occurred. FB11335: AxProtector for .NET: AxProtectorNet does not start if only .NET Framework 4 is installed. FB11618: AxProtector for .NET: An application did not shut down after using an encrypted DLL. FB11168: AxProtector for .NET: Several applications needed considerable time to shut down. FB13176: AxProtector for .NET: New default warning text for expiration time soon to expire. FB10424: AxProtector for .NET: By default, the logging is stored to '%APPDATA%\<AssemblyName>\<AssemblyName>.log'./ FB12416: AxProtector for .NET: Problems with Enums in the custom attributes occurred. FB11421: AxProtector for Java: Encrypted servlet did not start. FB13177: AxProtector for Java: New default warning text for expiration time and usage period.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 53 of 74

FB12367: AxProtector for Mac: Protected Java applications did not start in 32 bit mode with Java 6 Update 22. FB12317: AxProtector for Linux: On encryption using WibuKey a Segmentation Fault occurred if the matching Firm Security Boy entry did not exist, the Firm Code did not exist in the 'WkFirm.wbc' file, or the improper algorithm was specified. This requires a new 'WkFirmLin(64)'.so. FB11513: AxProtector for Linux: In the case of encrypted applications with activated runtime check and newer glibcs on exiting the application a Segmentation Fault occurred. FB8856: AxProtector for Linux: When protecting Linux application activating a runtime check is no longer mandatory. The previous setting resulted in a Segmentation Fault when exiting the application. FB12018: AxProtector: File encryption: Protecting and playing Flash based applications is again possible. FB12648: AxProtector: File encryption: The writing of data now works properly if data was changed and parts of the data were deleted.

XPM 7.10

Release Date

2010-December-22

New Features

FB9110, FB11142: AxProtector: Introducing the new firmware option '-fw:<firmware x.y>'. Parameters x.y represent the minimum firmware version x.y (default: 1.0). FB9174: AxProtector for Windows: Using AxProtector.exe setting the option '-ccx' now allows also to encrypt .NET assemblies including mixed-mode assemblies. This features encrypting all .NET assemblies which cannot be encrypted using AxProtector for .NET. FB9189: AxProtector for Windows: Next to Win32 also Win64/x64 mixed-mode assemblies can be encrypted using the native AxProtector. The option '-ccx' must be set. FB6685: AxProtector for Windows: Applications using static thread local storage (TLS) are now protected more safely. FB10760: AxProtector for Windows: Increased security in the areas API redirecting and hooking by enhancing of new API functions. FB7822: AxProtector for Windows: Automatic expansion of PE headers. In the case a PE header of an application could not provide sufficient space for increasing security, the PE header expands. FB9123: AxProtector for Windows: The option '-cch‘ forecloses all global hooking in a protected application. FB4722: AxProtector for Windows: The performance with dynamic hooking at runtime of an protected application has been improved.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 54 of 74

FB6770: AxProtector for .NET: Increased security by extended obfuscation and internal redesign. FB9045: AxProtector for .NET: Redesign of the UserMessage in .NET. Introduction of the UserMessage DLL file and the option '-um‘. The User Message DLL is independent from the encrypted assembly. A single DLL may be used for several assemblies. In addition, the User Message DLL must not be re-translated when the assembly is re-translated or encrypted. A localization of the DLL is feasible. FB8586: AxProtector for .NET: With the new option -cml<n> you are able to exclude methods from encryption which are smaller than <n> bytes. The default value is 10. By setting a value of 0 this feature is deactivated. FB9288: AxProtector for .NET: Overloaded methods now can be encrypted separately. FB9668: AxProtector for .NET: Using the option '-v1' outputs the content of the used config files following the section of the commandline options. FB9238: AxProtector for .NET: The error messages on encrypting of not .NET files have been improved. FB9685: AxProtector for Mac: AxProtector now also encrypts and executes applications / dylibs (i386 + x86_64) compiled for Mac OS 10.6 only.

Bugfixes

FB3398: AxProtector Installer: AxProtector Merge Module Installer: Now the extension "WibuAxProject" is registered by the Installer. FB8813: AxProtector for Windows: On starting a protected application using the mobile CodeMeter.exe eventually issued an error message that the CodeMeter Runtime is not installed. This message will no longer appear. FB8963: AxProtector for Windows: The Advanced Protection Scheme APS2/4 (option '-caa2/8' - static code modification) in future will also work with relocatable applications / DLLs, in particular with applications compiled with VC10. FB9347: AxProtector for Windows: The explicit unloading of a protected DLL eventually resulted in a application crash (runtime error R6030 - CRT not initialized). FB9855: AxProtector for Windows: The file encryption on Windows 7 eventually did not work properly. FB10345: AxProtector for Windows: In the case of a deactivated CmStick entry error 106 (invalid handle) instead of error 53 (Firm Item disabled) was issued. FB11321: AxProtector for Windows: On Windows 7 the Advanced Protection SchemeADC6 (option '-cag32' / generic debugger) caused an access violation (0xc0000005). FB10241: AxProtector for Windows: On setting option '-eui' (UnitCounter ignored) a lapsed Unit Counter triggered an error message. FB10612: AxProtector for Windows: The option '-cci' (ImportTable Merge) caused an access violation (0xc0000005) in the case of images created with Borland compiler.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 55 of 74

FB11232: AxProtector for Windows: The detection of virtual machines (VM) eventually caused an access violation while periodically checking at runtime for VMs. FB11277: AxProtector for Windows: Exiting an application which used a protected DLL eventually caused an application freeze. FB10440: AxProtector for Windows: A protected application eventually did not start when importing a DLL from which no functions were used. FB10468: AxProtector for Windows: In the case an application was protected with CodeMeter and WibuKey, a misleading error message was issued when a matching entry was not found and only the CodeMeter Runtime was installed. FB6861: AxProtector for Windows: The parameter GENERIC_WRITE was not interpreted or internally set properly when encrypting a data file using CreateFile resulting in an inconsistent behavior compared to the un-encrypted application. FB9152: AxProtector for Windows: On using file encryption the command WriteFile() can also be executed without the requirement to read the complete file. FB9914: AxProtector for Windows: On using file encryption merging did not work properly when a file type was defined several times. FB10076: AxProtector for Windows: Using file encryption and several CreateFile() calls did not result in context thread switches causing incorrect application behavior. FB10849: AxProtector for Windows: On using file encryption eventually problems occurred with file writing, in the case the file not yet existed and had to be created. FB10917: IxProtector for Windows: The new option '-cih' exists to prevent slowing down an application which uses IxProtector / WUPI. The option prevents the search for dynamically loaded WupiXXX functions. FB11237: IxProtector for Windows: After an automatic cleanup of a CmStick handle the command WupiDecryptCode could no longer be executed. FB9256: User Message DLL: On using the UsrMsg.DLL an error was corrected causing a wrong display of Russian texts on many computer. FB10945: AxProtector for Mac: Mac OS X 10.5 (i386 & ppc)-compatible applications could eventually not be encrypted in the case they featured relocations. FB10218: AxProtector for Linux: Although encrypting Linux applications bigger than 16.7 MB was possible starting the application eventually resulted in a crash. In future theoretically applications sizes of more than 4 GB are feasible. FB8856: AxProtector for Linux: Protected Linux application no longer require the activation of a runtime check. Previously exiting the application caused an segmentation fault. FB4760: AxProtector for .NET: In the case of inline messages the handling for SetUnhandledExceptionMode() is introduced. FB5822: AxProtector for .NET: The sections [CM_StartMessage] and [WK_StartMessage] in the UserMessage.ini file are now commented out preventing the default start message. FB8665: AxProtector for .NET: After borrowing a CmAct borrow license the command WupiCheckLicenseId() fails with error CM10 (option undefined).

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 56 of 74

FB9669: AxProtector for .NET: The exception handling in the XML parser has been improved. FB9670: AxProtector for .NET: A licensing attribute of an overloaded method was also used for all other methods of the same name. FB9313: AxProtector for .NET: The protected assembly throws an System.IO.FileNotFoundException, in the case a UserMessage DLL is not found. FB9199: AxProtector for .NET: The readout of initializing data has been improved. FB9380: AxProtector for .NET: In the case a WibuCmNET.dll does not exist, an error message not instantly displays but it is proceeded with the next license. FB10142: AxProtector for .NET: In the case a WkWin32/64.dll does not exists a DllNotFoundException is not thrown. FB10344: AxProtector for .NET: .NET 3.5 and .NET 4.0 assemblies behave differently. The new flag '-LegacyV2Runtime' activates the LegacyV2Runtime Policy. FB10023: AxProtector for .NET: Errors on reading out the Usage Period were fixed. FB10854: AxProtector for .NET: The generic type as parameter of a method of a generic class was not properly resolved. FB10871: AxProtector for .NET: The ArgumentException on encrypting was fixed in the case the default parameter was of type Enum. FB10871: AxProtector for .NET: In the cases of Expiration Time warning and Unit Counter warning the placeholders in the text were not always replaced by the actual values. FB11001: AxProtector for .NET: The Debugger check option '-cag1' (Anti-Debugger-Check) has been improved. FB9838: AxProtector for Java: Protected applications on Mac OS X 10.4 eventually crashed. FB9860: AxProtector for Java: Incorrect return values in MessageHandler::errorNoLicense() have been fixed. FB9862: AxProtector for Java: The option '-cag0' now also deactivates the callback manipulation check. FB9999: AxProtector for Java: A setting back the system clock always resulted in an application exit. FB10911: AxProtector for Java: The option '-joa' for adding further *.jar archives eventually did not work due to namespace conflicts. FB9109: AxProtector for Java: The JVMTI detection is now deactivated when using the option '-cag0'. FB11004: AxProtector for Java: Errors eventually resulting from signature loading using the WIBU SystemClassLoader are fixed. FB11256: AxProtector for Java: Protected WebStart applications did not start. FB11334: AxProtector for Java: The encryption using JarInJarLoader did not work.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 57 of 74

XPM 7.01

Release Date

2010-July-02

Info

New Features

FB6439: AxProtector for .NET: Now the NET 4.0 Framework is supported. The new variant AxProtectorNet4.exe is able to handle .NET 4.0 assemblies. The AxProtector for .NET 2.0 automatically starts the AxProtector for .NET 4.0 on trying to encrypt a .NET 4.0 assembly. FB9435: AxProtector for .NET: With the new option -cml<n> you are able to exclude methods from encryption which are smaller than <n> bytes. The default value is 10. By setting a value of 0 this feature is deactivated.

Bugfixes

FB9151: AxProtector for .NET: In the case in a .NET project the option to set the Certified Time (-cat) was used while setting the mimum version to 4.0 or newer the protected assembly crashed. FB9111: AxProtector for .NET: Strong names specified in the AxProtector GUI or in the *.xml file were not found. FB8956: AxProtector for .NET: Reading methods in the AxProtector GUI did not work in the case WUPI was used, a method was not implemented, or a property had no 'get' method. FB9163: AxProtector for .NET: Processing of generic types have been improved. Under certain circumstances a crash at runtime ocurred. FB9043: AxProtector for .NET: Loading a non-language-specific UserMessage DLL caused an infinite loop. FB9250: AxProtector for .NET: An error concerning the access methods on the property of a structure was solved. FB9471: AxProtector for .NET: Eventually the explicite exclusion of functions from encrypting did not work. Not in all cases the attribute [WupiEngine.Licensing(Encryption = false)] was correctly interpreted. FB9194: AxProtector for .NET: On a black or whitelist the class name of 'generic' classes can be specified both with the postfix 1, 2, etc generated by the compiler and without. FB9212: AxProtector for .NET: An errror on recursive calling a generic method was solved. FB9376: AxProtector for .NET: Properties were encrypted in a assembly although the option -cpa was set.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 58 of 74

XPM 7.00

Release Date

2010-May-03

Info

FB5942: AxProtector: The Chinese localization of the AxProtector user interface has been revised. FB8594: AxProtector: The German AxProtector help has been removed. FB4726: AxProtector for Java: The English error message texts have been improved. FB6144: AxProtector for .NET: The error code 100001 has been changed to 100010.

New Features

FB8356: AxProtector for Mac: The plugin mode (-i) now is also supported under Mac OS. However, in contrast to Windows the LoadCode has to be modified. FB3594, 6346: AxProtector for Linux: Automatic encryption with AxProtector now works also for 32 bit and 64 bit Linux applications (ELF). Encrypting works either on Linux using the new application AxProtectorLin or AxProtectorLin64 or on Windows operating systems. Under Linux the AxProtector is now part of the SDK Installers. FB8680: AxProtector: Using the option -ridixX[Y] the global standardized setting of the number of RID variants for IxProtector/WUPI licensesis feasible. FB6353: AxProtector: The file encryption now allows to encrypt data with a size up to 4 GB. FB6472: AxProtector: For file encryption the new option -cd[h] has been introduced. It features a handle for the file which is kept open until the player application closes. The option works for separate single files. FB3814: AxProtector: The detection that a CmStick has been removed from the PC (-cae) is now also available for Mac applications. FB6691: AxProtector: In the case of API redirecting ( options -x -ci), the new function CmExecuteRemoteUpdate() is redirected into the AxEngine. FB6734: AxProtector: WUPI has been extended by the functions WupiReadDataIntegerId() and WupiReadDataId(). This allows the reading of data from a CmStick / WibuBox. FB5239, FB6423: AxProtector: Detecting and preventing PC time manipulations have been further improved. The option -CAZ saves the time of encryption within the protected application. Then the application runs only in the case that the PC time is younger. On using the new option -CACt[,u] the application runs only when in a defined time window the PC time is t minutes younger and, optionally, u minutes older than the CmStick system time. FB7184: AxProtector: The minimum required Firmware version can be defined using the commandline (option -fw) and the *.wbc file. FB7811: UserMessage: The DLL now supports also the languages Japanese and Russian.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 59 of 74

FB6425: UserMessage: The DLL now supports the new error code CPS_SYSTIME_DIFFERTOOMUCH. FB4262: UserMessage: The *.ini file of the both variants "native Windows" and ".NET" are now compatible referring to content and file names (country languages). FB4834: AxProtector for .NET: The feature of attribute licensing allows to define in the source code which classes or methods are encrypted using which LicenseList. FB6727: AxProtector for .NET: Improved security by call stack check in the AxEngine. FB6925: AxProtector for .NET: The internal (pseudo) random number generator is now able to be initialized using defined values ( options -RR, -RF:s, -RV). FB6726: AxProtector for .NET: The new option –trap is introduced to set traps for cracker resulting in the locking of the Firm Item. FB6512: AxProtector for .NET: The options CheckAutoReconnect and SwitchLicense have been introduced. FB3783: AxProtector for Java: The AxProtector Java now also processes *.wbc files in order to transfer parameter.

Bugfixes

FB4236: AxProtector: Applications protected with WibuKey using the static API (option -x) will not return error 105, in the case that on Windows 64 bit systems a different than the default port 22347 has been used. FB6953: AxProtector: The number of license lists in a *.wbc file has been increased from 32 to 128. FB5696: AxProtector: The exception handling on CmCheckEvents (option -cae) has been improved. FB5263: AxProtector: The file encryption has been improved now also covering encrypting Access 2007 databases. FB6543: AxProtector: On encrypting resources (option -caa1) in future string variables are correctly terminated. FB5883: AxProtector: In the case of frequent loading / unloading of a protected DLL (more than 1,000 times), the application in future will not crash. FB4789: AxProtector: The option -ccq has been introduced. This clears license usage of the protected application not with WM_QUIT but with ExitProcess(). FB2249: AxProtector: The calculation of lengths of functions protected with IxProtector for applications compiled with gcc on Mac has been improved. FB8545: AxProtector: CodeMeter error messages on encrypting applications have been improved.. FB7578: AxProtector: The detection of protected functions (option -ci) has been improved, especially in the case of optimized applications. FB7217: AxProtector: The -m options for encrypted Mac OS X applications now will works as with Windows applications.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 60 of 74

FB7724: AxProtector: When using P/WUPI for protecting applications license allocations not necessary are avoided. FB5651: AxProtector: The unloading of DLLs protected with AxProtector has been basically revised and improved. Licenses are now released on calling DllMain()/DLL_PROCESS_DETACH. FB6926: AxProtector: The maximum specification of the Unit Counter (option -euXX) has been limited to a value of 9999. This corresponds to the upper limit the Firmware is able to handle. FB8058: UserMessage: In the case two processes were to write to the same UserMsg log file, the protected application eventually crashed. FB7974: UserMessage: The DLL for a Win64 application is now copied to the target directory also under Win32 systems. FB8617: UserMessage: In the case a license featured an Expiration Time or a Usage Period too long in the future, eventually an overflow occurred and the license was defined as expired. FB8180: UserMessage: Wrong calculation of the remaining time for Expiration Time settings for WibuKey has been corrected. FB5420: AxProtector for .NET: Deficient threshold warnings for Usage Period, Expiration Time, and Unit Counters have been corrected. FB8352: AxProtector for .NET: When using the options -i oder –ci AxProtectorNet.exe copies the wupi.net.dll file into the output directory. FB4760: AxProtector for .NET: The handling for SetUnhandledExceptionMode() has been integrated. FB8574: AxProtector for .NET: The handling of SetCompatibleTextRenderingDefault() in GUI applications has been improved. FB8675 AxProtector for .NET: On error the runtime check does not throw an immediate WupiException but only on calling the next encrypted method. FB8265: UserMessage .NET: The example has been adapted to the new UserMessage interface. FB5822: UserMessage .NET: The parts [CM_StartMessage] and [WK_StartMessage] have been commented in the UserMessage.ini file to avoid the display of the default start message.

XPM 6.51

Release Date

2009-Oct-19

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 61 of 74

New Features

FB3728: AxProtector: The description of the license lists is now transferred as a comment to the wbc-file. FB5512, FB5870: AxProtector for Java: Signatures for Java 6 Update 15 / 16 have been added. FB6056: AxProtector for .NET: Specifying path names in the XML project file is now able with or without double quotes. FB84: AxProtector for .NET: New option -i: In the case of a copy protection error, now a WupiException is thrown instead of terminating the process. The WupiException holds additional information on the error and the license which caused the error.

Bugfixes

FB5819: AxProtector: The filter in the project type dialog were not correct for all combinations of language settings and project types. FB5672: The AxProtector language files are updated on an update installation. FB2311: AxProtector for Java: On encryption with WibuKey under Mac OS X / Linux AxProtector crashed in case of a missing FSB / WkFirm.wbc. FB5588: AxProtector for Java: The download of the signature file (WibuVm.jar) now also works in the case of narrow band Internet connections. FB6365: AxProtector for Java: Under Java 64 bit encryption for WibuKey only worked with the Test Firm Code 10. FB5485: AxProtector for .NET: Enums declared within a generic class are now correctly processed. FB6312: AxProtector for .NET: Finalize methods on exiting encrypted applications were not called. FB5732: AxProtector for .NET: The command ldtoken (0xd0) now is able to handle constructors. FB5836: AxProtector for .NET: The sequence of methods in interfaces always remains invariant. FB5812: AxProtector for .NET: Custom attributes of return parameters are correctly set in the encrypted assembly.

XPM 6.50

Release Date

2009-Aug-06

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 62 of 74

New Features

FB3998: AxProtector: Localization of AxProtector / Licensor Center graphical user interfaces (GUI) in Chinese and Japanese. FB3727: AxProtector: Using the commandline option "-cci" now allows to use a protected application in a way that the added protection does not change the loading sequence of the DLL files. This omits the option "-ccm". FB2399: AxProtector for Mac: Now also application are protected which have been designed for Mac OS X 10.5 and higher. FB12: AxProtector for Mac: In future using WUPI and IxProtector in the case of Mac OS X, applications will be directly processed in the protected application, and not in a separate library. FB4478: AxProtector for .NET: In case a specified namespace, class or method is not found in the assembly, after the decryption a warning message displays. FB4827: AxProtector for .NET: On using Inline UserMessages logs will be saved to %CommonApplicationData%. You are able to specify alternative path information in the INI-file using the LogPath=<Path> specifier. FB3516: AxProtector for .NET: WUPI and IxProtector can be used with an empty LicenseList 0, i.e. without automatic encryption. In this case, e.g. using WUPI without encryption becomes an option. FB64: AxProtector for .NET: Commandline parameters are able to be specified in the XML-File. FB5431: AxProtector, AxProtector for .NET: The layout of the error dialog has been revised. FB4712: AxProtector for Java: Signatures for Java 6 Update 14 have been integrated.

Bugfixes

FB3357: AxProtector: Within a protected application, in the case of a CodeMeter license the command CmAccess() only one-time accessed the license entry. FB4580: AxProtector: Now the UserMsg.dll is also called for 64 bit applications. FB4291: AxProtector: Exiting a protected application in certain circumstances resulted in a crash. FB4316: AxProtector: On exiting, a protected application running in a debugger issued the message "Access Violations". FB4151: AxProtector: In case of a wrong CodeMeter Runtime version the protected application returned the error 125 to the UserMessage Dll, although error 100000 had been expected. FB4321: AxProtector: The warning messages issued for the AxProtector console output have been revised. FB4268: AxProtector: The automatic calculation of the function length in IxProtector has been improved.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 63 of 74

FB3428: AxProtector: The number of ignores were not correct in the case an expiration time exceeded. FB4422: AxProtector: Protected programs which used dynamic hooking (-ci, -caa1, -caa4) in certain circumstances crashed in the case functions, such as LoadLibrary() or removeDirectory() had been used. FB4188, 4348: AxProtector: In the case a protected module featured Relocations, in certain circumstances it occurred that the final relocation of a block or of the complete RelocationTable were not written correctly. FB4371: AxProtector: In the case of protected 64 bit applications and the use of the option „–ci“ in certain circumstances not all Wupi-/Cm-/Wkb functions were redirected. FB4562: AxProtector: In cases where neither WibuKey, nor CodeMeter had been installed, an application protected only by IxProtector returned an empty error message. FB2317: AxProtector: WupiAllocateLicense returned TRUE, although only a single license existed set to inactive by an ActivationTime. FB4636: AxProtector: Within an automatically protected program deadlocks occurred in the case the options -ci and -caa4 had been set. FB4723: AxProtector: Using WupiQueryInfo() the default license was allocated when an error occurred on starting. FB4796: AxProtector: The parallel execution of WUPI functions and of runtime checks for the automatically protected part in certain circumstances resulted in problems. FB3795: AxProtector: The file encyroption did not worrk correctly in the case the application accesssed the device identifier \\?\root#system. FB4521: AxProtector: The file encyroption did not worrk correctly in the case the application worked with mail slots. FB5404: AxProtector: In the warning dialog of the UserMessage.Dll of AxProtector: in the warning dialog of the ExpirationTime a Cancel button existed. FB4213: AxProtector for .NET: A key cointainer now can be used for signing an encrypted assembly (option -snkn:Name). FB4097: AxProtector for .NET: Methods which hold try/fault blocks are not encrypted. A warning is displayed. FB4304: AxProtector for .NET: Methods which hold try/finally blocks are not encrypted only in cases when a throw exists in the try block. FB4047: AxProtector for .NET: WupiFreeLicense(0) is no longer permitted, but neither an error occurs. FB3718: AxProtector for .NET: Improved handling of generics FB3838: AxProtector for .NET: A method of a generic class holding parameter of the type generic was not found during runtime. This resulted in an ArgumentNullException. FB4935: AxProtector for .NET: The XML configuration file is searched for in the current directory. FB4732: AxProtector for .NET: Some constants and enumerations have been changed in the wupi.net.dll file.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 64 of 74

FB4783: AxProtector for .NET: Warning texts have been revised, improved, and customized to AxProtector. FB3546: AxProtector for .NET: In the case the WibuBox used did not support the required algorithm, a wrong error message was issued. FB3550: AxProtector for .NET: In case of a failed runtime check, the "retry" setting did not influence the specified number of possible "ignores". FB5272: AxProtector for .NET: WupiQueryInfo(UsagePeriod) now returns the remaining time in seconds, and not the originally programmed period. FB5197: AxProtector for Java: For Java 6 on Mac OS X now also a UserMessage class can be used. FB4917: AxProtector for Java: No deadlock will occur executing a protected application in the case many threads will simultaneously load encrypted classes. FB5351: AxProtector for Java: Encryption using WibuKey on Mac OS X did not work ("WK 1001 WkFirmMacX.dylib not found").

XPM 6.40c

Release Date

2009-April-09

Bugfixes

FB3488: AxProtector: On applying "huge file mode" for FileEncryption the application crashed under certain conditions. Moreover, problems ocurred whil reading intermediately created files. FB3775: AxProtector: In future, WUPI also works with applications generated by PowerBuilder. Here encrypting the application did not work. FB3759: AxProtector: In case of a protected WibuKey application internally some API Calls were not executed at the correct level (WKB_STDCTRL). FB3054: AxProtector: Now, within a control file (wbc file) transferred to AxProtector.exe any kind of comments can follow the specified parameter. FB3015: AxProtector: Encrypted DLLs (32- & 64-Bit) now may be renamed after encryption. FB3748: AxProtector for .NET: Encrypted application did not display Icons. FB3657: Using WibuKey AxProtector for .NET: WupiQueryInfo() did not return the serial number.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 65 of 74

XPM 6.40b

Release Date

2009-March-23

Bugfixes

FB3455: AxProtector: "Huge file mode" possibly caused a CPU load of more than 50% with applications using FileEncryption. FB3296: AxProtector: In case of expired ExpirationTime or non-valid ActivationTime a protectee abortet on pressing Retry. FB3367: AxProtector: In case a file holding no content was created, this file was not correctly processed on re-opening then holding content. FB3298: AxProtector for .NET: In case a log file is not able to be created, a warning is issued, and the logging is deactivated. FB3194: AxProtector for .NET: Type constraints of generic parameters now are correctly transferred.

XPM 6.40a

Release Date

2009-March-03

Bugfixes

FB3444: AxProtector for .NET: Using network licenses now works again.

XPM 6.40

Release Date

2009-March-02

New Features

FB18: AxProtector for .NET now also supports WUPI + IxProtector. FB3100: AxProtector: WUPI provides a detailled error handling using WupiQueryInfo()/WupiQIMappedLastError and transferring WibuKey errors to CodeMeter errors. FB119: AxProtector: CmAccess() & WkbAccess2() buffer the server list in case several LAN accesses exist.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 66 of 74

FB3180: AxProtector: WupiQueryInfo() was extended by the flag WupiQICopyProtectionSystem. It holds the same functionality as WupiGetLicenseType().

Bugfixes

FB3056: AxProtector: On function encryption using WUPI functions are to be defined with the new macro WUPIDECLFUNC, and data with the macro WUPIDECLDATA. Partly the compiler optimization is deactivated for these areas. FB3058: AxProtector for .NET: Bugfix: The MSIL command "ldtoken method ..." was not correctly triggered at runtime. A NullReferenceException was issued at runtime.

XPM 6.30a

Release Date

2008-Dec-19

AxProtector

• Bugfix #1364: In Plugin Mode (Option –i) under Vista the application shut down, in case the Plugin DLL was not loaded due to a missing license at runtime.

• Bugfix #1374: In some cases a retry was not successful. • Bugfix #1379: In advanced project types the advanced options were not passed to

the AxProtector.

AxProtector for Java

• Bugfix # 1358 – Archives protected with the preceding version did not start.

XPM 6.30

Release Date

2008-Dec-02

AxProtector

• Feature: With option –ccs all licenses in one specific CmStick/WibuBox have to originate from the same PC for which the first license was found.

• Feature: The option –ma:“AppName“ was implemented. This allows to define the name of the application which is transferred to the server, and then displayed in WebAdmin.

• Feature: The option –mi was implemented. Here the user is able to define an error message issued when the required runtime/driver of the copy protection system has not been installed. The error code transferred to the User Message DLL

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 67 of 74

corresponds to the already existing WUPI error code wibu::UpiErrorLicenseModuleNotLoaded.

• Feature: The option –mwc was implemented. When in case of the activated option –wc<t> the Certified Time differs too much from the System Time, the text as set in –mwc is displayed.

• Feature: The option –mwp was implemented. This allows to issue a warning text when starting an application for which an existing usage period has not yet been activated.

• Feature: File encryption has been fundamentally revised. It is now possible to separately configure the creation of files and the overwriting of existing files. In case of several loaded protected files the most restrictive rule for saving operations apply.

• Feature: The option –cad2 in FileEncryption now prohibits that the protected application at all is able to write data to the disk (only viewing). Here all kind of writing into a file is prevented.

• Feature: With the option –cad4 now also files of big size (e.g. 500 MB MPG3 files) are subject to be used in FileEncryption (read and decrypt on demand). In this mode, the writing (back) of files is deactivated on principle.

• Feature: WupiQueryInfo/Id(WupiQIUsagePeriod) returns the information on the period until a usage period expires.

• Feature: WUPI now is also supported on Mac and Linux operating systems (option –cid). This is currently managed by using a dynamically loaded variant.

• Feature: The user message DLL now has two new functions. With SetAccessData() you can specify some parameter before first accessing a copy protection system, e.g. server name or serial number. The parameter actually used you readout with QueryAccessData() after the first access to a copy protection system. This mechanism, for example, provides that also reloaded DLL use the same CmStick.

• Enhancement: The existing security mechanism were enhanced and improved. • Enhancement: The Anti-Debug-Checks (ADC) were updated and enhanced. • Enhancement: In future, customized error messages may hold line breaks, tabs,

inverted comma, etc. (option –m). Simply by inserting „\n“, „\r“, „\t“, „\“ in the string at the favored position.

• Enhancement: In future, option –wt will not only output a warning for the usage period but also for the activated usage period.

• Enhancement: The number of functions admissible for encryption has been increased from 32 to 128.

• Enhancement: In case of encrypting a .NET assembly, in future a telling error message will display.

• Enhancement: For VB6 applications which have been encrypted using options –x and –ci now all needed functions will be re-directed to a separate static library.

• Enhancement: The creation of the log file (option –#) has been redesigned. Now, also the log path can be specified.

• Enhancement: In future, only the index-based WUPI is supported. For legacy applications using the pointer-based WUPI additional header files are provided for continuing use. Next to calls with the suffix "Id", index-based WUPI functions now may be addressed without this suffix.

• Enhancement: In case the user message DLL exists, the startup message is always transferred to the user message DLL. In case a user message DLL does not exist, the startup message is displayed only, when explicitly defined with a text using option –ms.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 68 of 74

• Enhancement: Using a new function GetXpmVersion() in the user message DLL,

now the used automatic encryption version may be checked. • Enhancement: For CodeMeterAct a special exception handling was introduced in

case a CmAct license not activated exists. This license then may be activated by using a configured or customized user message DLL.

• Enhancement: So far, in case an exe- or a dll file held relocations the length of the encrypted data for a function in IxProtector was limited to 64 bytes. This limit has been completely removed.

• Enhancement: In case a function to be encrypted in the export table of IxProtector should not be unique, in future a telling error message will be issued.

• Bugfix: In future, length specifications in IxProtector will also accept spaces between the number and the per cent character (e.g.length = 100)

• Bugfix: An error is returned by AxProtector.exe, in case a function in IxProtector is not uniquely found in the export table (#1132).

• Bugfix: So far, in case a FeatureCode was greater than 2^30 it was issued as a negative value in the console window. In future, it will be issued as a hexadecimal value.

• Bugfix: On WupiQueryInfo(WupiQIExpTime) using WibuKey the remaining time will be returned in seconds since 2000.01.01 (#1187).

• Bugfix: FileEncryption encompasses several improvements to provide a better compatibility with standard applications, e.g. Excel.

• Bugfix: The changed export table was often corrupted, in case other than IxProtector entries existed (#1177).

• Bugfix: The command line parsing was internally revised so that in future “xyz“ is now usable instead of \“xyz\“.

• Bugfix: The return value of AxProtector.exe was improved. Here often a flat error 1001 was returned.

• Bugfix: The threshold checking process was revised according to sequencing. • Bugfix: The Windows API function GetVersion() on dynamic code modification (–

caa4) often returned a wrong value (#1053).

AxProtector for Java

• Feature: New warning options: 1. –WC (Certified Time threshold) 2. –WP (Usage Period activation)

• Feature: New warning message options: 1. –WPC (warning Certified Time threshold) 2. –WPP (warning Usage Period activation)

• Feature: Application Name used for WkbAccess2() / CmAccess2(), can be set via '-ma:' option. If not available, the Main class name is used.

• Feature: New command line option '-XpmMain <Main-Class>' for protected applications.

• Feature: New optional classloader: WebappClassLoader. • Enhancement: Option –cat[T[,U]] (new runtime is required). • Bugfix: Encryption of Jar files with unusual structure now works faultless. • Bugfix: ClassLoader throws only a ClassNotFoundException in case the encryption

fails (#1109).

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 69 of 74

AxProtector for .NET

• Feature: Improved security. • Feature: New copy protection system CodeMeterAct. • Feature: –d:3.31 uses WibuCmNET.dll 3.31.35.500, –d:4.0 uses WibuCmNET.dll

4.0.42.500. • Feature: New warning message in case a usage period ist o be used for the first

time. • Feature: Error message on using a corrupted mscorlib.dll. • Enhancement: Option –cat[T[,U]] • Bugfix: General bugfixes

XPM 6.23

Release Date

2008-May-06

AxProtector

• Feature: AxEngineMerge (Option -a) was implemented. The AxEngine is here inserted in a gap in the code section that is defined by the developer of the application.

• Feature: For the Indexbased WUPI, functions and methods can be declared using parameter FunctionName (FunctionName or Class::Method) in the wbc-file as an alternative to MapAddress. FunctionName or Class::Method must be exported in the source code. These entries will be deleted by Ax-/IxProtector during ecryption and the ExportTable will be deleted. This leaves the Pointerbased WUPI obsolete.

• Feature: WUPI (Index-based) works to some extent with VB6. • Feature: The AxEngine now uses CmAccess2(), if it is available and the minimal

driver version is set at least to CM 3.30. Therefore the application name is displayed in WebAdmin.

• Feature: The option -cad was extended: -cad[m], where <m> is 0 or 1. o 0 (default): The encrypted file is loaded and decrypted as needed. o 1: When first accessed, the whole encrypted file is loaded and decrypted.

Further accesses are then handled via the AxEngines cache. • Feature: The option -cat[t][,u] was extended. u (u <= t) is the time interval in hours

after that a further CmGetCertifiedTime() is executed. • Feature: In wibuixap.h the macro WibuIxapLicenseExtern() was defined. This

allows to declare a license in an external source file. • Enhancement: For the Anti-Debug-Check (ADC) the AES-CBC hash calculation

was optimimized and additional tools were added to ADC recognition. • Enhancement: The static CM & WK API Redirecting (option -x) now works with

functin names too and not only with ordinals.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 70 of 74

• Enhancement: When changing the name of an encrypted file via the standard

Windows „Save As“ dialog, FileEncryption is applied to the new file with the given encryption parameters.

• Enhancement: So far only simple function or class::method names where allowed in wbc-files (Indexbased WUPI). Now general names aaa::bbb::ccc::ddd::… are possible allowing hierarchical name spaces.

• Bugfix: Improved handling of wbc-files. The AxProtectorMacX is now able to use wbc-files, too.

• Bugfix: The AxEngine for Mac executables did display wrong error messages. • Bugfix: Universal Binaries (Mac OS X) are now handled correctly. • Bugfix: The dynamic WUPI/CM & WK API redirecting is now only activated, if

exactly the option -ci is set. (So far option -caa4 also activated the API redirection). • Bugfix: With a RID en-/decryption is could happen that the Unit Counter was

reduced by the double amount. • Bugfix: Correction of error messages on unicode based operation systems. • Bugfix: For Win64 applications the Extended Jump Redirecting / Code Modification

does not work (-caa8). As fall back the normal redirecting (-caa2) is used. • Bugfix: The option -cat now works as defined. • Bugfix: When using the index-based WUPI AxProtector crashed if an invalid

address was provided. • Bugfix: The copying of the User Message DLL with option -u does now work if

AxProtector is in the PATH and not only in the install directory. • Bugfix: If the standard User Message DLL was used, error messages were wrong

due to missing information from the AxEngine. • Bugfix: If the option -cae (immediate plug-out recognition) was set and -car

(Runtime Check) was not set, the plug-out recognition was not initialized correctly and hence did not work.

• Bugfix: If the Unit Counter was reduced during Runtime Check and the Unit Counter reached zero, the error message with ignore button only appeared once and the following Runtime Check terminated the application.

AxProtector for Java

• Runtime Kit o Java 6 Update 6 Signatures. o JVMTI support. o Default logging output reduced. o Logging output in non-verbose mode improved. o Signature Download logs proxy settings. o Bugfix CM: Update of certified time (-cat[<x>] option) was adapted to the

specification. • Development Kit

o New Option '-JN:T' for enabling JVMTI. o New Option '-jof' for creating runtime and option output file. o New option '-cat0' (zero) added. o CAT option listed in '-jol' output.

• Common o Support of Java 6 Update 5 for the following platforms:

Windows 32 bit

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 71 of 74

Windows 64 bit Linux 32 bit Linux 64 bit

o Bugfix CM: Update of certified time (-cat[<x>] option) was adapted to the specification.

o Bugfix concerning JVM 6.04 (client) detection on Windows 32.

AxProtector for .NET

• Feature: The warning message telling the user that a buggy version of mscorlib.dll is used is now displayed if the version of mscorlib.dll is between 2.0.50727.1433 and 2.0.50727.1822 and includes a hint to the Microsoft hotfix.

• Feature: Version and full path of AxProtectorNet[32|64].dll is displayed in verbose level 1.

• Feature: When using option -cas a warning is displayed that this option is obsolete. • Feature: Delayed signing is now supported. • Feature: WUPI for .NET. Single methods, all methods of a class or all methods of

all classes within a namespace can be marked not to be encrypted. The configuration is done in an xml-file.

• Bugfix: Byte arrays were not initialized correctly. • Bugfix: Option -cat behaves now like defined. • Bugfix: Using Custom Attribute Classes that were declared in the same assembly

was sometimes not possible (depending on the order of the classes). • Bugfix: Using Security Settings is now possible. • Bugfix: const enums can now be used • Bugfix: Strong Name Key Files (*.snk) can now be read-only. • Bugfix: Crash when calling a Method in a generic base class.

XPM 6.22

Release Date

2008-Feb-15

AxProtector

• With CodeMeter & WibuKey API-redirecting into the static lib (only with option -x) not only function names are hookt and redirected but also ordinals.

• For the IxProtectors API-redirecting the heuristical check, whether all functions are really patched, was improved. For that functionality the executable needs a relocation table. Therefore use the linker option /FIXED:NO for applications that are compiled using Visual C/C++.

• Bugfixes for the function hooking that caused crashes. • Bugfix: The option -eur now again reduces the Unit Counter during the start time of

an application and not at the first runtime check. • Bugfix: Ax-/IxProtector did not read the flags of the Expiration Date correctly out of a

WibuBox.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 72 of 74

• Anpassung: Wenn in der Kommandozeile eine Lizenz angegeben wird, die Option -

ca (automatischer Schutz) aber nicht aktiviert ist, wird die Lizenz auch nicht mehr in der Ausgabe des AxProtectors aufgeführt, da sie intern keine Relevanz hat.

• Bugfix: The reduction of a Unit Counters during run time is synchronized again with the runtime check. It could happen that 2 Unit Counters where reduced in parallel.

AxProtector for Java

• Added signatures for Java 6 Update 4.

AxProtector for .NET

• A warning message is displayed if const enums are used (they cannot be processed at the moment).

• On Windows Vista the logfile is written into the user directory due to privilege constraints.

• Implementation of the -d option (minimum driver version). • Bugfix: Throwing exceptions from one assembly into another caused the

Exception.TargetSite to contain the MethodBase info of the dynamic method. • Bugfix: Methods that do not contain any code after the last catch-block were not

processed properly. • Bugfix: Using of generics could result in an endless loop during encrpytion. • Bugfix: Inappropriate handling of generics as parameters. • Bugfix: Warning message when using -ui in DLL encryption disabled.

XPM 6.21

Release Date

2007-Dec-18

AxProtector

• As new main feature the CodeMeter & WibuKey API redirecting was implemented. CodeMeter and WibuKey API functions are redirected to the AxEngine umgeleitet that is attached to the protected application by AxProtector. This was kind of a static linking to the WIBU libraries is realised, which improves the security significantly.

• Completion of the language translations into France, Chinese and Japanese. Japanese is new and can be set using the option -l:jp.

• The WUPI function WupiQueryInfo/Id() with flags WupiQIFirmCode & WupiQIProductCode returns the FC resp. PC of the currently used license.

• VMWare recognition. The advanced debugger check 7 (ADC7, command line option -cag64) was implemented for Win32 applications. If this ADC is activated, the protected application must not be started in a Vmware.

• Bugfix: With option -mt the given error message was not displayed in the protected application.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 73 of 74

• Bugfix: A WibuKey protected application always exclusively allocated a license over

the network. • Bugfix: A WibuKey protected application ignored an expired expiration date if the

option -w was not set. • Bugfix: If an Expiration Time warn message was already shown and the Unit

Counter is decremented below the given threshold, no Unit Counter warning message was displayed.

• Bugfix: If the Unit Counter was reduced during run time and the warning options (-wu) where checked, the application terminated, if the CodeMeter/WibuKey box was unplugged and a button pressed in the warning dialog.

• Bugfix: If the plugout detection (-cae) fired and "Abort/Cancel" was pressed in the upcoming dialog, the application terminated.

• Bugfix: If the box had an old Certified Time and option -cat was set, an error dialog was displayed although the Certified Time was updated internally.

• Bugfix: An application may be protected again with -cag32 (Advanced Debugger Check 6, ADC6: Running in a Debugger).

AxProtector for Java

Runtime Kit

• Error messages for missing licenses adapted. • New static method 'Runtime::throwLoadLibraryError(boolean fThrow)' for manual

adaption. • Bugfix: Number of retries wrong (minus one). • Bugfix: Expiration Time / Unit Counter errors are reported via special methods, not

via the common error messages. • Bugfix in handling of Blacklist/Whitelist. • SystemClassLoader handles getPackage() correctly.

Development Kit

• New value EclipseClassLoader for option '-jcl' for the development of Eclipse plug-ins.

• If option '-jcl:SystemClassLoader' is specified, the Main-Class inside the manifest will not be modified.

AxProtector for .NET

• New Feature (-CKn)(n = 0..255): You can specify the max. number of seconds the RID key is cached in RAM (encrypted). Default is 5, 0 means no caching. This feature is useful if many encrypted methods are called at startup.

• New Feature: The Feature Map can now be specified decimal (e.g. -cf24) or hexadecimal with a '0x' prefix (e.g. -cf0x18).

• New Feature: The handling of Exception.TargetSite and MethodBase.GetCurrentMethod() was improved for non-generic methods.

• New Feature: Print error message if output file is write protected.

SYSTEMS

AxProtector Changelog

Revision: 2017-Sep-14

Page: 74 of 74

• New Feature: If the encryption is done with mscorlib.dll 2.0.50727.1433 (deployed

with .NET framework 2.0 service pack 1) there is a warning displayed twice. Encryption with this version of mscorlib.dll does not work because of a bug in class ModuleBuilder.

• Bugfix: Crash in some WibuKey protected applications during start (AccessViolationException).

• Bugfix: If an entry contains a Unit Counter and an Expiration Time and both warnings are enabled (-we -wu) both warnings will appear (only the first one used to appear).

• Bugfix: "Retry" did not work when an error occurred during runtime check and the first retry also failed.

• Bugfix: Release handle when process is stopped using Environment.Exit() (works only for executables, not for DLLs!).

• Bugfix: Encrypted methods in structs threw an exception when they were called.


Recommended