Eugen Graf Posted February 6, 2007 Report Share Posted February 6, 2007 Hello, how can I create a trial version of my executable? Are there any tools from NI? Grtx, Eugen Quote Link to comment
Eugen Graf Posted February 9, 2007 Author Report Share Posted February 9, 2007 No Ideas? Quote Link to comment
Rolf Kalbermatter Posted February 9, 2007 Report Share Posted February 9, 2007 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! Rolf Kalbermatter Quote Link to comment
Eugen Graf Posted February 9, 2007 Author Report Share Posted February 9, 2007 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! 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 Quote Link to comment
Omar Mussa Posted February 9, 2007 Report Share Posted February 9, 2007 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. Quote Link to comment
Eugen Graf Posted February 12, 2007 Author Report Share Posted February 12, 2007 ZITAT(Omar Mussa @ Feb 10 2007, 12:06 AM) 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 http://www.sampson-multimedia.com' target="_blank">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. Thanks :-) Quote Link to comment
LAVA 1.0 Content Posted February 13, 2007 Report Share Posted February 13, 2007 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... Quote Link to comment
Eugen Graf Posted February 14, 2007 Author Report Share Posted February 14, 2007 ZITAT(martin@aerodynamics @ Feb 12 2007, 10:07 AM) Hello EugenI 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. Quote Link to comment
LAVA 1.0 Content Posted February 14, 2007 Report Share Posted February 14, 2007 QUOTE(Eugen Graf @ Feb 13 2007, 11:05 AM) I think an executable can't be changed :thumbup: easy replacing a SubVI. http://forums.lavag.org/Article-Security-a...dary-t6094.html But in LabVIEW 8.2 it's probably not that "easy" as bevore... Quote Link to comment
AndyDm Posted February 14, 2007 Report Share Posted February 14, 2007 ZITAT(martin@aerodynamics @ Feb 13 2007, 12:16 PM) http://forums.lavag.org/Article-Security-a...dary-t6094.htmlBut 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. Quote Link to comment
Eugen Graf Posted February 14, 2007 Author Report Share Posted February 14, 2007 Oh, it's very interesting and new(for me) information. Thanks, Eugen Quote Link to comment
Michael Aivaliotis Posted February 14, 2007 Report Share Posted February 14, 2007 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? Quote Link to comment
Rolf Kalbermatter Posted February 15, 2007 Report Share Posted February 15, 2007 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 Quote Link to comment
manojba Posted April 11, 2009 Report Share Posted April 11, 2009 QUOTE (martin@aerodynamics @ Feb 12 2007, 02:37 PM) Hello EugenI 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... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.