Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

how to disable ni spy

Solved!
Go to solution

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

0 Kudos
Message 1 of 7
(3,502 Views)

The only way to keep communication secret is not to communicate.

It i always possible to see what is sent or received, if not by NI Spy, you can see it with a bus analyzer.

 

Why do you want to keep it secret at all.

greetings from the Netherlands
Message 2 of 7
(3,478 Views)

thank you!

we just want to protect our intellectual property, since we spent a lot time to develop that controller application.

0 Kudos
Message 3 of 7
(3,459 Views)

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.


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 4 of 7
(3,433 Views)

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.

0 Kudos
Message 5 of 7
(3,426 Views)
Solution
Accepted by askguy

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:

DontTraceMeBro.png

(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!


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 6 of 7
(3,421 Views)
Solution
Accepted by askguy

Heart 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:

DontTraceMeBro.png

(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!


 

0 Kudos
Message 7 of 7
(3,415 Views)