If you have obtained a file named ssq.exe labeled as a DSLS license generator:
The first thing IronForge engineers did was create a Domain-Specific Language (DSL). Not a general-purpose language like Python or C++, but a tiny, focused language just for writing licenses.
Why a DSL? Because licensing rules can get complex: expiration dates, feature tiers (Pro vs Enterprise), floating seats, hardware locking, etc. Writing these rules in raw JSON or XML was error-prone. A DSL gave them readable, verifiable, and compact license definitions.
Example DSL (IronForge's .license file format):
PRODUCT "IronForgeCAD" VERSION 3.0LICENSE_FEATURES standard: true, advanced: false, plugin_raytracer: true
TERMS start_date: 2025-01-01, end_date: 2025-12-31, max_seats: 5, floating: true dsls licgen ssqexe work
HARDWARE_LOCK type: "motherboard_serial", required: false
SIGNATURE_ALGO: RSA-2048
This DSL is human-readable but also easy for a parser to consume. The engineers built a small parser (using a tool like ANTLR or a hand-rolled lexer) that turned this DSL into an internal license object—a structured data format like JSON or a binary protobuf.
In a mid-sized software company called IronForge Systems, they made a specialized 3D modeling tool for industrial engineers. To prevent piracy, they built a custom licensing system. This is the story of three key components: the DSL that defines the license rules, licgen that creates licenses, and ssqexe that enforces them. If you have obtained a file named ssq
Now, how does the actual IronForgeCAD software check a license? Enter ssqexe – a name that might sound cryptic, but in our story stands for "Software Signature & Quota Executable" (or just a historic internal codename).
ssqexe is a small, separate executable (or embedded library) that runs inside the main CAD application at startup. Its job:
If ssqexe says DENIED, IronForgeCAD shows "License invalid or expired" and exits.
Even if you find a file named ssq.exe or licgen.exe claiming to bypass DSLS, you are taking extreme risks:
| Paid Software | Free Alternative | |---------------|------------------| | Adobe Photoshop | GIMP, Krita, Photopea (online) | | AutoCAD | FreeCAD, LibreCAD, NanoCAD Free | | SolidWorks | FreeCAD, Onshape (free tier) | | MATLAB | GNU Octave, Python with NumPy/SciPy | | Microsoft Office | LibreOffice, OnlyOffice, Google Docs | HARDWARE_LOCK type: "motherboard_serial", required: false
Once the DSL file was written (say, customer_acme.license), the next step was running licgen – the license generator tool.
licgen is a command-line utility that:
The signing step is critical: licgen takes the license object, hashes it (e.g., SHA-256), then encrypts that hash with IronForge’s RSA private key. The result is a digital signature attached to the license data.
So acme_license.bin contains:
Without the private key, no one else can generate a valid signature. That means customers cannot create their own licenses or modify an existing one – any change would break the signature.
In the context of software development and distribution, DSLs can be used to create specialized tools for licgen (license generation) and managing SSQEXE related tasks. For example: