C++ Load in Memory

08/09/2011 10:14 boxxiebabee#1
Moin,

Also Vorweg muss ich sagen, ich hab kaum Ahnung von C++, aber dafür reichlich von anderen Programmiersprachen.

Ich habe ein Programm in .NET (C#) geschrieben, welches ich schützen (auf obfuscator etc. möchte ich verzichten) möchte.

Nun meine Frage ist, ist es möglich eine encryptete .NET .exe (mit Ressourcen, also .dll's (aber kein muss)) direkt in den Speicher zu laden, dort zu entschlüsseln und dann auszuführen?

Das ganze sollte so Ablaufen:
Der Loader ladet die .NET aus dem Internet, lädt sie in den Speicher und entschlüsselt sie, führt sie aus und löscht dann wieder die .NET Datei vom Rechner.

Wenn ja, hätte jemand ein Tutorial dafür zur Hand? Egal ob Englisch oder Deutsch. Hab mich schon verrückt gesucht und nix anständiges dazu gefunden.

greetz, lizzaran
08/09/2011 18:25 Xenox3#2
Der Loader soll in C++ Programmiert sein ?
08/09/2011 18:59 SmackJew#3
Quote:
Originally Posted by Lizzaran View Post
Moin,

Also Vorweg muss ich sagen, ich hab kaum Ahnung von C++, aber dafür reichlich von anderen Programmiersprachen.

Ich habe ein Programm in .NET (C#) geschrieben, welches ich schützen (auf obfuscator etc. möchte ich verzichten) möchte.

Nun meine Frage ist, ist es möglich eine encryptete .NET .exe (mit Ressourcen, also .dll's (aber kein muss)) direkt in den Speicher zu laden, dort zu entschlüsseln und dann auszuführen?

Das ganze sollte so Ablaufen:
Der Loader ladet die .NET aus dem Internet, lädt sie in den Speicher und entschlüsselt sie, führt sie aus und löscht dann wieder die .NET Datei vom Rechner.

Wenn ja, hätte jemand ein Tutorial dafür zur Hand? Egal ob Englisch oder Deutsch. Hab mich schon verrückt gesucht und nix anständiges dazu gefunden.

greetz, lizzaran
Selbst wenn du das machst kann man deinen Source immer noch einfach ausm Speicher rippen. Du lädst das Programm in den Speicher und dort ist es entschlüsselt, Debugger ran, rippen, fertig.
08/09/2011 23:06 boxxiebabee#4
Quote:
Originally Posted by SmackJew View Post
Selbst wenn du das machst kann man deinen Source immer noch einfach ausm Speicher rippen. Du lädst das Programm in den Speicher und dort ist es entschlüsselt, Debugger ran, rippen, fertig.
Das ist mir schon klar, ich möchte auch nur Script-Kiddis und Anfänger davon abhalten, die Pro's kann man soewieso nicht abwehren.
Das nützliche daran wäre das es auch automatisch eine Update Funktion wäre.

Und ja der Loader soll in C++ sein.
08/10/2011 19:53 MrSm!th#5
Ja das sollte gehen.
Man kann in C++ einen .NET Host erstellen und mit dem dann .NET Assemblies ausführen.
Also müsstest du auch ein verschlüsseltes Assembly entschlüsseln und dann damit ausführen können.
Kenne Leute, die das schon gemacht haben, hab selbst aber noch keine Erfahrungen damit.