Delphi Codier Funktion in App oder DLL?

smoker_on_line

Ehemann und Papa
ID: 79985
L
4 Juni 2006
700
66
ich habe bei einem größerem programm von mir sehr sensible daten die ich codiert habe. nun wurde ich neulich drauf angesprochen wieso ich das mache, wenn man diese codier funktion eh so leicht auslesen kann. (haha, ja, ich habe auch gelacht :roll:)

nun stelle ich mir die frage, wenn ich diese codier funktion in einer dll ablege, kann man diese dann auch recht einfach auslesen? bzw. ist es möglich dll's zu decompileren oder im klartext auszulesen?

wie würdet ihr das machen? funktion ins tool oder in eine dll? oder vielleicht noch ne andere idee?
 
Code is Code und den kannst du dekompilieren, ob er jetzt in einer Exe- oder einer Dll-Datei ist.

Dlls verwendet man, um Bibliotheks(drum auch Dll)funktionen auszulagern, sodass mehrere Anwendungen oder verschiedene Anwendungen sie nutzen können.

Wenn deine "Codier-Funktion" z.B. nur ein einfaches
PHP:
while(*(string++)) (*string)++;
is, dann kann man das durch Dekompilierung immer ganz leicht nachvollziehen.

Interessant wird es erst, wenn man zwar nach Dekompilierung weiß, wie du den Text verschlüsselt hast, ihn aber ohne das Passwort (was nur der Anwender kennt) nicht wieder entschlüsseln kann.
 
mit anderen worten, du würdest den kram im tool lassen ja?

naja aber das mit dem passwort zum de-/codieren lasse ich mir nochmal durch den kopf gehen. habe an der funktion zwar schon so einie zeit dran gesessen aber vielleicht macht es wirklich mehr sinn das noch mal zu über arbeiten *g
 
mit anderen worten, du würdest den kram im tool lassen ja?
Wenn dein Tool nicht riesig groß is und du diese Codier-Funktion nicht in anderen Anwendungen von dir verwenden willst, ja.

Ein Passwort (unbekannte Usereingabe) muss auf alle Fälle rein.

Mal ganz rein mathematisch:
Du hast ne bijektive Funktion f: xy. Der Angreifer kennt y und durch Dekompilierung kommt er auf f. Er bestimmt f[sup]-1[/sup] und kann dann ganz leicht x berechnen.

Anders sieht es aus, wenn die Funktion f: (x, pw) ↦ y abbildet. Er hat y, kann aber unendlich (je nach Wertebereich von x und pw) viele Paare (x, pw) entschlüsseln, wovon er nicht weiß, welches das richtige is. Die Funktion ist - je nach Wahl - nicht mehr injektiv, noch surjektiv.
 
Zuletzt bearbeitet: