Eine interessante Methode sind beispielsweise Fibers unter NT. Auch sollte es mit einem Fork() teilweise möglich sein zumindest Debugger auszutricksen. Hagen hat auch schon sehr schöne Beispiele angeboten, in denen der Hauptteil mit einer bekannten und sicheren Verschlüsselungsmethode verschlüsselt wurde und nur der richtige Key die Ausführung ermöglichte! Da der entsprechende Algo, wenn er gut getestet wurde (sicher nicht von dir oder mir sondern von Mathematikern!), sicher ist, ist es auch die EXE. Einen EXE-Dump nach Eingabe des korrekten Schlüssels verhindert es nicht. Ist also die Schlüssellänge kurz genug, bleibt noch immer Brute-Force.
Dongles sind auch eine Möglichkeit, IMO aber die unsicherste. Habe kurz vor Weihnachten sowas am Wickel gehabt (
Crypto-Box® Versa (CBV)). Da die Programme im Usermode laufen gibt es immer eine Schnittstelle zwischen Dongletreiber (Kernelmode) und Programm (Usermode) und das ist meist eine
DLL. Ersetzt man diese, ist der Dongle überflüssig ... noch einfacher und nichtmal illegal (weil man ja nichts verändert) ist das Kopieren der Trojaner-
DLL in das Programmverzeichnis, da der
PE-Loader zuerst im Programmverzeichnis und dann im Suchpfad nach den DLLs sucht. Man behilft sich also mit einem bekannten Window-Mechanismus. Ausserdem ist das Programm ja gekauft, es ging nur darum das lästige Dongle-Hinundherschleppen zu vermeiden (und die Dinger brennen gern mal durch, der Softwarehersteller bietet einem dann meist kulanterweise an eine neue Lizenz zu erwerben
)
@c113plpbr: Der Thread ist langweilig und sinnlos (bis auf Hagens sehr schöne Ausführungen).