Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

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_LENGTH
RESULT=GETADAPTERSINFO(ADDRESSES,GETPOINTER(LENGTH))

*

**

* Extract list of MAC addresses.

DONE=FALSE$
FOR POS=9 TO BUFFER_LENGTH STEP 640 UNTIL DONE
  STRING=ADDRESSESPOS,640
  ADDRESS=STRING397,6
  IF ADDRESS EQ STR(CHAR(0),LEN(ADDRESS)) THEN
    DONE=TRUE$
  END ELSE
    MAC=FMT(OCONV(ADDRESS,'HEX'),'L##-##-##-##-##-##')
    MACS=MAC
  END
NEXT POS
RETURN 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

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/ed510b92d060fdea8525710b00018f7d.txt
  • Last modified: 2023/12/28 07:39
  • by 127.0.0.1