Security (OpenInsight 32-bit Specific)
At 03 FEB 2006 07:17:02PM Marty Rosenbloom wrote:
Hi,
I have an app that I created for my use. I showed it to some friends and they expressed an interest in buying a copy from me. It's a small app to keep track of a specific type of sales and customers. Although it might be limited in use, others might be interested in it also. Before I make it available, though, I want to make it as pirate proof as possible. What have others done toward that goal? How do I secure it so that it can't be passed around?
TIA,
Marty
At 04 FEB 2006 05:37PM Richard Hunt wrote:
You could check for a certain MAC(Media access control) address.
At 04 FEB 2006 10:13PM Marty Rosenbloom wrote:
Richard,
That sounds interesting, how do I do that?
Marty
At 05 FEB 2006 10:27AM Richard Hunt wrote:
First off… I am not anywhere near knowledgeable in Windows SDK.
I use Windows "GetAdaptersInfo" function. You need to create the row "DLL_IPHLPAPI" in table "SYSPROCS", as follows…
IPHLPAPI
ULONG STDCALL GetAdaptersInfo(LPCHAR,ULONG)
Next… run Declare_FCNS "DLL_IPHLPAPI"
Once that is done then you can call the function. The information returned from the function is a bit cryptic. Also it seems to return all MAC addresses so I create a list from the results and then verify the one MAC I am verifying exists in the list.
The following code might help extracting the list of MAC's from the functions returned information…
FUNCTION GET_MAC(ARG1)
* Program: GET_MAC
* Module: PROCEEDURE
* Copyright 2000, Richard S. Hunt, All Rights Reserved.
* Audit trail. * Mod.0 12/26/05 Function to get MAC (Media access control) addresses. *
* Declare statements.
DECLARE FUNCTION GETADAPTERSINFO*
* Set program variables. $INSERT VARS * OPTION=OCONV(ARG1,'UDC_UPPER') RESULT=NOTHING$ BUFFER_LENGTH=4096 MACS=NOTHING$ *
* Get MAC address strings.
ADDRESSES=STR(CHAR(0),BUFFER_LENGTH)LENGTH=BUFFER_LENGTHRESULT=GETADAPTERSINFO(ADDRESSES,GETPOINTER(LENGTH))*
**
* Extract list of MAC addresses.
DONE=FALSE$FOR POS=9 TO BUFFER_LENGTH STEP 640 UNTIL DONESTRING=ADDRESSESPOS,640ADDRESS=STRING397,6IF ADDRESS EQ STR(CHAR(0),LEN(ADDRESS)) THENDONE=TRUE$END ELSEMAC=FMT(OCONV(ADDRESS,'HEX'),'L##-##-##-##-##-##')MACS=MACENDNEXT POSRETURN MACS
At 05 FEB 2006 11:28AM Marty Rosenbloom wrote:
Richard,
I am going to be traveling the next few days, but when I return I will give this a go. Thanks for the help.
Marty