kleines tool brauche Hilfe

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Ich glaube du machst dir da etwas zu viel Arbeit. :wink:

Code: Alles auswählen

MAC.s = InputRequester("Eingabe MAC Adresse", "Bitte geben sie die 12-stellige MAC Adresse ein", "")
MAC = RemoveString(MAC , "-") ; Minus entfernen
code.s = DESFingerprint(MAC, "schwingung") 
MessageRequester("Passwort", "Dein Passwort lautet: "+code, #MB_OK|#MB_ICONINFORMATION)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
guldokat
Beiträge: 14
Registriert: 26.01.2008 15:04

Beitrag von guldokat »

hey super...das ist ja echt genial klein und gut...danke...
nur ich will es ein wenig narrensicher machen...das heist...
es muss reproduzierbar sein weil man ja verschiedene fehler machen kann...
zb. nur grosszeichen bei ABCDEF keine annahme von kleinschreibung
max 12 stellen auch wenn sie keinen einfluss auf den code haben aber besser für den anwender wenn er wirklich nur die 12 stellen der mac eingeben kann.
ok...mit oder ohne minus ist egal weil er eh im code rausgenommen wird...

aber erstmal danke für die schnelle und dolle hilfe!


gruss
Holger
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Wie wäre es damit? :mrgreen:

Code: Alles auswählen

Procedure.s InputMAC()
  MAC.s = InputRequester("Eingabe MAC Adresse", "Bitte geben sie die 12-stellige MAC Adresse ein", "")
  MAC = RemoveString(MAC , "-") ; Minus entfernen
  MAC = RemoveString(MAC , ":") ; Doppelpunkt entfernen
  ProcedureReturn UCase(MAC) ; Rückgabe in Großschreibung
EndProcedure

MAC.s = InputMAC()
If Len(MAC) = 12
  code.s = DESFingerprint(MAC, "schwingung")
  MessageRequester("Passwort", "Dein Passwort lautet: "+code, #MB_OK|#MB_ICONINFORMATION)
Else
  MessageRequester("Passwort", "Es wurde eine ungültige MAC-Adresse eingegeben!  ", #MB_OK|#MB_ICONERROR)
EndIf
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Code: Alles auswählen

; Für Fortgeschrittene  ;-)
MAC.s = InputRequester("Eingabe MAC Adresse", "Bitte geben sie die 12-stellige MAC Adresse ein", "")
MAC = UCase(RemoveString(RemoveString(MAC, "-"), ":"))
If Len(MAC) = 12
  pw$ = DESFingerprint(MAC, "schwingung")
  MessageRequester("Passwort", "Dein Passwort lautet: "+pw$+Chr(10)+"(Es ist nun auch in die Zwischenabage verfügbar)  ", #MB_OK|#MB_ICONINFORMATION)
  SetClipboardText(pw$) ; Passwort ins Clipboard
Else
  MessageRequester("Passwort", "Es wurde eine ungültige MAC-Adresse eingegeben!  ", #MB_OK|#MB_ICONERROR)
EndIf
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
guldokat
Beiträge: 14
Registriert: 26.01.2008 15:04

Beitrag von guldokat »

Hallo,
super...das Programm läuft wie ichs mir gewünscht habe...nur noch eins...
kann ich irgendwie ein install draus machen und durch eine kopie einer nötigen datei irgendwohin ins windows verzeichnis damit eine kopie der exe zu verhindern...ohne das jemand weiss das diese eine datei benötigt wird!? ist ja nur nen dummy aber ebend ohne diesen keine ausführung möglich...
will einen einfachen klau der exe verhindern..

gruss
Holger
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Beitrag von Kurzer »

guldokat hat geschrieben:Hallo,
super...das Programm läuft wie ichs mir gewünscht habe...nur noch eins...
kann ich irgendwie ein install draus machen und durch eine kopie einer nötigen datei irgendwohin ins windows verzeichnis damit eine kopie der exe zu verhindern...ohne das jemand weiss das diese eine datei benötigt wird!? ist ja nur nen dummy aber ebend ohne diesen keine ausführung möglich...
will einen einfachen klau der exe verhindern..
gruss
Holger
Zitat vom Ursprungspost: "...ich bin leider blutiger Anfänger..."
Holger, Du fängst an nach den Sternen zu greifen. Fang ganz klein an und arbeite Dich dann langsam in schwierigeres Terrain hoch.
Du kannst natürlich einen fertigen Installer benutzen und ggf, durch den auch eine "Dummydatei" in das Windowsverzeichnis kopieren lasen, aber unter die Rubrik "Kopierschutz" fällt das wahrlich nicht. Sowas hält niemanden ab. Das ist so, als würdest Du einem Strafgefangenen die Schnürsenkel verknoten, um ihn an einer Flucht zu hindern.

Was hats Du denn vor? Soll das Programm nur auf einem bestimmten Rechner laufen?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
guldokat
Beiträge: 14
Registriert: 26.01.2008 15:04

Beitrag von guldokat »

das problem ist folgendes...
das programm bekommen einige leute bei uns in der firma auf ihren laptops um die besagten passwörter zu generieren...
die leute haben alle nur einen normalen pc und programmierkenntnisstand....da ist kein crack dabei...
ist halt so das ich gerne verhindern möchte das die leute das untereinander kopieren geschweige denn womöglich jemand fremden in die hände geben...
deshalb will ich das zumindest mit einem kleinen trick verhindern...denn die leute haben soweit keine ahnung wenn ihnen das programm sagt da fehlt ne datei wie und wo sie suchen müssen...
ist nun ja nicht soooo wichtig aber ein wenig schwerer will ichs den jungs schon machen...ich kenne die meisten...die würden einfach die exe nehmen und kopieren...den installer bekommen die sowiesonicht in die hände...

gruss
Holger
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Beitrag von Kurzer »

Hmmm, so auf die schnelle würde ich versuchen die Windows Seriennummern dieser Rechner auszulesen und diese als Kopierschutz im Programm abfragen. Evtl. reicht es ja auch einfach nur den "Computernamen" auszulesen und als Verfikationskriterium zu benutzen.

Mit Programmcode kann ich allerdings jetzt nicht dienen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
guldokat
Beiträge: 14
Registriert: 26.01.2008 15:04

Beitrag von guldokat »

hmmm...jeder der rechner hat einen festgelegte pc-id die nicht geändert wird solange es den rechner gibt...dies wäre ein ansatzpunkt das müsste irgendwie gehen das man diesen bei der installation angeben muss und er verheiratet die soft mit dem rechner...

Holger
guldokat
Beiträge: 14
Registriert: 26.01.2008 15:04

Beitrag von guldokat »

Hallo...
ich habe noch ein Problem....
der Ursprungscode war ein DESFingerprint...dieser berücksichtigt jedoch nur die ersten 8 MAC stellen...
Nun haben wir geräte mit Fortlaufenden MAC Adressen...also wo sich nur die letzten 4 stellen teilweise verändern...also gibt er mir dann immer den selben code zurück...

nun habe ich es angepasst auf
pw$ = MD5Fingerprint(*MAC, MemoryStringLength(*MAC))

jedoch bekomme ich dort einen 32 stelligen code zurück....
dieser ist ein wenig zu lang...
wie kann ich diesen denn runterbrechen auf nur 8 stellen?

wäre dankbar!

gruss
Holger
Antworten