Roadmap 2016 and beyond

Tønsberg, Vestfold, Norway 08.10.2016

A lot is happening to HexLicense in the coming months, and our customers are in for a real treat this quarter as well as the next. Those that have taken advantage of our special offer will be glad they did so – because it represents a significant price reduction as we move towards the Ironwood edition;

Firemonkey finalization

First up is the Embarcadero Firemonkey edition. This is due mid next week and consolidates all the platforms Delphi gives you access to. It’s also a step up technically. The VCL distribution still plays by old rules to be compatible with previous Delphi editions. The FMX codebase takes full advantage of generics, dictionaries, anonymous methods and consequently operates faster.

Ironwood, first quarter 2017 update

HexTools is today just a humble class. A class designed to give you easy access to values traditionally of interest when writing licensing code. Like the mac address of the device, boot storage device serial number, the present IP address and calculating crc checksums. Humble yet important.

Well that is going to change. HexTools is about to get a healthy injection of roughly 40.000 lines of code from our bit-bucket repository. You are never going to lack a function for hiding, manipulating or working with raw data again. Be it in memory or on disk – under Windows, OS X or any of the platforms Firemonkey supports.

And HexLicense is no longer 7 cute components, but a rich toolkit.

Here are some of the highlights

  • Buffer classes based on the javascript sandbox standard
    • Disk
    • Memory
    • Web
  • Large number of raw data functions
    • Growth
    • Scaling
    • Insertion
    • Removal
    • Datatype views
    • Paged IO regardless of target
    • Compression
      • ZLib
      • LHA
      • RLE
    • Export and import
    • TStream adapter to interface with traditional Delphi IO
  • Unlimited key partitioning for license generators
    • Up to 128 non-linear gates per partition
    • Up to 64 reserved gates per partition
    • Support for gate-ranges
  • Modulator components for license generators
    • Fibonacci
    • Leonardo
    • Lucas
    • Sanskrit
  • Gematria codexes for exponent obfuscation
    • Hebrew
    • Latin
    • Sepsephos
    • Amun
  • Encryption components
    • RC2 and RC4
    • Blowfish
    • RSA (third-party open source package)
  • Hash components
    • CRC 32/64
    • Adler
    • Elf
    • Borland
    • Kernigan and Richie
    • Bob Jenkins
  • Codec components
    • URL
    • Base64
    • Mime
    • Bitstream
  • Stand-alone compression components
    • ZLib
    • LHA
    • RLE
  • Networking components
    • Websocket server
    • Websocket client
    • JSon message envelope
    • BSon message envelope

Ironwood is a major change, not just for the basic functionality of the product, but because it establishes the technology within a proper framework. A framework with guidelines and concepts that can be built upon not just by us, but also by you.

The Ironwood license generator formula also makes its debut here, which is a completely new license generator component. It does not replace the current formula but represents another way of achieving similar results (just like there are various hashing mechanisms, different types of encryption ciphers).

The Ironwood formula is able to produce a much greater number of licenses from the same root-key data. It also involves flexible, component based modulators (components that control the non-linear mutation of numbers), variable partition length (number blocks that make up the serial) and gate ranges (the mathematical combinations that validates a partition).

Ironwood running under javascript in Smart Pascal
Ironwood running under javascript in Smart Pascal

Athropy for traditional license key generators tends to be between 15% – 35%, meaning that the root-key degrades and becomes exhausted through how the formula is written. You basically lose combinations due to how the numbers are mutated. So with atrophy eating into the key the formula begins to struggle with production. When a serial generator produces the same key almost on interval: the root-key is considered exhausted. The level of repeating occurrences for a key combination during a session, is the formula’s “atrophy” factor. The counter-weight is the formulas modulation.

In our present tests Ironwood knocks out 200.000 licenses with zero (null, 0) atrophy. This was done using a random entrypoint approach (read: not very efficient but yields more variation). The other mechanism which is suited for mining large quantities is called canonical, meaning it mutates each partition individually gate by gate sequentially.

It is important to underline that the way you approach something has nothing to do with the numbers involved. Much of this work is by proxy, where you go through a matrix or the yield of a partition.

Second quarter 2017, Server side edition and Hex4Shell

The server-side edition finally makes its debut, first as a Delphi 64 bit Windows service – followed by the Smart Pascal node.js edition.

Note: This is a heavy-duty server solution for companies that want full control over their product licensing. It uses WebSocket  for low latency bi-directional communication, it can be clustered through and scales gracefully. The use of WebSocket means you can perform validation from JavaScript (browser, node.js), Delphi, C++ and any scripting language capable of a WebSocket  connection.

The server eco-system (which includes HexLicense and a 1 year subscription) will retail for $599 and comes complete with a powerful embedded database engine, replication tool and data migration functionality. There is also integrated payment modules for popular online services (like Paypal). The server can be controlled via it’s http web interface.

Hex4Shell is due for release in roughly the same timeframe. It represents HexLicense adapted for backend automation through the shell. A Linux version will also be available once Embarcadero Delphi compiles for it.

Hex4Shell opens up for writing large-scale solutions in bash, python or any scripting engine capable of calling the Linux or Windows shell. This product is not intended for Delphi developers but rather the Microsoft Windows and Linux back-end market.


Jon Lennart Aasenden,
Quartex Components, Norway

2 thoughts on “Roadmap 2016 and beyond

Comments are closed.