C# code in bestehende .exe datei einbinden?

Hallo!

Wie kann man denn in eine .exe Datei seinen eigenen C#, oder, wenns sein muss, C++ Code einbinden? Die SuFu hat bei mir leider nix ergeben.

Der eingebundene Code muss jetzt nicht speziell was mit der eigentlichen Datei zu tun haben, sondern zB nur ein Message Fenster öffnen oder sonstwas.
Zu welchem Zeitpunkt (also in welcher Programmzeile) ist mir eigentlich auch wurscht, meinetwegen gleich am Anfang.

Der Grund wieso ich frage: Ich hab mal eher zufällig einen Keylogger entdeckt, der sich selbst in eine Datei einbinden konnte.
(der hieß glaub ich Perfect Keylogger.)
Der war zwar alles andere als perfect, aber die Funktion ist doch ziemlich mächtig.

Also muss das ja irgendwie möglich sein :wink:

Wenns mehrere Varianten gibt, dann würd ich doch die deppensichere vorziehen, ohne den zehntausend Zeilen Fehlerbehandlung/-vorbeugung und so weiter.

Schon mal ein herzliches Danke im Voraus!
Lg schauseee

Hallo!

Darf man fragen, wofür Du sowas brauchst?

Die Möglichkeiten, eigenen Code in fremde Anwendungen einzuschleusen, existiert, ja. Dabei gibt es verschiedene Möglichkeiten, aber weil es eben - wie Du selbst schreibst - sehr mächtig ist und 99% dieser Anfragen von Skriptkiddies kommen, die irgendwelchen Blödsinn (siehe: Keylogger) damit treiben wollen, bekommst Du von mir erst dann irgendeinen Hinweis, wenn Du mir glaubhaft machen kannst, dass es eine legale und legitime Anwendung ist.

Gruß,
Martin

Hallo Martin!

Erstmal ein herzliches Danke für die schnelle Antwort!

Ja, natürlich darfst du fragen.
Zuerst mal eine Kurzinfo zu meiner Person:

Ich bin 17 Jahre alt (bitte gib mir eine Chance und lies weiter, *gg*), besuche eine Höhere Technische Bundeslehranstalt (HTL) in Klagenfurt, und dort lerne ich eben den Umgang mit Java, C, Javascript, Python und so weiter.
Bin hobbymäßiger Programmierer und sehr interessiert (was auf unserer Schule seltener vorkommt, als man vielleicht glauben mag…)

Zum Thema Skriptkiddie:
Der Verdacht ist natürlich mehr als berechtigt, überhaupt bei einem 17-jährigen Grünschnabel wie mir. Jedoch muss ich sagen, dass mir zu:

-zum Skriptkiddie mutieren
-fertige Trojanerbausteine herunterladen,
-das ganze Zeug zusammenbauen und an Freunde verschicken,
-Draufkommen dass deren Antivirus doch ein bisschen cleverer ist als ich dachte,
-mich schlussendlich für zwei Jahre wegsperren lassen,
-und dann ohne Schulabschluss und ohne Freunde, aber dafür mit deren Passwörtern von
Facebook und Myspace auf Arbeitssuche zu gehen,

doch eindeutig die Zeit fehlt. Da geh ich lieber an die frische Luft und knüpf soziale Kontakte.

Außerdem gibt es dieses Zeug eh schon fix fertig, also wenn ich jemandes Rechner verseuchen wollte, würde ich das wohl mit weniger zeitaufwändigen Methoden versuchen.

Lange Rede kurzer Sinn:
Wenn mein Ziel die ungesetzmäßige Anwendung solcher Sachen wäre, dann würdet ihr mich wohl nicht hier, sondern auf
www.ich-bin-cool-denn-ich-kann-hacken.com vorfinden.

Ich hoffe, dass ich dir meinen Standpunkt halbwegs darlegen konnte :smile:

Liebste Grüße,
Schauseee

hmm,

Simpleste Methode ist die betreffende Datei in ein Bytearray einzulesen (achtung: nicht die ersten 4 bytes der datei überschreiben!) und deinen Source „on-the-fly“ über System.CodeDom.Compiler mit einzukompilieren…

Alles was du dazu wissen musst findest du im Netz :wink:

greetz, me

^^ergänzung…
das könnte für solche zwecke auch sehr hilfreich sein:

http://www.codeproject.com/KB/msil/reflexil.aspx

greetz, me