Implementation with ABSoft Fortran and other compilers

11 November 2014

Integrating the CRYPTO-BOX API calls directly into the source code of the program is very flexible, and supports a variety of platforms and compilers. Even for compilers where no special libraries/sample code is available, there is often a quick solution.


Example 1
Recently we had an inquiry for ABSoft Fortran support. Here is the procedure:

  1. Use our "Visual Fortran XE" sample in the PPK as prototype:
    <PPK Root>\SmarxOS\API\Win\Samples\CBIOS\IVF XE 2011.
     
  2. Add cbios.lib and standard AdvAPI32.Lib Ole32.Lib OleAut32.Lib Shell32.Lib User32.Lib WS2_32.Lib to your project.
     
  3. Customize the ICBIOS.fi header from the Visual Fortran sample according to ABSoft environment specific requirements.
     

Example 2
For other platforms, we suggest the following:

  • If possible, implementation of static libraries is recommended. This will work with many environments which are compatible to Microsoft C/C++, GCC/MinGW or Delphi. Check out the corresponding libraries in the latest Protection Kit.
     
  • For other Windows-based environments supporting none of the libraries above, the COM/ActiveX approach may work. The required Smarx OS ActiveX objects are included in our CBUSetup.exe driver package.
     
  • If none of the above approaches will work, consider the DLL based implementation. However, the dynamic linkage provides more potential points to attack. So when using DLL you should use all offered possibilities, like using hardware based encryption, keeping vital data in the CRYPTO-BOX, using parallel threads, etc., to make it difficult to emulate your protection and licensing logic by replacing the DLL. DLLs are provided for all environments of Windows (x86 and x64).

All libraries can be found in the Protection Kit:
"Control Center" -> "Implementation with API" -> "Libraries/Samples"

Have a look at the Smarx Compendium, chapter 10.4 for more details. 

Please contact us if you have further questions about the CRYPTO-BOX implementation: [email protected] or use our support ticket system.

Back