DLL schützen so das ASM Code nicht angezeigt wird.
-
Hallo,
Ich hoffe auch wenn ich nicht so viele "?" und "!" in meinem Thread Titel schreibe liest jemand ihn durch und gibt mir eine Antwort.
Naja zurück zum Theama ich möchte eine DLL verschlüsseln so das man sie nciht einfach im debugger öffnen kann (OllyDBG und co.) Bzw das man dann den Assambler Code nicht sieht. Jetzt meine Frage wie kann ich das ganze Bombe sicher verschlüsseln ? Als erste Vorgehensweise dachte ich mir ich Crypte die DLL mit einem Crypter hänge sie an die Stub an. Wenn die Stub ausgeführt wird entpackt und entschlüsselt die Stub die daran angehängte DLL und injiziert sie in einen Prozess z.B. explorer.exe. Da auch diese Technik nicht ganz sicher ist war meine Frage ob ihr eine Möglichkeit kennt die es ermöglicht die DLL 100% zu schützen so das niemand mein Programm "Cracken" kann.
Ich wäre für jede Antwort Dankbar

MfG NEO_2.0
Edit: DLL ist in C++ geschrieben.
-
Ich glaube da gibts nur die Möglichkeit der Verschleierung. Doch selbst dann, kann man immer noch dissemblieren oder den HEX-Code anschauen und mit sehr sehr sehr viel Mühe (je nach Komplexität) den Quelltext reproduzieren.
-
Gibt es nicht noch eine andere Möglichkeit? Solang man die Exe nicht Cracken kann würde mir das ganze schon reichen. Hooken und den Arbeitsspeicher Dumpen wäre dann ja immer noch möglich doch davor zu schützen ist Unmöglich.
MfG NEO_2.0
-
Du kannst den Code verschlüsseln und dann zur Laufzeit entschlüsseln, was aber reltiv witzlos ist, weil man dann a) zur Laufzeit trotzdem in deinen Code gucken kann und b) deine Entschüsselungsroutine selber nicht verschlüsselt sein kann und somit einfach analysierbar und nachmachbar ist.
Insgesamt gesagt: Du kannst jede Menge Schlangenöl auftragen, aber grundsätzlich ist es unmöglich den Code zu schützen und jeder ernsthafte Versuch den Code zu bekommen, selbst durch ein halbwegs begabtes Scriptkiddie, wird erfolgreich sein.
-
Ich denke jede weitere Schicht Schlangenöl hilft, wenn man sie richtig anwendet.
Google-Stichworte: "Skype Silver Needle" (BlackHat 06)
Für die Suchfaulen sei hier gesagt, es geht prinzipiell darum die Funktionspointer zur Programmlaufzeit erst zu berechnen.
In Zusammenspiel mit iterativ selbstmodifizierendem Code wird dir ein klassischer Disassembler überhaupt nicht mehr weiterhelfen.Das obige Dokument beschreibt natürlich auch einen Weg, wie sie es doch geschafft haben.
Die Frage für dich sollte also lauten: "Wie hoch soll der Schutz-Aufwand werden?"
-
Sehr sehr schön. Danke für das Document.
MfG NEO_2.0