10-24-2016 09:28 AM
Hi guys,
I have develop a controller to communicating with instrument using gpib. we can see all called 488 functions that was used in controller application by ni spy, Is there a way to stop ni spy listening since we do not want others know how our controller works? thanks!!!
Solved! Go to Solution.
10-24-2016 12:41 PM
10-24-2016 08:29 PM
thank you!
we just want to protect our intellectual property, since we spent a lot time to develop that controller application.
10-26-2016 08:58 AM - edited 10-26-2016 08:58 AM
Someone could very easily read the contents of the GPIB bus (either using another GPIB device, or using a 'virtual COM port') - so it would be of very little help to disable NI Spy / I/O Trace. If you're communicating with a 3rd party instrument, someone would only need to look up the manual. If you're communicating with your own instrument, then you should encrypt the communications between your software and your hardware.
10-26-2016 09:46 AM
Thanks for your professional answer!
Let's forget the communication content, that's all about measurement logic. I focused on function names. Since NI Spy/IO Trace can display all functions I called inside application, like ibdev, ibrsp, ibwait and etc, is there a way to hide/protect these functions? so NI Spy will not detect such functions.
10-26-2016 09:58 AM - edited 10-26-2016 09:59 AM
Ok, the answer is probably 'no'. The only solution I can think of is to not use NI VISA (as it's the VISA driver itself which outputs everything to the I/O Trace).
There might, however, be a workaround that would allow you to detect if there was an IO trace session running:
(edit: no error should be the dialogue, -303201 indicates no trace session active, ignore other codes?)
The IO trace API allows you to send custom trace events, but it will only work if a trace session is active - it returns error -303201 if there isn't a valid trace session.
In any case - the argument is pointless as it's so easy to see/inspect the communications through other means. Protect your software by offering first-class support and features so the customer always comes back to you!
10-26-2016 10:23 AM
Protect your software by offering first-class support and features so the customer always comes back to you!
Thank you very much!!!
@Sam_Sharp wrote:Ok, the answer is probably 'no'. The only solution I can think of is to not use NI VISA (as it's the VISA driver itself which outputs everything to the I/O Trace).
There might, however, be a workaround that would allow you to detect if there was an IO trace session running:
(edit: no error should be the dialogue, -303201 indicates no trace session active, ignore other codes?)
The IO trace API allows you to send custom trace events, but it will only work if a trace session is active - it returns error -303201 if there isn't a valid trace session.
In any case - the argument is pointless as it's so easy to see/inspect the communications through other means. Protect your software by offering first-class support and features so the customer always comes back to you!