Hacker und Hackerprogramme: Eigene Exe schützen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Hacker und Hackerprogramme: Eigene Exe schützen

Beitrag von Green Snake »

[Edit by Kiffi: Thema gesplittet und hierhin verschoben. Sobald 'gehaltvolle' Beiträge kommen, kann das Thema in 'Allgemein' verschoben werden.]
[Edit by NicTheQuick: Thread jetzt verschoben.]


hallo

da wir gerade auf hacker und hackerprogramme kommen.
folgende situation

Code: Alles auswählen

Passwort$ = InputRequester("","","")
If Passwort$ <> "123456789"
  MessageRequester("Flasch","")
Else
  MessageRequester("","richtig")
EndIf
könnte man mit dem hacker prog, oder einfach könnte ein hacker das passwort auslesen, wenn ich es so in die exe lade?
oder was empfehlt ihr, um in diesem fall das pw zu schützen?
in eine verschlüsselte txt vielleicht?
aber...könnte ein hacker dan den buffer und den verschlüsselngs rytmus oder wie das heisst nicht auch auslesen?
-.-"
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Benutz z.B. einen MD5-Fingerpint.

Code: Alles auswählen

Pass.s = InputRequester("Passwort", "Passwort:", "")

If MD5Fingerprint(@Pass, Len(Pass)) <> "c431180cdbb431de9741b15337485d35"
  MessageRequester("Passwort", "Falsch")
Else
  MessageRequester("Passwort", "Richtig")
EndIf
Das Passwort wäre in diesem Fall mein Nickname Und den MD5-Fingerprint kann man nicht einfach zurückwandeln.

Was aber ein Hacker trotzdem machen kann, ist, deine If-Abfrage so umzubauen, dass sie immer den "Richtig"-Requester anzeigt.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

danke erstmal

aber wie kann man das den machen, admit es so gut wie hackersicher ist?
-.-"
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Ich würde sagen, das geht überhaupt nicht.

Am kompliziertesten für einen Hacker wird es aber wohl, wenn das Programm benutzerdefinierte Daten aus dem Internet laden muss, damit es startet oder installiert werden kann. Aber sowas kannn man ja nicht bei jedem voraussetzen.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

Viele Programme werden wahrscheinlich irgendwann irgendwo von einem Hacker/Cracker gehackt/gecrackt. Da kann man manchmal nicht viel dagegen tun. Da brauchst du doch nur mal schauen, wie viele NoCD-Cracks es für Spiele gibt. Aber man kann was dagegen tun, ausreichend verschlüsseln (z.B. 46 Methoden hintereinander), mit Fingerprints arbeiten,.... :allright:
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

da habe ich noch ne andere frage zur sicherheit.
geht zwar auch um hacker, is aber was föllig anderes.

ich habe zb ein programm.
welches wäre die sicherste möglichkeit, dass man dies nicht kopieren kann?

beispiel bei normalen programen.

Mark kauft ein programm: ABC.exe
er gibt das passwort fürs registrieren ein: 123789
mark hat jetzt vollen zugriff auf das programm
jetzt schenkt er feliz das programm dh. er kopiert es ihm
felix kann da ebenfalls das passwort 123789 eingeben, und hat auch vollen zgriff darauf

wie kann man es aber machen, das man das prog nur einmal reg. kann?
man müsste ja dann einen upload auf ne seite machen, und das prog. testet, ob diese passwörter schon vorhanden sind.
naja, finde ich nicht so gut...hat jemand ne bessere idee?
-.-"
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Im Internet ne Datenbank anlegen und dann dort alle Keys speichern, die benutzt wurden. Wer kein Internet hat, der hat halt Pech gehabt :twisted:.
Bild
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Passwort$ = InputRequester("","","")
If Passwort$ <> "123456789"
MessageRequester("Flasch","")
Else
MessageRequester("","richtig")
EndIf
Wenn du das so schreibst, brauch man die Exe später nur mit einem Texteditor öffnen und kann das Passwort (123456789) direkt herauslesen, ohne dass man sich Mühe geben muss. Also du solltest das irgendwie verschlüsseln oder sonstwas nur so ist es absolut ungesichert, das das Passwort in ASCII-Form der Exe beigelegt wird.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Es gibt keinen 100% Schutz. Es wird immer jemanden geben der cleverer ist als du. Und dieser jemand wird im Stande sein den Schutz zu knacken. Das ist wie ein Sport. Die Besten gewinnen, aber sie bleiben nicht immer die Besten ^^

Achja: Ich hoffe ihr seid euch darüber im Klaren, dass hier von Blackhats die rede ist. Danke :allright:
Benutzeravatar
The Gimp
Beiträge: 15
Registriert: 16.03.2005 22:13

Beitrag von The Gimp »

Der MD5 fingerprint hilft auch so viel wie nichts....
jeder mit bisschen asm kenntnissen und nem disassembler kann den fingerprint aus dem stack auslesen bzw einfach den jmp ändern
überhaupt bei so sauber erzeugten asm von pb ;) Da hilft auch ein hardcoded serial nichts!

Die wirklich beste lösung scheint eine inet database zu sein, was aber ziemlich unfreundlich gegenüber der user ist!
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
Antworten