Re: Creating machine-specific, licensed IDL software [message #57588] |
Mon, 17 December 2007 04:25 |
devin.white
Messages: 50 Registered: March 2007
|
Member |
|
|
You might be able to use the LMGR function within your program to
retrieve the LMhostID (MAC address) for the machine your program is
currently running on. You program could then compare that returned
string against one that contains an approved MAC address and make a
decision as to whether or not it should continue to run. LMGR returns
an address as a twelve character string with no hyphens (e.g,
123456ABCDEF instead of 12-34-56-AB-CD-EF). If the machine has more
than one network interface card (including wireless), the string
returned from LMGR will contain the addresses for all of the ones that
are currently active. It will look something like this:
"123456ABCDEF 7891011GHIJK"
You'd have to use STRSPLIT or STRMID to extract the addresses to
separate strings prior to comparing them to the approved address.
On Dec 15, 1:59 pm, "M. Katz" <MKatz...@yahoo.com> wrote:
> I'm contemplating creating commercial software that will be licensed
> for use on specific machines. In an effort not to re-invent the wheel,
> can anyone provide a good recommendation for how to implement such a
> system.
>
> I'd like my program to be able to check either a MAC address or
> something similar that's machine-specific. I want to avoid having a
> system where the program needs to 'phone home' on every load to check
> on a license validity using the internet.
>
> Of course, I'd like to be able to do this in a way that's cross-
> platform, but I'd gladly settle for writing different methods for
> different platforms.
>
> If I'm distributing code that will execute on the IDL VM, perhaps
> there's a way to specify a given machine's installation in a non-
> transferrable way?
>
> Thanks!
> M. Katz
|
|
|
Re: Creating machine-specific, licensed IDL software [message #57592 is a reply to message #57588] |
Sun, 16 December 2007 15:43  |
rkombiyil
Messages: 59 Registered: March 2006
|
Member |
|
|
On Dec 16, 3:59 am, "M. Katz" <MKatz...@yahoo.com> wrote:
> I'm contemplating creating commercial software that will be licensed
> for use on specific machines. In an effort not to re-invent the wheel,
> can anyone provide a good recommendation for how to implement such a
> system.
>
> I'd like my program to be able to check either a MAC address or
> something similar that's machine-specific. I want to avoid having a
> system where the program needs to 'phone home' on every load to check
> on a license validity using the internet.
>
> Of course, I'd like to be able to do this in a way that's cross-
> platform, but I'd gladly settle for writing different methods for
> different platforms.
>
> If I'm distributing code that will execute on the IDL VM, perhaps
> there's a way to specify a given machine's installation in a non-
> transferrable way?
>
> Thanks!
> M. Katz
Hi,
As you have mentioned, usually these numbers (ID) are hash generated
based on HDD/CPU serial #.. But for example - if you base it on MAC
address- imagine this scenario, I install your software and I am using
a PCMCIA card, and I have to use your software at home, but can't use
the PCMCIA card (modem connection/no connection/forgot/whatever other
reasons), then I would be annoyed because I paid lots of money to get
your software, but can't use it :( If it is very sophisticated
software, you might want to look into hardware locks (dongles?), which
are attached to specific machines and which are programmable also. But
if umm, someone pays lots of money to buy your software, they wouldn't
be sharing it freely with others, would they?
I am sure you already know whatever I am talking about..But just some
thoughts..
Good luck,
/rk
|
|
|