I need protect my software.
I will bundle my software with a 3G modem.
I want to ensure that, my software will work only if the 3G modem is attached to the computer. (3G modem is a USB device and I can get IMEI information of the cellular card).
Users of my software agrees to install additional software to run my application. (like driver or any windows service)
I've two ideas,
1. A kernel mode driver, which will check if my app. is running and check if the dungle is attached.
2. An application launcher, which launches my app. after checking dungle. There willl be need to hide my app's executables. The launcher will load app's executables to memory and launch the executable.
Both of the solutions will be accepted.