Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Lisp copy protection (cont. sorry)

18 REPLIES 18
Reply
Message 1 of 19
sullen
1000 Views, 18 Replies

Lisp copy protection (cont. sorry)

I apologize for asking about this topic YET AGAIN. But I HAVE searched and searched this forum and haven’t found a real "used" answer. Meaning someone that has done this and used it in the real word and it works. I don’t mean to belittle everyone’s answers on this topic. It is all really good advice and I’ve tried implementing it all. But I’m running into dead ends with each attempt.

Here’s my dilemma. I have a lisp routine with a dialog box that I wish to sell. I encrypted my lsp to a vlx. And the whole lisp along with arx's and support files is wrapped up into one installer. My problems are:

1. Getting people from copying (stealing) my program once I go public.
2. Making a timed out demo version of it (which I think I have figured out, but I would still like some advice).

Let me explain my problems in detail as I see them and maybe someone could shed more light on this for me.

1. I cant use (getvar "cdate") because to bypass that all one has to do is change their system time.
2. I cant have the installer write to the registry or create files (user name, serial number, etc.) because if the installer is copied to another computer it would write the same exact strings to that computer.
3. I cant have the lsp routine do the above for the same reasons.
4. I cant afford 3rd party copy protection software.

Is there a way to keep a lisp routine from being copied to multiple computers and being run? Is there a way to make a timed out demo version (either with date or usages)?

Any help on this matter is GREATLY appreciated and thanked for in advance.
18 REPLIES 18
Message 2 of 19
Anonymous
in reply to: sullen

I have used an activex app named ActiveLock, some moons ago for my visual lisp routines, now it can be find here:

http://activelock.sourceforge.net

And the old site from the original author Nelson Ferraz:

http://www.activelock.com/

HTH
Message 3 of 19
sullen
in reply to: sullen

Thank you. I have looked into this option, but I don't know Visual Basic or C, or anything other lisp really. Lol. Are there any good tutorials out there for using ActiveLock in conjunction with lisp? Like the call functions it uses?

Thanks again!
Message 4 of 19
Anonymous
in reply to: sullen

/*
Are there any good tutorials out there for using ActiveLock in conjunction with lisp? Like the call functions it uses?
*/

The one available is in a book about Visual Lisp by Reinaldo Togores and Cesar Otero in Spanish 'AutoCAD Programing in Visual Lisp'- There is a project I did using the first version - do a search in the net for: Programacion para AutoCAD con Visual Lisp.

I still have my own custom dll, made using VB and based on the activelock, that I do not use anymore.

If you want to give a try and if you read Spanish, I can provide a basic sample done in Vlisp... and to where I can send you the ZIP...
Message 5 of 19
sullen
in reply to: sullen

I am very interested. If you could send the stuff to chris_w_pa@hotmail.com I would appreciate it. I unfortunately dont read spanish but im sure I can get by.

I just read some of your old threads. Are you still looking for help to develop and test a true lisp lock?
Message 6 of 19
dgorsman
in reply to: sullen

Here is something you may want to try, but it requires having a valid "demo period" system set up:

- the first time the program is run, it creates a text file with unique information, such as machine name, login id, and so forth
- the user is required to email you the file, at which point you use a utility to encrypt that file using whatever method you choose (a simple substitution cypher would be adequate)
- you email the encrypted file back, which the user is required to save to a specific location
- until the user gets the encrypted file back the program runs in "demo mode"
- when the program is run and it finds the returned encrypted file, it reads the file, decrypts it, and compares that information to the settings on the computer that originally sent the request (naturally, this function would have to be inaccessible to the user)
- if the encrypted data matches the computer your program is running on the program functions, otherwise it doesn't, or uninstalls itself, or takes other actions of your choosing

Hopefully that will provide some assistance.
----------------------------------
If you are going to fly by the seat of your pants, expect friction burns.
"I don't know" is the beginning of knowledge, not the end.


Message 7 of 19
Anonymous
in reply to: sullen

Luis-

I am interested, and thank you.

Herman

hmayfarthtktncom
Message 8 of 19
Anonymous
in reply to: sullen

/*
I am very interested. If you could send the stuff to chris_w_pa@hotmail.com I would appreciate it. I unfortunately dont read spanish but im sure I can get by.
*/

OK.

/*
I just read some of your old threads. Are you still looking for help to develop and test a true lisp lock?
*/

That, it is in the [RIP] letters...
Message 9 of 19
sullen
in reply to: sullen

