Entwickler-Ecke

Windows API - Sich in andere exe einklinken


Boldar - Di 25.11.08 21:58
Titel: Sich in andere exe einklinken
Tach,
ich hab mal wieder eine Frage:
Ist es möglich, sein eigenes Programm "in eine andere Exe einzuklinken"?
Also ich will keinen Hook installieren, sondern die (fremde) exe auf der festplatte ändern. Da müsste man doch nur an der entsprechenden Stelle den richtigen API-Befehl einfügen, oder?
Aber wie wäre der Befehl und wie ermittele ich eine passende Stelle?
Muss ich dafür das Prog disasm?
Grüße
Boldar


SAiBOT - Di 25.11.08 22:20

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Tach,
Ist es möglich, sein eigenes Programm "in eine andere Exe einzuklinken"?


mhh....

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Also ich will keinen Hook installieren, sondern die (fremde) exe auf der festplatte ändern.


Du meinst sicher zur Laufzeit des Prozesses?

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:

Da müsste man doch nur an der entsprechenden Stelle den richtigen API-Befehl einfügen, oder?
Aber wie wäre der Befehl und wie ermittele ich eine passende Stelle?


Kommt drauf an was die "exe" denn anders machen soll!

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:

Muss ich dafür das Prog disasm?


Hört sich ganz danach an.

Du solltest mal genau beschreiben was du vorhast!

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:

Grüße
Boldar


MfG


Boldar - Di 25.11.08 22:37

Ich will in die auf der Festplatte gespeicherte exe vom Program A von meinem Programm B aus den "Startbefehl" für ein drittes Programm C einfügen.
Also:
Programm B fügt aufruf von C in die exe von A ein.


jaenicke - Mi 26.11.08 07:41

Die einfachste Lösung wäre die betreffende Exe umzubenennen und das Programm durch ein eigenes Programm zu ersetzen, die dann beide Programme nacheinander aufruft.

Ansonsten bliebe nur einen Aufruf von z.B. ShellExecute beim Start in das Programm hineinzuschreiben.


SAiBOT - Mi 26.11.08 14:23

Achso ich glaube zu wissen was du vorhast..., Viele Trojaner wurden so installiert =).

"A" <- Irgendwas harmloses zB. ein Minigame.
"B" <- Kapselt und startet A & C (Suche in: Delphi-Forum RESOURCE), startet A als Tarnung aber im Hintergrund wütet C.
"C" <- Trojaner


Boldar - Mi 26.11.08 16:11

nein, ich will keinen Trojaner basteln, mal abgesehen davon, dass ich dazu sicherlich auch sonst keine ausreichenden Kenntnisse für hätte.
Das mit der Exe starten war zunächst ein Beispiel, es geht ganz allgemein um die Möglichkeit, befehle einzufügen. Ich will nämlich beim Sart des (Fremden) Programmes einen (globalen) Hook installieren und beim beenden deinstallieren
Wenn ich dass mit der exe starten könnte, würde ich den code zum starten des Hooks in ebendiese exe packen. Nun geht es also erstmal darum: Wie findet man die richtige Stelle raus?
(Die exe ist immer die gleiche).


SAiBOT - Do 27.11.08 10:05

Also eigene Funktionen in eine fremde exe einfügen, ist nicht unmöglich aber sehr kompliziert! (Assembler-Kenntnisse vorausgesetzt!).

Wesentlich leichter ist es zur Laufzeit, zB. kann man der exe beim start eine DLL unterjubeln.

MfG


SAiBOT - Do 27.11.08 11:16

Habe mal ein wenig rumgespielt...

habe jetzt mit OllyDebug eine vorhandene Exe so modifiziert, dass sie bevor es das Hauptfenster kreiert eine DLL lädt.

Als Einsprungspunkt habe ich CreateWindowEx benutzt!

So könntest du zB. deine Hooks bequem Installieren und Deinstallieren!

MfG

Die originale und modifizierte Exe + OllyDbg-Screen + DLL:

Moderiert von user profile iconNarses: Dateianhang gelöscht, siehe folgenden Beitrag.


Narses - Do 27.11.08 12:28

Moin!

Wir haben nach Diskussion im Team entschieden, dass eine konkrete Anleitung zum Bau eines Trojaners hier nicht mehr tolerierbar ist und den Anhang entfernt.

Bitte haltet euch im weiteren Verlauf der Diskussion daran, dass wir hier keine (konkreten) Anleitungen für Malware dulden (unter anderem schon aus rechtlichen Gründen)!

cu
Narses


SAiBOT - Do 27.11.08 12:43

Was hat das denn jetzt mit Trojanern oder Maleware zu tun?
Das ist nur eine Codeinjizierungs-Methode im prinzip nix anderes wie ein Hook!

Habe von Trojanern gehört die sich in die Registry schreiben um einen Neustart des Systems zu überstehen...
Man sollte alle Topics über Registrys und Hooks closen.

-.-