Verschlüsselung (AES etc.) für PB 4

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Zum Thema Reverse Engeneering:

Ein Passwort zu verschlüsseln und im Programm abzulegen ist ziemlich sinnfrei. Um das rauszubekommen muss man weder Kryptologe sein, noch den Verschlüsslungsalgorythmus kennen. Lässt sich mit nem Debugger wunderbar vom Speicher abgreifen. Man muss nur die richtige Stelle für den Breakpoint finden. Das ist aber in den meisten Fällen eine Sache von Minuten. Also ich meine, man liest das Passwort direkt nach der Entschlüsslung aus dem Speicher aus.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Passwort gehört niemals in die Exe! Dann kann man sich die Verschlüsselung
sparen :mrgreen:

Evtl. einen MD5Fingerprint, um die Eingabe zu überprüfen, bevor man
Datenmüll entschlüsselt und der PC abstürzt. Aber auch nur, wenns nicht
anders geht.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Passwort gehört niemals in die Exe! Dann kann man sich die Verschlüsselung sparen
Rrrrichtig! Ich speichere es deshalb immer in der INI zur EXE ab. ;-)

Aber im Ernst, irgendwo muss ich doch das Passwort hinterlegen und das Programm darauf zugreifen. Also steht es auch irgendwann mal in Speicher und kann ausgelesen werden. Ist also nur eine Frage, wieviel Energie jemand dransetzt, das Passwort zu bekommen...

Sven
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Entweder Du mutest dem Benutzer es zu, das Passwort jedesmal einzugeben,
oder nach erfolgreicher Eingabe einfach als Fingerprint in der Registry
speichern (ohne Passwort für den Fingerprint in der Exe :lol: )

Es kommt immer drauf an, was vor wem geschützt wird. Sein eigenes
FTP-Passwort in der Exe verschlüsseln, damit das Programm drauf zugreifen
kann, ohne das der Benutzer dieses kennt ist ziemlich blödsinnig.
Freischaltcode für ne Shareware kann man versteckt speichern, oder so
gestalten, das der gespeicherte Code zum entschlüsseln nicht nütze ist
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Ein bisschen handlicher:

Code: Alles auswählen

Procedure EnCryptAES(InFile.s, OutFile.s, Password.s)
  If OpenLibrary(0,"aes.dll") 
    Erge.l = GetFunction(0, "AES_Crypt_File") 
    key.s = MD5Fingerprint(@Password, 4)
    CallFunctionFast(Erge, 0, InFile, OutFile, key, 8192*2)
    CloseLibrary(0)
    DeleteFile(InFile+".pack") 
  EndIf
EndProcedure
  
Procedure DeCryptAES(InFile.s, OutFile.s, Password.s)
  If OpenLibrary(0,"aes.dll") 
    Erge.l = GetFunction(0, "AES_Crypt_File") 
    key.s = MD5Fingerprint(@Password, 4)
    CallFunctionFast(Erge,1, InFile, OutFile, key, 8192*2)
    CloseLibrary(0)
    DeleteFile(OutFile) 
    RenameFile(OutFile + ".dec", OutFile)
  EndIf
EndProcedure
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
m0
Beiträge: 150
Registriert: 12.10.2004 13:55
Wohnort: Immenstadt
Kontaktdaten:

Beitrag von m0 »

hi! die AES.dll is ja geil, nur würde mich intressieren mit wieviel bit da verschlüsselt wird, und was für schlüsseltypen übergeben werden können.

danke!!

m0
Schaut euch doch http://www.momo-wagner.de mal an ;)

MfG
m0
Gesperrt