Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Security questions help please


I am trying to protect an Excel application such that it will only run
on two computers, before a prompt is made to get an additional license
key. Thought about using the MAC address??

Does anyone know

1. How to call a MAC address?

2. Another way of going about the security issue or any 3rd party
products out there that address this?

Cheers

Peter


--
peter.thompson
------------------------------------------------------------------------
peter.thompson's Profile: http://www.excelforum.com/member.php...o&userid=29686
View this thread: http://www.excelforum.com/showthread...hreadid=502769

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 18
Default Security questions help please

Hi, Peter

As I know, MAC address of the latest Lan adapter can be changeable.
Therefore the protection using MAC address is not perfect.

The following is how to get a MAC address.

Regards,

sjoo
------------------------------------------------------------------------------------
Option Explicit

Public Const NCBASTAT = &H33
Public Const NCBNAMSZ = 16
Public Const MEM_RESERVE = &H2000
Public Const MEM_COMMIT = &H1000
Public Const MEM_RELEASE = &H8000
Public Const PAGE_READWRITE = &H4
Public Const HEAP_ZERO_MEMORY = &H8
Public Const HEAP_GENERATE_EXCEPTIONS = &H4
Public Const NCBRESET = &H32

Public Type NCB
ncb_command As Byte 'Integer
ncb_retcode As Byte 'Integer
ncb_lsn As Byte 'Integer
ncb_num As Byte ' Integer
ncb_buffer As Long 'String
ncb_length As Integer
ncb_callname As String * NCBNAMSZ
ncb_name As String * NCBNAMSZ
ncb_rto As Byte 'Integer
ncb_sto As Byte ' Integer
ncb_post As Long
ncb_lana_num As Byte 'Integer
ncb_cmd_cplt As Byte 'Integer
ncb_reserve(9) As Byte ' Reserved, must be 0ncb_event As Long
End Type

Public Type ADAPTER_STATUS
adapter_address(5) As Byte 'As String * 6
rev_major As Byte 'Integer
reserved0 As Byte 'Integer
adapter_type As Byte 'Integer
rev_minor As Byte 'Integer
duration As Integer
frmr_recv As Integer
frmr_xmit As Integer
iframe_recv_err As Integer
xmit_aborts As Integer
xmit_success As Long
recv_success As Long
iframe_xmit_err As Integer
recv_buff_unavail As Integer
t1_timeouts As Integer
ti_timeouts As Integer
Reserved1 As Long
free_ncbs As Integer
max_cfg_ncbs As Integer
max_ncbs As Integer
xmit_buf_unavail As Integer
max_dgram_size As Integer
pending_sess As Integer
max_cfg_sess As Integer
max_sess As Integer
max_sess_pkt_size As Integer
name_count As Integer
End Type

Public Type NAME_BUFFER
name As String * NCBNAMSZ
name_num As Integer
name_flags As Integer
End Type

Public Type ASTAT
adapt As ADAPTER_STATUS
NameBuff(30) As NAME_BUFFER
End Type

Public Declare Function Netbios Lib "netapi32.dll" _
(pncb As NCB) As Byte

Public Declare Sub CopyMemory Lib "kernel32" Alias _
"RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, _
ByVal cbCopy As Long)

Public Declare Function VirtualAlloc Lib "kernel32" (lpAddress As Long,
_
ByVal dwSize As Long, ByVal flAllocationType As Long, _
ByVal flProtect As Long) As Long

Public Declare Function VirtualFree Lib "kernel32" (lpAddress As Any, _
ByVal dwSize As Long, ByVal dwFreeType As Long) As Long

Public Declare Function GetProcessHeap Lib "kernel32" () As Long

Public Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long,
_
ByVal dwFlags As Long, ByVal dwBytes As Long) As Long

Public Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, _
ByVal dwFlags As Long, lpMem As Any) As Long

Public Function getMac() As String
Dim myNcb As NCB
Dim bRet As Byte

myNcb.ncb_command = NCBRESET
bRet = Netbios(myNcb)
myNcb.ncb_command = NCBASTAT
myNcb.ncb_lana_num = 0
myNcb.ncb_callname = "* "

Dim myASTAT As ASTAT, tempASTAT As ASTAT
Dim pASTAT As Long

myNcb.ncb_length = Len(myASTAT)

Debug.Print ERR.LastDllError
pASTAT = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS Or _
HEAP_ZERO_MEMORY, myNcb.ncb_length)

If pASTAT = 0 Then
Debug.Print "memory allcoation failed!"
Exit Function
End If

myNcb.ncb_buffer = pASTAT
bRet = Netbios(myNcb)
Debug.Print ERR.LastDllError
CopyMemory myASTAT, myNcb.ncb_buffer, Len(myASTAT)
getMac = myASTAT.adapt.adapter_address(0) & "." & _
myASTAT.adapt.adapter_address(1) _
& "." & myASTAT.adapt.adapter_address(2) & "." & _
myASTAT.adapt.adapter_address(3) _
& "." & myASTAT.adapt.adapter_address(4) & "." & _
myASTAT.adapt.adapter_address(5)


' MsgBox myASTAT.adapt.adapter_address(0) & " " & _
' myASTAT.adapt.adapter_address(1) _
' & " " & myASTAT.adapt.adapter_address(2) & " " & _
' myASTAT.adapt.adapter_address(3) _
' & " " & myASTAT.adapt.adapter_address(4) & " " & _
' myASTAT.adapt.adapter_address(5)

' MsgBox Hex(myASTAT.adapt.adapter_address(0)) & " " & _
' Hex(myASTAT.adapt.adapter_address(1)) _
' & " " & Hex(myASTAT.adapt.adapter_address(2)) & " " & _
' Hex(myASTAT.adapt.adapter_address(3)) _
' & " " & Hex(myASTAT.adapt.adapter_address(4)) & " " & _
' Hex(myASTAT.adapt.adapter_address(5))

HeapFree GetProcessHeap(), 0, pASTAT

End Function

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Security questions help please


Thanks for the heads up re the LAN address changes. I think the hard
drive serial number may be a better way then and I've found some code
do do this.

Thanks again for your help, much appreciated.

Cheers

Peter


--
peter.thompson
------------------------------------------------------------------------
peter.thompson's Profile: http://www.excelforum.com/member.php...o&userid=29686
View this thread: http://www.excelforum.com/showthread...hreadid=502769

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Answers to questions posing more questions in a workbook sbelle1 Excel Worksheet Functions 2 August 8th 09 01:02 AM
View Questions and Answer to questions I created Roibn Taylor Excel Discussion (Misc queries) 4 July 24th 08 12:05 AM
VBA Security Naga Excel Programming 3 June 22nd 05 10:35 AM
security tjh Excel Programming 2 October 18th 04 03:30 AM
Security... LC[_2_] Excel Programming 2 December 22nd 03 05:05 PM


All times are GMT +1. The time now is 04:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"