Implementation into the Source Code

Smarx OS API

Smarx®OS unleashes the full power of the CRYPTO-BOX USB System. Providing you with an efficient, flexible and convenient way to protect your software and data against piracy and unauthorized use.

More Info

Implementation into the Source Code

Implementation of the CRYPTO-BOX into the source code

Smarx OS API
  • Protection with API implemented directly into the source code of your application for maximum flexibility.

  • Protect and license your software by using your individual implementation strategy.

  • Smarx®OS supports all major compilers and IDEs such as Visual Studio (including .NET), Delphi, Java, etc. and platforms (Windows, Linux, macOS, iOS, Android).

  • Any number of applications with individual licensing options can be protected simultaneously with one CRYPTO-BOX.

  • Define the necessary partitions and data objects for implementation with API into the source code.

  • The Data Objects Manager facilitates the management of smart data objects in the CRYPTO-BOX memory partitions.

  • Data Objects can include expiration dates, usage limits, network licenses, customer-specific memory, etc.

  • Each application may have its own customized storage area (partition) in the CRYPTO-BOX memory.

More information about Smarx OS API

Smarx OS API


Implementing the API into the source code is aimed at professional software developers who require maximum security and flexibility for their protection strategy. For example, this is how you can deliver a limited demo version without a dongle, that automatically becomes the full version when attaching a valid  CRYPTO-BOX. Activate specific parts of the program - using the Remote Update Management System (RUMS) - after the customer has paid and/or requested additional features.

With the powerful Smarx®OS system individual integration into the source code is possible under Windows, Linux and macOS. With our Smarx OS APIs you can fully exhaust the encryption features and access various hierarchies of the CRYPTO-BOX, including access to the internal flash memory and usage of pre-defined DataObjects, plus updating them directly at the end-users side. The intelligent memory management system of the Smarx interface enables multiple applications to simultaneously access the internal memory of the USB dongle. Each application has its own partition, accidental overwriting of data by another application is impossible. The Smarx interface supports both the local as well as network integration. Having the same function calls for Windows, Linux and macOS reduces the porting complexity of changing platforms. A wide range of compilers and development environments like Visual Studio. NET, Delphi and Java are supported.

Available APIs for Developers:

    • Smarx API - API Abstraction Layer
      The Smarx API exposes a simple and user friendly programming interface to developers. In contrast other interfaces (SmarxCpp/Basic APIs for C++/Delphi or CBIOS4NET/Smarx4NET for C#, see below), this significantly reduces implementation efforts as well as chances of bugs and logical errors during implementation. At the same time, it provides developer with more flexibility on protection and licensing logic compared to AutoCrypt.

    • AC API - API Abstraction Layer
      The recently introduced AC API is focused on the easiest possible implementation allowing developers with just one function call to start periodic validation of license data in the CRYPTO-BOX (e.g. Expiration Date or Execution Counter) for both local and network scenarios, plus adding an exit event notification (AppExitEvent) with exception argument. Therefore it is a good alternative when AutoCrypt is not applicable.
      AC API supports C++ and C# (Visual Studio 2013 or higher).

    • CBIOS4NET/Smarx4NET and SmarxCpp - Object Oriented APIs
      For C++/C#/VB.NET developers, the following object oriented APIs are offered (Smarx4NET/CBIOS4NET for C# and VB, and SmarxCpp for C++):
      • Smarx4NET/CBIOS4NET - special Smarx OS API implementation for the .NET platform (.NET 2.0 and up, C# and VB).
      • SmarxCpp - object oriented Smarx OS API implementation for C++ developers. It is implemented as static library (MSVS2013 and higher) and dynamic library.

    This is the core API set for the CRYPTO-BOX. You might consider it if either your IDE is not supported by one of the above APIs, or when you need full control/maximum flexibility:
    • CBIOS API - Commands used to access the CRYPTO-BOX (local or network), to the internal memory and the encryption functions (hardware-based AES or RSA* encryption). 
    • CBIOS DO API - Managing data objects in the memory of the CRYPTO-BOX, such as expiration date, network licenses, or customer specific objects. These data objects can be updated remotely (RUMS in SmarxOS Application Framework, or the RFP API) at a later time.
    • CBIOS RFP API - Updating DataObjects directly to the end-users site.


Supported Environments



  • Microsoft Visual Studio 2005 and higher (.NET 2.0 and higher, incl. Support for .NET Core Apps)


  • Microsoft Visual Studio 2005 and higher
  • Microsoft Visual C++ 6.0/2003
  • Borland Builder
  • MinGW
  • Qt4


  • Delphi 6 - 11


  • JDK 1.6 and higher


  • Microsoft Visual Studio 2005-2022
  • Microsoft Visual Basic 6.0/2003


  • Microsoft Access
  • Microsoft Excel


  • LabVIEW
  • Microsoft Visual FoxPro
  • Micro Focus Visual COBOL 2010 R3
  • Intel Visual Fortran XE 2011
  • Digital Mars D
  • F#
  • REALbasic 2006
  • DarkBASIC
  • Scala



  • GCC 6 and higher
  • Qt 4


  • JDK 1.6 and higher


  • REALbasic 2006


  • GNAT Programming Studio



  • GCC 6 and higher
  • Xcode 9 and higher
  • Swift 2.0 and higher
  • Qt 4 and higher


  • Delphi 11


  • JDK 1.6 and higher


  • REALbasic 2006


  • LabVIEW

Mobile Devices (on request)


  • Xcode


  • Eclipse

Please guide me to find the right solution

guide me

I already know what I need. Take me directly to the
Product Overview/Shop

Product Overview