Seite 2 von 6
Verfasst: 26.04.2009 17:39
von mk-soft
Im englischen forum gefunden
http://www.purebasic.fr/english/viewtop ... =mainboard
Ein freischaltcode damit generieren
Code: Alles auswählen
;
; Get Hardware Fingerprint
;
#HW_PROFILE_GUIDLEN = $27
#MAX_PROFILE_LEN = $50
Structure HW_PROFILE_INFO
DockInfo.l
szHWProfileGUID.c[#HW_PROFILE_GUIDLEN]
szHwProfileName.c[#MAX_PROFILE_LEN]
EndStructure
Procedure.s HardwareFingerprint()
Protected hwp.HW_PROFILE_INFO
GetCurrentHwProfile_(@hwp)
Debug PeekS(@hwp\szHwProfileName[0]) + " -> " + PeekS(@hwp\szHWProfileGUID[0])
ProcedureReturn PeekS(@hwp\szHWProfileGUID[0])
EndProcedure
Debug HardwareFingerprint()
FF
Code-Tags korrigiert - Andesdaf
Verfasst: 26.04.2009 18:07
von Joel
Nein!!!
Machs doch so, du schickst ihnen das Programm und wenn sie es das erste mal ausführen läd es vin einem Server eine zusätzliche Datei. Wenn auf den Rechnern deiner Freunde das programm läuft, löschst du die Datei. wenn jemand anders die Datei ausführt stürzt sie ab, weil die Datei weder auf HDD noch duch FTP Downloadbar ist.
Verfasst: 26.04.2009 18:23
von Little John
Joel hat geschrieben:Machs doch so, du schickst ihnen das Programm und wenn sie es das erste mal ausführen läd es vin einem Server eine zusätzliche Datei. Wenn auf den Rechnern deiner Freunde das programm läuft, löschst du die Datei. wenn jemand anders die Datei ausführt stürzt sie ab, weil die Datei weder auf HDD noch duch FTP Downloadbar ist.
Das lässt sich dadurch knacken, dass man den Download der betreffenden Datei "abschaltet" ...
Gruß, Little John
Verfasst: 26.04.2009 18:56
von cxAlex
Du willst das Programm doch nur 1. Freund schenken oder? Dann programmier eben einen fixen Hardware-Key direkt in die Software, Beispielsweise seine MAC in Verbindung mit der Prozessor-Seriennummer usw. sei kreativ

. Die Datei dann weiterzugeben dürfte dann sinnlos sein außer er patcht den Key raus, und das sollte ein Laie eher nicht schaffen.
Verfasst: 26.04.2009 19:04
von mk-soft
Jeder PC hat seine eigene HWProfile GUID
Habs mal erweitert
Code: Alles auswählen
;
; Get Hardware Fingerprint
;
#HW_PROFILE_GUIDLEN = $27
#MAX_PROFILE_LEN = $50
Structure HW_PROFILE_INFO
DockInfo.l
szHWProfileGUID.c[#HW_PROFILE_GUIDLEN]
szHwProfileName.c[#MAX_PROFILE_LEN]
EndStructure
Procedure.s HardwareFingerprint()
Protected hwp.HW_PROFILE_INFO
Protected result.s
GetCurrentHwProfile_(@hwp)
result = PeekS(@hwp\szHWProfileGUID[0])
result = UCase(result)
result = Mid(result, 2, Len(result) - 2)
result = RemoveString(result, "-")
ProcedureReturn result
EndProcedure
Procedure.s CreateCode(HW_Code.s)
Protected Code.s, Result.s
Code = "Schlüssel:" + HW_Code
Result = MD5Fingerprint(@Code, StringByteLength(Code))
ProcedureReturn Result
EndProcedure
Procedure CheckCode(freigabe.s)
Protected Code.s, Result.s
Code = "Schlüssel:" + HardwareFingerprint()
Result = MD5Fingerprint(@Code, StringByteLength(Code))
If result = freigabe
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
; Anwendung - Code für Freigabe anfordern
hw.s = HardwareFingerprint()
Debug "Anfordercode: " + hw
; Hotline - Freigabe erstellen
code.s = createcode(hw)
Debug "Freischalt Code: " + code
; Anwendung - Code Ok
Debug "Freigabe: " + Str(Checkcode(code))
P.S. Auch wenn das Programm mit gespeicherten Freischaltcode weiter geben wird ist dann der gespeicherte freischaltcode ungültig
Verfasst: 26.04.2009 19:08
von cxAlex
Gute Lösung find ich

.
Aber die einfachste hab ich vergessen: Du schreibst im About einfach groß und fett den Namen deines Freundes rein "Für ......", und wenn so eine Version irgendwo auftaucht weist du ja wenn du einen Kopf kleiner machen musst. Kommt jetzt ganz auf deinen Freund an ob das machbar ist

.
Verfasst: 26.04.2009 19:24
von Sauer-RAM
Das mit dem hardware key will ich ja machen, ich weis nur nicht wie das geht.
Verfasst: 26.04.2009 19:46
von X360 Andy
Guckst du 2 Beiträge über dir....
Verfasst: 26.04.2009 19:54
von Kaeru Gaman
damit isses ja nit getan...
man muss den ja auch irgendwie in den code einbaun um zu vergleichen.
also müsste er praktisch ein vorab-programm schreiben, das den hardware-key ermittelt und ihm zuschickt,
dann kann er ihn in seinen code reinschreiben und das eigentliche programm compilieren.
Verfasst: 26.04.2009 19:58
von mk-soft
Der Freischaltcode kann auch telefonisch angefordert werden. Das Programm so schreiben das erst nach der eingabe des freischaltcode erst alle funktionen verfügbar sind.
Werde mal was basteln.