mueller5321
December 18th, 2001, 05:19
Just for information.
The hardlock dongle have multiple security features.
First with your customer number from aladdin a signature is
written inside a special programming hardware.
(Programminghardware ISA or PCI card).
It is also possible to fetch a different signature from a so called masterdongle.
With this signature and a number which you have to insert during prgramming. The basis dongles ar crypted.
You can only reach them after this on your parallelport via the burned moduladress.
So you can check if a dongle is available or not by a simple check
with HL_LOGIN with your specific moduladress
(Customer.Nr -> Signature; Signature + Module offset -> Module Adress of the Dongle;Signature+??+Sub Module offset burned in Dongle -> Cypherparameter)
Additional the the offest moduladress, which you insert during programming you can insert a second value the submodule adresse. Together which the crypt algorithm is defined.
But intresting to now is, that this crypto algorithm is blockbased on a specific value. So if the algorithm is known it seams to be not the big deal to get the correct values for the not known parameter. The Module offset can only be 0 - 31!!
The submodule offset only 0-about 30000.
Brute force is possible without a problem.
The first value you must know is the moduleaddress.
But this is easy to get. just look to the call of the HL_LOGIN function. The value is on the stack:-)
Together with the evaluation version (no costs) it should be possible to get some additional algoritm but the main algorithm
for the cypher is only inside the dongle.
Is it somewhere available???
But also there is a possible solution.
The cypher is blockbased (8-Byte or 64 bit)
Only the first 8 bytes are different the following blocks of 8 Bytes are equal.
So it seams to me, if the envelope use no additional cypher,it should be possible to crack with a simple cleartext attack.
Ok i know we have not the original dongle but some parts of code hold more than 16 x 00. so if you get a sequence which is repeated you can get the the dongle result .
And also additional information. The algoritm is symmetric :-)