Ooh! I like that. Let me run with that. Thank you.
Message 10 of 19
dgorsman
in reply to: sullen

If you pull enough money off of it, you owe me coffee 🙂

If things go well with that, you might be able to push the reply process to an automated web page or purchase a more robust system such as a hardware lock.
----------------------------------
If you are going to fly by the seat of your pants, expect friction burns.
"I don't know" is the beginning of knowledge, not the end.


Message 11 of 19
Anonymous
in reply to: sullen

You can use the date code... You just need to be smart about it. i.e. read
the date, store it somewher obscure and hidden, if the date ever rolls back,
wham.....
Knock out the program. Also, you can read hard drive serial numbers,
computer name, network domain, I think graphics card serial number.
These of coarse then require you to get this info from the prospective
client and then supply some sort of security authorization code. In this
code you use an algorithim of your
design to store some or all of the above information. When your product
fires up, or better yet, at intermitent times i.e. randomly called from
various routines within your code,
check the stored authorization code, if it calcualtes wrong then shut down
etc.

Hope that helps, its all stuff you can do with lisp...




wrote in message news:5801773@discussion.autodesk.com...
I apologize for asking about this topic YET AGAIN. But I HAVE searched and
searched this forum and haven't found a real "used" answer. Meaning someone
that has done this and used it in the real word and it works. I don't mean
to belittle everyone's answers on this topic. It is all really good advice
and I've tried implementing it all. But I'm running into dead ends with each
attempt.

Here's my dilemma. I have a lisp routine with a dialog box that I wish to
sell. I encrypted my lsp to a vlx. And the whole lisp along with arx's and
support files is wrapped up into one installer. My problems are:

1. Getting people from copying (stealing) my program once I go public.
2. Making a timed out demo version of it (which I think I have figured out,
but I would still like some advice).

Let me explain my problems in detail as I see them and maybe someone could
shed more light on this for me.

1. I cant use (getvar "cdate") because to bypass that all one has to do is
change their system time.
2. I cant have the installer write to the registry or create files (user
name, serial number, etc.) because if the installer is copied to another
computer it would write the same exact strings to that computer.
3. I cant have the lsp routine do the above for the same reasons.
4. I cant afford 3rd party copy protection software.

Is there a way to keep a lisp routine from being copied to multiple
computers and being run? Is there a way to make a timed out demo version
(either with date or usages)?

Any help on this matter is GREATLY appreciated and thanked for in advance.
Message 12 of 19
Anonymous
in reply to: sullen

Dear Luiz Esquivel
I have the same problems with protection if you can he/she also sends the example of ActiveLock with Vlisp for velasquez@univelox.com.br
Thanks
Message 13 of 19
Anonymous
in reply to: sullen

Excuse me but I am asking again.
Does anybody can me to help to find an example of VisualLisp working with ActiveLock?
Message 14 of 19
Anonymous
in reply to: sullen

...
velasquez
Excuse me but I am asking again.
Does anybody can me to help to find an example of VisualLisp working with
ActiveLock?
...

I will try to put together my visual lisp project now as open source, and
will send you a copy, as soon as I can.
Message 15 of 19
Anonymous
in reply to: sullen

Ok Luiz,
I will await.
Thank you very much.
Message 16 of 19
Anonymous
in reply to: sullen

Hi Luís,
Do you have some forecast to liberate your work with ActiveLock in VisualLisp?
Thanks
Message 17 of 19
Anonymous
in reply to: sullen

I was able to send all the files today... using your e-mail address posted some posts above, in here.
Message 18 of 19
Anonymous
in reply to: sullen

Ok Luís;

Thank you very much for your attention.
Message 19 of 19
Anonymous
in reply to: sullen

I still think the easiest way to do anything like this is through internet registration. The slickest part about this, is that you have your PHP/MySQL web engine, that can even directly accept payment from PayPal, and then provide the user with an activation code.
For our trial version, we write an encrypted version of the expiration date, along with the unencrypted version, into a local database. If they ever don't match, the system assumes a tamper and turns everything off. Yes, the user could just keep their system data turned back. Or, you could run the internet registration every day, or ever 20 uses if you really wanted to bypass the people who insist on resetting their clock to keep software for free.
As for running the activation or validation from Lisp, just create either an MSXML2.DOMdocument or MSXML2.XMLHTTP through vlax, access your web-based MySQL data, and return whatever validation information is necessary.

--J

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost