In C++ Projekt Datei packen und ausführen lassen

08/24/2009 17:21 Shadow992#1
Also Ich habe 1 Exe-Datei und möchte diese in ein C++ Projekt einfügen und möchte dass wenn das Hauptprogramm ausgeführt wird , dass dann die Datei die im C++ Projekt eingebunden wurde auch ausgeführt wird .

Grund :
Ich möchte , dass die Datei , welche im C++ Projekt "importiert" ist , geschützt wird vor Dritten . Da sich die zu importierende Exe-Datei nicht verschlüsseln lässt wollte ich sie in ein C++ Projekt packen und dann diese "normale" Exe Datei verschlüsseln lassen .
Ich kann die zu importierende Exe Datei leider nicht als Dll Datei erstellen lassen (wenn ich den ähnlichen Effekt mit Dll erreichen kann , sozusagen eine Exe in eine Dll packen , dann wüsste ich gerne wie )
08/24/2009 19:40 link#2
Als Ansatz müsstest du auf jeden Fall schon einmal die Exe in ein Ressourcenskript im C++ Projekt einbetten.

Dann könntest du später aus dem C++-Programm z.B. die Bytes der Ressourcen in eine Datei schreiben und diese ausführen, wobei man leicht den Pfad des Prozesses auslesen könnte und so die 'originale' Exe hätte.

Alternativ, aber auch aufwendiger, könntest du das C++-Programm sich selbst starten lassen (suspended), in diesem Prozess dann den Header überschreiben, die einzelnen Sektion neu schreiben und für den Loader den neuen Einstiegspunkt in eax setzen.
08/24/2009 20:19 Atheuz#3
Quote:
Originally Posted by link View Post
Als Ansatz müsstest du auf jeden Fall schon einmal die Exe in ein Ressourcenskript im C++ Projekt einbetten.

Dann könntest du später aus dem C++-Programm z.B. die Bytes der Ressourcen in eine Datei schreiben und diese ausführen, wobei man leicht den Pfad des Prozesses auslesen könnte und so die 'originale' Exe hätte.

Alternativ, aber auch aufwendiger, könntest du das C++-Programm sich selbst starten lassen (suspended), in diesem Prozess dann den Header überschreiben, die einzelnen Sektion neu schreiben und für den Loader den neuen Einstiegspunkt in eax setzen.
Könnte er nicht einfach AutoitX in seinen C++ Projekt verwenden und von dort aus das script parsen lassen? Angenommen das er AutoIt verwendet.
08/25/2009 12:19 Shadow992#4
Quote:
Originally Posted by Atheuz View Post
Könnte er nicht einfach AutoitX in seinen C++ Projekt verwenden und von dort aus das script parsen lassen? Angenommen das er AutoIt verwendet.
Ja ich verwende AutoIT , wenn du mir noch sagen könntest was parsen ist dann wäre ich sehr froh :D

Was ich mir auch schon überlegt habe war , dass Ich die AutToExe Datei mitliefern lasse und die verschlüsselte Text-Datei welche C++ dann entschlüsselt . Dann die entschlüsselte Txt-Datei mit Hilfe der AutToExe Datei in eine Exe Datei "verwandeln" lasse und diese "verwandelte" Exe-Datei anschliesend ausführen lasse .
Quote:
Originally Posted by link View Post
Dann könntest du später aus dem C++-Programm z.B. die Bytes der Ressourcen in eine Datei schreiben und diese ausführen, wobei man leicht den Pfad des Prozesses auslesen könnte und so die 'originale' Exe hätte.
Naja wenn ich die "originale" Exe nachdem sie ausgeführt wurde wieder löschen lasse , müsste es doch theoretisch möglich sein .

Quote:
Originally Posted by link View Post
Als Ansatz müsstest du auf jeden Fall schon einmal die Exe in ein Ressourcenskript im C++ Projekt einbetten.
Ja das habe ich in Google auch schon gefunden , auch gemacht, nur wie realisiere ich es jetzt dass die Exe direkt aus dem Programm ausgelesen wird ...


Quote:
Originally Posted by link View Post
Alternativ, aber auch aufwendiger, könntest du das C++-Programm sich selbst starten lassen (suspended), in diesem Prozess dann den Header überschreiben, die einzelnen Sektion neu schreiben und für den Loader den neuen Einstiegspunkt in eax setzen.
Ich glaube ganz soweit bin ich in C++ noch nicht da ich noch ziehmlich neu bin auf dem Gebiet C++ wird das wohl vorerst nicht in frage kommen :D


Danke für die Hilfe von euch beiden .
08/25/2009 14:38 Atheuz#5
Du kannst wenn du AutoItX in deinem C++ Projekt benutzst das autoit script innerhalb der C++ Umgebung ausführen lassen.
08/25/2009 15:48 link#6
Quote:
Originally Posted by Shadow992 View Post
Ja das habe ich in Google auch schon gefunden , auch gemacht, nur wie realisiere ich es jetzt dass die Exe direkt aus dem Programm ausgelesen wird ...
Bisschen suchen ;-)

[Only registered and activated users can see links. Click Here To Register...]
08/25/2009 15:50 hamalad#7
.
08/25/2009 16:46 Shadow992#8
Quote:
Originally Posted by link View Post
Bisschen suchen ;-)

[Only registered and activated users can see links. Click Here To Register...]
OH XD Dankeschön !

Quote:
Originally Posted by Atheuz View Post
Du kannst wenn du AutoItX in deinem C++ Projekt benutzst das autoit script innerhalb der C++ Umgebung ausführen lassen.
Ok Das wäre natürlich die perfekte Lösung , dankeschön !
Da gibt es nur ein Problem es fehlen ca 20% aller Befehle , auch Befehle die ich umbedingt brauche .... gäbe es eine Möglichkeit diese mit einzubinden oder müsste ich die dann selbst in C++ erstellen bzw benutzen ?
08/25/2009 17:36 Atheuz#9
Quote:
Originally Posted by Shadow992 View Post
OH XD Dankeschön !



Ok Das wäre natürlich die perfekte Lösung , dankeschön !
Da gibt es nur ein Problem es fehlen ca 20% aller Befehle , auch Befehle die ich umbedingt brauche .... gäbe es eine Möglichkeit diese mit einzubinden oder müsste ich die dann selbst in C++ erstellen bzw benutzen ?
Letzte version ist doch 3.1, welche Funktionen sollen da fehlen?
Sollen libraries fehlen müsstes du die wahrscheinlich selbst noch als Klasse einbinden oder sonst was, ich kenn mich mit AutoIt nicht aus.