Case Study: Smart Positioning Architect

By Mikel Hernando
Software Engineer, Onendis Systems

In spite of any software could be hacked, the objective must not be to avoid the piracy at any price, but rather develop useful programs without annoying anti-piracy systems.

This fact despite of being so logic and simple sometimes is forgotten. In our case, a long time ago we started developing Smart Positioning Architect, an RTLS desktop application. In that moment the future of that application was not clear and we decided to develop under Java and Eclipse Rich Client Platform (RCP) without having in mind the possibility of licensing it.

The Smart Positioning Architect was designed as a tool for private use to design, configure and calibrate the environment for Wi-Fi real time location systems. This tool in addition provides a real time and on demand visualization of an enterprise asset (objects, people, mobile devices) location. Using this tool an enterprise can have a global visibility of what happens in it and improve its workflow, specially the key processes where the enterprise needs to maintain positioning an asset.

Smart Positioning Architect screenshot

Some years later we realized that we had a very powerful software, so we decided to launch it as a commercial software. Unfortunately, as anybody knows, any Java application (including Eclipse RCP) could be easily decompiled, revealing the source code of the system.

We tried to securize the application with a lot of anti-piracy techniques: fuzzing the jar files (but it only difficult to understand the source code), hardware dependant techniques (not secure at all and not always possible), etc. We wasted valuable time and money and we did not solve the problem, moreover some of these techniques were annoying for customers or should be customized with the consequent increase in the distribution costs.

In that moment we assume that this situation was untenable, so we decide to search an alternative. If we did not find a solution we decided to redevelop the system from zero, converting it into a Web application, a task that would be too expensive. Fortunately, when we were searching for a new solution, we found Excelsior JET which is easy-to-use and have powerful features: creates executables and dynamic libraries, maximizes performance, protects Eclipse RCP applications from decompilers, encrypts program data and resources, built-in advanced installer feature, etc. In summary, Excelsior JET guarantees a powerful securization including a simple process to create a custom installer to distribute your software with no worries.

As a result, we can finally distribute our RCP-based system without the fear of somebody is going to decompile it. Moreover, we can send time limited demos of our system to anybody who demand it, enabling an increase of our potential customer base and benefits.

Simply amazing and only possible with Excelsior JET.