Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 19:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MAC-Adresse mit AutoIt auslesen?

Discussion on MAC-Adresse mit AutoIt auslesen? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
dommerle's Avatar
 
elite*gold: 6
Join Date: May 2011
Posts: 2,950
Received Thanks: 1,270
MAC-Adresse mit AutoIt auslesen?

Mir kam gerade eine Idee für ein Login-System. Bei diesem System wird die MAC-Adresse des Benutzers ausgelesen, daraus ein Code generiert, den der Benutzer dann dem Verkäufer schicken muss, welcher den passenden Gegencode generiert, der dann gespeichert wird. Diese Code-/MAC-Adressen Kombination wird dann bei jedem Programmstart auf ihre Richtigkeit geprüft.
So kann man die Benutzung auf einen einzigen PC einschränken.

Wäre dies möglich? Kann man diese Idee umsetzen?

Ich freue mich auf eure Antworten!
dommerle is offline  
Old 07/26/2011, 00:40   #2
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
warum sollte das nicht gehen?

habs als lowbob mit der eindeutigen hdd seriennummer gemacht.
funktion ist iwo ausm inet.

Code:
Func _GetDriveInfo($sDrive)
    $sDrive = StringRegExpReplace($sDrive, '(?i)(.*)([a-z]{1}:)(.*)', '$2')
    Local $sDriveType = DriveGetType($sDrive)
    If $sDriveType <> 'Fixed' And $sDriveType <> 'Removable' Then SetError(1, 0, 1)
    If Not FileExists($sDrive) Then Return SetError(1, 0, 1)
    Local $wbemFlagReturnImmediately = 0x10
    Local $wbemFlagForwardOnly = 0x20
    Local $colItems = ''
    Local $aPartition, $aPhysicalDrive, $aOut[14][2]
    $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2')
    If Not IsObj($objWMIService) Then Return SetError(2, 0, 2)
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_LogicalDiskToPartition', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) then
        For $objItem In $colItems
            If StringInStr($objItem.Dependent, '"' & $sDrive & '"') Then
                $aPartition = StringRegExp($objItem.Antecedent, 'DeviceID="(.*)"', 3)
            EndIf
        Next
    Endif
    If Not IsArray($aPartition) Then Return SetError(3, 0, 3)
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDriveToDiskPartition', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) then
        For $objItem In $colItems
            If StringInStr($objItem.Dependent, '"' & $aPartition[0] & '"') Then
                $aPhysicalDrive = StringRegExp($objItem.Antecedent, 'DeviceID="(.*)"', 3)
            EndIf
        Next
    Endif
    If Not IsArray($aPhysicalDrive) Then Return SetError(4, 0, 4)
    $aPhysicalDrive[0] = StringReplace($aPhysicalDrive[0], '\\', '\')
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDrive', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) then
        For $objItem In $colItems
            If StringInStr($objItem.DeviceID, $aPhysicalDrive[0]) Then
                $aOut[0][0] = 'Volume-Label'
                $aOut[0][1] = DriveGetLabel($sDrive)
                $aOut[1][0] = 'Serial-Nr. (Volume)'
                $aOut[1][1] = DriveGetSerial($sDrive)
                $aOut[2][0] = 'Model'
                $aOut[2][1] = $objItem.Model
                $aOut[3][0] = 'Serial-Nr. (Drive)'
                $aOut[3][1] = StringMid($objItem.PNPDeviceID, StringInStr($objItem.PNPDeviceID, '\', 0, -1) + 1)
                $aOut[3][1] = StringReplace($aOut[3][1], '&0', '')
                $aOut[4][0] = 'Interface'
                $aOut[4][1] = $objItem.InterfaceType
                $aOut[5][0] = 'Size (Bytes)'
                $aOut[5][1] = $objItem.Size
                $aOut[6][0] = 'Media Type'
                $aOut[6][1] = StringRegExpReplace($objItem.MediaType, '[^[:print:]]', ' ')
                $aOut[7][0] = 'Total Cylinders'
                $aOut[7][1] = $objItem.TotalCylinders
                $aOut[8][0] = 'Total Heads'
                $aOut[8][1] = $objItem.TotalHeads
                $aOut[9][0] = 'Total Tracks'
                $aOut[9][1] = $objItem.TotalTracks
                $aOut[10][0] = 'Total Sectors'
                $aOut[10][1] = $objItem.TotalSectors
                $aOut[11][0] = 'Tracks Per Cylinder'
                $aOut[11][1] = $objItem.TracksPerCylinder
                $aOut[12][0] = 'Sectors Per Track'
                $aOut[12][1] = $objItem.SectorsPerTrack
                $aOut[13][0] = 'Bytes Per Sector'
                $aOut[13][1] = $objItem.BytesPerSector
            EndIf
        Next
    Endif
    $objWMIService = ''
    Return $aOut[3][1]
EndFunc
aufruf:

Code:
Global $idnr = "5&34DAC8C4.1.0" ; beispiel, klar wa?
If _GetDriveInfo('c:') <> $idnr And _GetDriveInfo($sDrive) <> "eigene id damit das ding noch auf eigenem rechner läuft----5&692E352&1.1.0" Then
	MsgBox(16, "", "wrong id!")
	Exit
EndIf
ähnliche funktionen gibts für mac, cpu sn und nen haufen anderen käse auch.
aber da das jeder depp mit olly oder deobfuscator umgehen kann völlig nutzlos
kknb is offline  
Thanks
2 Users
Old 07/26/2011, 05:59   #3
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
kknb und wo ist der unterschied zu: :P
Code:
DriveGetSerial ( "path" )
zum threadersteller kann ich nur sagen, das nicht jeder pc eine mac adresse hat, sondern jedes verbaute hardwareteil.

da wären zb.:
board, cpu, jeder einzelne ram stick, festplatten, laufwerke, und selbst angeschlossene drucker/scanner haben ihre eigene hardwareadresse.

willst du ein programm schreiben, welches abhängig von der aktuellen hardware konstellation läuft, kommt es allerdings selbst bei minimalsten änderungen (zb. erweitern des speichers), zu problemen, wie es zb beim neuen microsoft office der fall ist.
eventuell erworbene lizenzen, sind somit nichtmehr weiter nutzbar.
lolkop is offline  
Old 07/26/2011, 11:53   #4
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
Quote:
Originally Posted by lolkop View Post
kknb und wo ist der unterschied zu: :P
Code:
DriveGetSerial ( "path" )
das du damit wesentlich mehr auslesen kannst wie du im source erkennen wirst.
kknb is offline  
Thanks
2 Users
Old 07/28/2011, 10:49   #5
 
elite*gold: 0
Join Date: Jun 2011
Posts: 67
Received Thanks: 4
Lightbulb

Also das mit der MAC zu machen ist nicht gut da ich z.b. die MAC meines LAN-Adapters Wechsle. Dies geht per Registrie (SoftwareMAC) und ist kein eindeutiges merkmal für den PC.
MfG
Vierus
PS: Ein Anderer vorschlag wäre eine Anmeldung über eine Webseite und aus den Daten dann eine Serial zu Generieren die dann im PG eingegeben werden muss und bei jedem strart des PG´s wird diese mit der Datenbank auf dem Server verglichen. (Hatt dazu einer ne Anleitung oder Tips da ich so was suche )
Vierus.exe is offline  
Old 07/28/2011, 19:42   #6
 
elite*gold: 0
Join Date: Aug 2006
Posts: 409
Received Thanks: 150
Quote:
Originally Posted by Vierus.exe View Post
Also das mit der MAC zu machen ist nicht gut da ich z.b. die MAC meines LAN-Adapters Wechsle. Dies geht per Registrie (SoftwareMAC) und ist kein eindeutiges merkmal für den PC.
MfG
Vierus
PS: Ein Anderer vorschlag wäre eine Anmeldung über eine Webseite und aus den Daten dann eine Serial zu Generieren die dann im PG eingegeben werden muss und bei jedem strart des PG´s wird diese mit der Datenbank auf dem Server verglichen. (Hatt dazu einer ne Anleitung oder Tips da ich so was suche )
Das verhindert aber nicht, dass jemand das Programm inkl. Zugangsdaten weitergibt...
~De@dly Silence~ is offline  
Reply


Similar Threads Similar Threads
WoW Bot AutoIT HP auslesen
10/17/2013 - AutoIt - 13 Replies
Hey,ich hab damit angefangen mit nen kleinen Bot fürn PrivatServer zu basteln,der auf der Version 3.3.3a läuft. Gibt es für PrivatServer andere Offsets als für die Offiziellen Server? Aber irgendwie bekomme ich immer als HP anzahl : 0 raus. Ich habe die richtigen Offsets genommen : ;/*Patch 3.3.3*/ ;/*Player offsets*/ Local $Mem_Player_Base = 0x00B366D0, $Mem_Player_Base_P1 = 0x34, $Mem_Player_Base_P2 = 0x24
WoW Pointer mit Autoit auslesen
12/08/2010 - AutoIt - 9 Replies
Ich habe den 4byte wert von der z position von meinem eigenen Chara herausgefunden. Ich weiß das 4 Byte falsch sind aber das ist egal. Mir reicht auch ein 4 byte wert. Danach habe ich rechtsklick auf den Wert gemacht und Pointer Scan for this adress. Alles So gelassen und OK geklickt. Ich habe eine Liste mit offsets und allem möglichen gefunden. Wenn ich diesen Pointer mit offsets aber in Autoit einbinde und mit memorypointerread auslese bekomme ich 0x00000017 als rückgabewert. ...
WoW Spellcooldown auslesen (AutoIT)
07/16/2010 - WoW Bots - 11 Replies
Hallo Ich würde gern meine Spell Cooldowns auslesen, hab dazu hab ich schon einiges gefunden, aber nur mit den alten Offsets, daher meine Frage: Hat hier jemand die aktuellen SpellCooldown Offsets oder weiß einer ob die stimmen die ich haben? spellsOnCooldown = 0x00D3F5A4 thx
AutoIt kann keine statische Adresse mit XYZ Koordinaten auslesen?
10/10/2009 - WoW Bots - 15 Replies
Hi ich frage mich, warum mein AutoIt Code keine statische Adresse aus Wow 2.4.3, genauer: die XYZ Koordinaten, auslesen kann.:confused: Es kommt immer nur 0 raus, anstelle der in CE korrekt angezeigten Koordinaten (bei gleicher statischer Adresse, also nichts mehr mit Pointern usw) Code: #include <NomadMemory.au3> #include <GUIConstants.au3> #include <String.au3>



All times are GMT +1. The time now is 19:05.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.