Link to home
Start Free TrialLog in
Avatar of charlojede
charlojede

asked on

Sharing an application over the network

Hi Everyone,

Please I have an application that require a dongle license to work. Now i want someone else from the same organisation that sit in a seperate building to have access to the application without having full access to the system desktop. So that when the application is launched from the remote client, it connect to the server resources (license etc)
ASKER CERTIFIED SOLUTION
Avatar of Richard Davis
Richard Davis
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I agree with AB - it's very unlikely to work. The entire idea behind a license is to ensure that a single entity is -licensed-  to do something, and dongles are an even more secure way to ensure this.

That said, there's (usually) no harm in checking. Some dongles operate differently. PHP is likely the wrong language to determine or work with this, though. A dongle is usually either based on USB or a COM port (RS-232), and a language like C++ or .NET would be more likely to have a chance at interacting with the device.

Many dongle devices work by having the software look at a snapshot of the local machine's physical attributes (hard drive serial numbers, for example), creating a "challenge" and sending the challenge to an API located on the dongle device itself. The dongle knows how to respond to the challenge, so it creates the proper response and sends it back to the software. The software validates the response against the current machine specs and says, "OK, it looks like the dongle is plugged into the current machine, so you're licensed to use the software."

So the only way to really work around that design is to create a virtual USB device (a program, not a piece of hardware) that pretends to have the API of the real dongle. It needs to mimic the dongle in every way so that the software knows where to send the challenge. Once the virtual USB device receives the challenge, it passes the data over the network to a receiver application which passes the challenge onto the real dongle, then captures the response, passes it BACK to the virtual device, which can pass it back to the software.

You can probably guess that while this might be technically feasible, it's a monstrous effort. At that point, you have to ask yourself, "Is it really worth the time and money investment versus just purchasing another dongle?"
The point of a dongle is to prevent what you are trying to do.

Usually when you have a dingle, you can install the software on multiple computers. You can run the software on the machine with the dongle plugged in to make it work.  When the other person need to use it, you would give them the dongle.

If you find you are having to swap the dongle between users a lot then it is probably time to purchase another one.

If I were going to attempt what you ask, I would ask the software vendor if it is even possible. I would also be  sure it would not violate your license agreement.