LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Protect LabView program from illegal use

We used LabView program and NI USB DAQ to develop a test system which includes both hardwares and softwares. We convert the LabView programs to executable file so the customer does not need to purchase LabView.

However, as our hardware is quite simple and we actually invested more on LabView prgram than on hardware. We are worrying some users may make their own hardware and use our executable LabView program without paying us. Is it possible to add the serial number of the NI USB DAQ into the LabView program such that the user can only run the LabView Program to drive the hardware with the NI USB DAQ we provided? We know that LabView has this function, but do not know whether it is a valid solution to protect our IP on the software.

Thank you.

0 Kudos
Message 1 of 5
(3,007 Views)

You can tie it to the HW SN with something like this:

tie to hw.png

Or there's a general purpose third party licensing toolkit

http://sine.ni.com/nips/cds/view/p/lang/en/nid/209107

Message 2 of 5
(2,949 Views)

I just posted my own topic about creating custom DAQmx Scales for an accelerometer, and in there I have a routine called "Find Valid Devices", which basically does what nanocyte suggested -- I query the Devices, looking for USB-6009 and then checking for the appropriate serial number.  I've (so far) only done this in "Development" mode, but don't see why it wouldn't work in an Executable.  

 

Bob Schor

0 Kudos
Message 3 of 5
(2,933 Views)

What I have done for one customer in a similar situation is to create a hash on the DAQ serial number.  Back then, I didn't know much about hashes, so mine was sort of randomly home grown, but these days, there are tons of things like MD5, etc. that already has been done in LabVIEW.

 

I created a program that creates this hash based off of the board serial number and a passphrase.  My customer uses that when he builds a new system for his customer.  The code the end customer runs basically recaculates this hash and compares it to the one stored in the INI file.  If they don't match, then the program will only run in demo mode.  No one knows the passphrase, as it is hardcoded into both programs, so my customer just needs to input the board serial number.

 

Doing it this way will allow you to have an indpendent software package that will work with any hardware.  If you just check a serial number, you will have to write a new version of code for every instance, or store it somewhere where they cannot find it.  This leads to issues when they have legitimate issues, such as moving the system to a new computer, etc.  The hash method doesn't care if the user knows what the hash is because that hash only works for that serial number.

 

0 Kudos
Message 4 of 5
(2,930 Views)

We usually provide License for our developed software, to protect from using same execuatles in multiple station.

like the same if you want to restrict the customer from using Multiple hardware you can restrict but it soley depends on the kind of aggrement you have with your customer.

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 5 of 5
(2,918 Views)