Jump to content

Recommended Posts

No Ideas?

It really depends! If you want to make an executable anyhow just build in some timecheck after which the application will refuse to run. Will obligate you to regularly create new trial executables.

If you want to distribute trial libraries do the same in some essential VI that one has to use and make it display a dialog too. Password protect that VI.

Any other means is probably more hassle than worth to do.

In any case be prepared that a few people will download your software but you probably won't sell much. It is already hard to get a lot of people to use free Open Source libraries! :D

Rolf Kalbermatter

Link to comment
It really depends! If you want to make an executable anyhow just build in some timecheck after which the application will refuse to run. Will obligate you to regularly create new trial executables.

If you want to distribute trial libraries do the same in some essential VI that one has to use and make it display a dialog too. Password protect that VI.

Any other means is probably more hassle than worth to do.

In any case be prepared that a few people will download your software but you probably won't sell much. It is already hard to get a lot of people to use free Open Source libraries! :D

Rolf Kalbermatter

To the last: It's a challenge from my employer.

I want to make an executable, that runs only 1 month. I think on MAC-Adress and Date formatted, that is ciphed and added in windows registry.

Eugen

Link to comment

There are third party tools you can buy off the shelf that make it fairly easy to implement time expirations and other feature locks.

The easiest way to do this is to Google "software copy protection" and you'll find a lot of tools.

I've used some software by Crypto - I've not been terribly impressed by it but it is the reason I know such software exists. Most likely, the tool will come in the form of a dll.

Link to comment

QUOTE(Eugen Graf @ Feb 9 2007, 10:26 PM)

I want to make an executable, that runs only 1 month. I think on MAC-Adress and Date formatted, that is ciphed and added in windows Eugen

Hello Eugen

I would suggest you to Implement a "time-protection" or something. But the most important thing is that you don't make just a subvi with an output (true/false) you have to think a bit more and create a complicatted string (numbers)...

Otherwise someone could easy change your protection-vi with a self made vi...

(You can also check the call chain etc. to prevent such things...)

But I think the best thing is to implement such a "check" directly in your vi and not in a subvi...

Theoretically someone could easy change the date on his computer, but there are also ways to prevent (dedect) this...

Link to comment

ZITAT(martin@aerodynamics @ Feb 12 2007, 10:07 AM)

Hello Eugen

I would suggest you to Implement a "time-protection" or something. But the most important thing is that you don't make just a subvi with an output (true/false) you have to think a bit more and create a complicatted string (numbers)...

Otherwise someone could easy change your protection-vi with a self made vi...

(You can also check the call chain etc. to prevent such things...)

But I think the best thing is to implement such a "check" directly in your vi and not in a subvi...

Theoretically someone could easy change the date on his computer, but there are also ways to prevent (dedect) this...

I think an executable can't be changed :thumbup: easy replacing a SubVI.

Link to comment

ZITAT(martin@aerodynamics @ Feb 13 2007, 12:16 PM)

http://forums.lavag.org/Article-Security-a...dary-t6094.html

But in LabVIEW 8.2 it's probably not that "easy" as bevore...

...but possible. Its not a very complicated. You can do following:

1. Copy or rename your *.exe to *.llb

2. Open this llb in any hex editor (I'm using Editor from FAR Manager - its good enough)

3. Found signature RSRC (not .rsrc)

4. Remove "header" from the start up to RSRC signature. LLB should be started from RSRC.

5. Save you llb. Now you can do anything, for example, convert this llb to dir, replace some VIs and convert dir to llb back and so on.

Of course, you haven't block diagrams, as result LLB can be opened only in the same version of LabVIEW which was used for exe creation.

best regards,

Andrey.

Link to comment

QUOTE(AndyDm @ Feb 13 2007, 04:16 AM)

...but possible. Its not a very complicated. You can do following:

1. Copy or rename your *.exe to *.llb

2. Open this llb in any hex editor (I'm using Editor from FAR Manager - its good enough)

3. Found signature RSRC (not .rsrc)

4. Remove "header" from the start up to RSRC signature. LLB should be started from RSRC.

5. Save you llb. Now you can do anything, for example, convert this llb to dir, replace some VIs and convert dir to llb back and so on.

Of course, you haven't block diagrams, as result LLB can be opened only in the same version of LabVIEW which was used for exe creation.

best regards,

Andrey.

Nice one! I guess NI chose obfuscation?
Link to comment

QUOTE(Michael_Aivaliotis @ Feb 13 2007, 12:36 PM)

Nice one! I guess NI chose obfuscation?

No! I haven't looked at it yet, but before they tacked the LLB to the end of the executable stub and then added a small header (I mean tail) behind that that told the loader where the LLB was. I have a suspicion that they now add the LLB as a custom resource to the resource directory of the executable. Not really to dwart anyone to see the LLB but instead to allow signing of executables in VISTA. They just used that change to purposfully "forget" updating the exported LLB routines to look for an LLB in that place. Gave them some easy way of minimal obfuscation.

And I still think anyone worrying about his code being picked from an executable in this way has a lot of other problems to deal with frist, some psychological ones not to be among the least ones.

Rolf Kalbermatter

Link to comment
  • 2 years later...

QUOTE (martin@aerodynamics @ Feb 12 2007, 02:37 PM)

Hello Eugen

I would suggest you to Implement a "time-protection" or something. But the most important thing is that you don't make just a subvi with an output (true/false) you have to think a bit more and create a complicatted string (numbers)...

Otherwise someone could easy change your protection-vi with a self made vi...

(You can also check the call chain etc. to prevent such things...)

But I think the best thing is to implement such a "check" directly in your vi and not in a subvi...

Theoretically someone could easy change the date on his computer, but there are also ways to prevent (dedect) this...

Hi if you are still following this post I am also dealing with same problem in my application I am writing date to registry and checking it in order to run it only for a month if I change the date it fails you said there are ways to prevent this please can you help me with this...

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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...

Important Information

By using this site, you agree to our Terms of Use.