Seite 1 von 1

Speicherbereich schützen?

Verfasst: 08.02.2005 16:35
von Kukulkan
Hallo,

Ich will eine DLL mit Verschlüsselungsalgorithmus aufrufen. Jetzt setze ich den Key im Code zusammen (hard-coded). Kann ich irgendwie den Speicherberich so schützen, dass ein Disassembler (zB W32DASM) nicht an diesen Code rankommt? Auch wenn ich den an die Crypto-DLL übergeben muss?

Oder hab ich da keine Chance?

Wie verstecken andere Programme ihre Keys für die interne Verschlüsselung? Zum Beispiel eine zertifizierte Massensignatur-Komponente (http://www.seccommerce.de)? Da darf ich ja auch auf keinen Fall an den Private-Key rankommen (habs mangels Möglichkeiten noch nicht versucht)...

Volker

Verfasst: 08.02.2005 17:37
von Hroudtwolf
Indem du den Key verschlüsselt übergibst.
Du kannst den Übergabe Key schon verschlüsselt in dein Programm einbauen.

Verfasst: 08.02.2005 17:52
von Kukulkan
Hallo Hroudtwolf

Dann muss ich den Key vor der Verwendung entschlüsseln (die DLL verlangt den Key ja im Klartext). Um den zu entschlüsseln muss ich wieder einen Key im Programm ablegen... Dann hab ich das selbe Problem wieder :-(

Ausserdem kann ich mit dem Disassembler ja die Werte bei der Übergabe an die DLL sehen, oder?

Grüsse,

Volker

Verfasst: 08.02.2005 18:01
von GPI
Och, das zu knacken ist ziemlich einfach ohne Assembler. Einfach echte DLL umbennen und eine warper-DLL einfügen und schon bekommt man alle Parameter und somit auch das Passwort.

Tipp meinerseits: Denk nicht zu kompliziert, wenn man an was rankommen will, dann kommt man auch daran (genügen kriminelle Energie vorrausgesetzt). Großartig die Sicherheitsbranche revolutionieren werden wir sie eh nicht...

Verfasst: 08.02.2005 18:02
von Hroudtwolf
Das ist allerdings ein Problemm. Wenn es deine eigene DLL währe könntest du ja den Entschlüsseler dort einbauen. Dem ist ja nicht so.
Über kurz oder lang ist eh jede Methode gecrackt.
Da gabs schon mal ein interessantes Thema hier im Board.

http://www.robsite.de/php/pureboard/vie ... php?t=1642

Verfasst: 08.02.2005 18:19
von Kukulkan
Hi Hroudtwolf,

Meine letzter Vorschlag war der, dass ich mit asymetrischer Verschlüsselung arbeiten könnte. Beim ersten Start erstelle ich ein Schlüsselpaar (Private und Public) das ich in der Crypto-API speichere. Ich verwende dann diese API um zu verschlüsseln und mit dem Public-Key kann ich wieder entschlüsseln. Ist allerdings nicht auf meinem Mist gewachsen und ich muss mich erst reinlesen...

Dennoch Danke,

Volker