We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

World Date/Time

Anonymous
Not applicable
I have developed a library of GDL objects for a specific client.
I have shared this library with said client for internal use, however, to protect our IP for the long term, I have set up a timed licensing tool whereby:
- there is a "license" object that checks todays date (using the DateTime parameter) vs a set expiry date
- each object within the library calls on the "license" object as the very first command in the Master script to check if it has expired, if it has then the "END" command is executed.

All was good and well until I realised that DateTime parameter looks only at the OS set time and date - not the actual world time. Hence, my master security tool has a MAJOR flaw! When the license expires, all one has to do is simply change the time on his computer to last year!

Hence, my very first question is: Is it possible to check the "world" time through GDL commands? - This would solve the problem instantly!

Otherwise, my best idea at this stage would be to:
- record the date (from the computer calendar) each time the licence tool is invoked.
- compare to the previous date recorded on each subsequent iteration and:
- if it's later or equal then re-record with current
- if it is an earlier than the previous then execute the "END" command as it would mean that the user has wound back the time/date settings

This is a bit messy as it would probably require an output file somewhere on the users computer that can be potentially meddled with externally.

Does anyone have any other ideas?
3 REPLIES 3
Barry Kelly
Moderator
You can REQUEST the Archicad license (key) number (Serial_number) and if this matches one in a list of numbers you have in your 'license' object then the object script can run - if not then END.

You will need to know the license numbers for you client of course.
And I believe this will not work if they are using the software keys as I think the numbers can change.
Only works with the Codemeter (or old WIBU) keys.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Anonymous
Not applicable
Hi Barry,

Thank you for your reply.

I should have mentioned that I already have the check for the "registered" ArchiCAD license key in place.

What I'm after is a second "tier" of protection - a timer with an expiration date.
Basically, if we stop working together, then I want to prevent un-authorized
use of our IP (even on a previously registered ArchiCAD license)
Barry wrote:
You can REQUEST the Archicad license (key) number (Serial_number) and if this matches one in a list of numbers you have in your 'license' object then the object script can run - if not then END.

You will need to know the license numbers for you client of course.
And I believe this will not work if they are using the software keys as I think the numbers can change.
Only works with the Codemeter (or old WIBU) keys.
Anonymous
Not applicable
any new ideas for protection?