Jump to content

Looking for Lisp protection


danielk

Recommended Posts

Im looking for a way to protect some lisp , i know the vlx method, but if theres someone here who can do it a little bit more like and installation with a password ,that would be great . its for commercial use . ( i know basically that anyone can hack lisp if he really want but im not bothered)

 

so anyone who have experience in this kind of work and wants to do this (as work ) i will be very happy to hear .

 

Thanks

Link to comment
Share on other sites

Check out Inno Setup. The examples cover the basics and that's about all you will need to put the .vlx in a directory chosen either by you or the installer.

 

 

This adds a password to the process:

http://www.jrsoftware.org/ishelp/index.php?topic=setup_password

 

ill check it out , hope its not too complicated , thanks )

Link to comment
Share on other sites

  • 2 months later...
Check out Inno Setup. The examples cover the basics and that's about all you will need to put the .vlx in a directory chosen either by you or the installer.

 

 

This adds a password to the process:

http://www.jrsoftware.org/ishelp/index.php?topic=setup_password

 

After a while im trying to figure out the subject , lets say I encrypt through inno setup so the installer is working per user, but how all this protect the vlx file? It still seats in a folder with the rest of the file and one can just copy the vlx to another..

Link to comment
Share on other sites

I seem to recall a fairly lengthy discussion on this not too long ago, probably within the last 6 months to a year.

 

Not sure if there was a solution, though.

Link to comment
Share on other sites

It doesn't. Pardon - I thought you were trying to password-protect the installation, which Inno can do.

 

 

Beyond that, you will have to put some sort of password protection within your .vlx and that is a separate exercise. You might be able to do that during installation with some custom code that runs within Inno based on detail obtained on purchase, but if .vlx is readily crackable it won't stop the bad guys. Even so, the .vlx can access registry data to verify it's running on the approved machine. Again, a cracker may easily expose this and bypass the check.

 

 

Ultimately the effort put in to protect your product becomes better spent in constantly improving it and changing protection around inside it between each release to disable any published cracks, simply because the vast majority of your real market are not interested in cracked versions, preferring access to your support to a risk of malware. Of the others, most won't buy anyway.

 

Frankly the way to protect core IP is to move it to SAAS on the web.

Link to comment
Share on other sites

I agree with HUGHA I was involved in a commercial product and we did some simple checking. We had the phone call that it was not working, pretty quickly worked out it had been copied to another PC.

 

Like SWL210 search here there was some lengthy dscussions about protecting code, using FAS some simple methods check serial number, check PC hard disk ID, bury a code in the registery, on install it overwrites the code so only one go at install. Network IP address every pc is unique, some of these methods require User input just like Autocad's install, it will mean maybe an Email or phone call.

 

Almost forgot our product had mutiple lisp's so we just simply used old fashoined DOS via a batch file to add the protection routine to the existing code, then make a customer version, then use Autocad to make FAS files again this can be scripted.

COPY Encrypt.lsp+file1.lsp c:\customer\file1.lsp

 

A sample

; this version works with Win 7
; by lee-mac oct 2011
(defun HDSerial ( / wmi srv drv ser )
 (vl-catch-all-apply
   (function
     (lambda ( )
       (if
         (setq wmi (vlax-create-object "WbemScripting.SWbemLocator")
               srv (vlax-invoke wmi 'connectserver nil nil nil nil nil nil nil nil)
               drv (vlax-invoke srv 'execquery "Select SerialNumber from Win32_DiskDrive")
         )
         (vlax-for item drv
           (vlax-for prop (vlax-get item 'Properties_)
             (if (eq "SERIALNUMBER" (strcase (vlax-get prop 'name)))
               (setq ser (vl-string-trim " " (vlax-get prop 'value)))
             )
           )
         )
       )
     )
   )
 )
 (if drv (vlax-release-object drv))
 (if srv (vlax-release-object srv))
 (if wmi (vlax-release-object wmi))
 ser
)

Link to comment
Share on other sites

My opinion is that, unless you have a real hold on the market, it's better not to make it machine specific. The problem with making it machine specific is that companies upgrade to new machines and don't want the added hassle. We have abandoned most programs that make it too difficult to migrate. As you said, "ill check it out , hope its not too complicated , thanks )". Don't make the mistake of thinking your customer wants to go to a lot of trouble any more than you do. If you have a hold on the market, then you might get away with it, even if your customers otherwise hate you for it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...