Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Dll erstellen, die in andere Prozesse "injected" werden kann
milkman
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

Dll erstellen, die in andere Prozesse "injected" werden kann

beantworten | zitieren | melden

hi,

ich möchte eine dll schreiben, die ich in andere prozesse "injecten" kann.
allerdings weiß ich im moment nicht, wie ich es anstelle, dass zb eine messagebox aufgeht, wenn diese injected wurde.

in c++ gibts sowas wie DLL_PROCESS_ATTACH etc. gibts sowas auch in c#? bzw wie mache ich das, dass die dll sofort nach dem injecten aufgerufen wird?

gruß
milkman
private Nachricht | Beiträge des Benutzers
Neals
myCSharp.de - Member



Dabei seit:
Beiträge: 212
Herkunft: Nordseeküste

beantworten | zitieren | melden

Schau dir mal das hier an:

http://www.codeproject.com/KB/cs/pluginsincsharp.aspx

Da werden auch DLL's in nen laufenden Prozess hinzugefügt.
Signatur.Text = "Greetz, Neals";
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

beantworten | zitieren | melden

Hallo!

@Neals:
milkman meinte sicher etwas ganz anderes.
In dem von dir verlinkten Beispiel geht es um die dynamische Erweiterung eines bereits darauf ausgelegten Programms, während milkman eher eine Möglichkeit sucht, beliebige laufende Prozesse mit einer eigenen dll zu "infizieren", um z.B. bestimmte Aktionen zu überwachen bzw. umzuändern, z.B. das Erkennen von Zugriffen auf das Dateisystem, das Erstellen neuer Prozesse, ...
Ich arbeite selber ab und zu an so einer Lösung, um einen eigenen Deinstaller zu bauen.
Ich glaube, egrath hatte zu diesem Thema vor einiger Zeit einen sehr hilfreichen Beitrag geschrieben, einfach mal hier nach "Hooks" suchen.

EDIT: Nachtrag:
@milkman
In C# gibt es so etwas nicht, man muss zumindest einen Teil in C++ schreiben.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von tom-essen am .
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers
milkman
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

hi, danke für deine antwort

wie macht man das dann am besten? bzw was muss/sollte ich alles in c++ schreiben?
private Nachricht | Beiträge des Benutzers
der-schlingel
myCSharp.de - Member

Avatar #avatar-3239.jpg


Dabei seit:
Beiträge: 820
Herkunft: Österreich/Wien

beantworten | zitieren | melden

Also wenn es sich um Prozesse von .net Programmen handelt, kannst ud das mit der Mono.Cecil Lib bewerkstelligen.

Siehe hier
As a man thinketh in his heart, so he is.
- Jun Fan
Es gibt nichts Gutes, außer man tut es.
- Erich Kästner
Krawutzi-Kaputzi
- Kasperl
private Nachricht | Beiträge des Benutzers
milkman
myCSharp.de - Member



Dabei seit:
Beiträge: 71

Themenstarter:

beantworten | zitieren | melden

hi,
ich möchte das gerne allgemein haben
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10080

beantworten | zitieren | melden

Und ich hätte gerne nen 6er im Lotto.
private Nachricht | Beiträge des Benutzers
egrath
myCSharp.de - Member

Avatar #avatar-2119.jpg


Dabei seit:
Beiträge: 937
Herkunft: Österreich / Steyr

beantworten | zitieren | melden

Hallo,

das was Du suchst lässt sich mit der Win32 API Funktion "CreateRemoteThread" realisieren - such mal im Forum hier danach, da gibts was drüber.

Grüsse,
Egon
private Nachricht | Beiträge des Benutzers