PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C#] .exe hook



Darkraiser
03.02.2010, 13:25
Hallo erstmal :).

Bin schon seit längerem an einem Project .. habe dieses auch in C# angefangen. Ich versuche abzufangen wenn irgendeine Anwendung auf Windows Ebene gestarted wird. Komme aber in dem zusammenhang nicht weiter, da man bekanntlich keine Globalen Hooks in .net machen kann.

vllt hat ja einer von euch ne idee :)

mfg Darkraiser

chrixko
03.02.2010, 17:27
Globale Hooks nicht möglich?
Was ist den mit den tausenden von dotNet Keyloggern? Die benutzen doch die Globelen Keyhooks, oder bin ich da falsch informiert?

Soetwas hier müsste funktionieren:


ManagementBaseObject mbo;
ManagementEventWatcher mew = new ManagementEventWatcher();
void Start()
{
EventQuery WMIEventQuery = new EventQuery();
WMIEventQuery.QueryString = "SELECT * FROM" &
" __InstanceCreationEvent WITHIN 1 " &
"WHERE TargetInstance ISA 'Win32_Process'";
mew.Query = WMIEventQuery;
mew.Start();
mbo = mew.WaitForNextEvent;
String execpath = CType(mbo("TargetInstance"), ManagementBaseObject)("ExecutablePath");
String Name = CType(mbo("TargetInstance"), ManagementBaseObject)("Name");
mew.Stop();
}


Schnell aus VB übersetzt könnten Syntax-Fehler drin sein.

Darkraiser
03.02.2010, 21:02
schonmal thx dafür :) .. es gibt bei .net ne möglichkeit über eine API noch Keyeingaben abzufangen .. sogar recht easy :).. nur ist alles so en bischen drumherum gewurschtel.
brauche halt einen hook der sich in programme injected und die solange stoppt bis ich die freigabe erteile ;).

aber der liebe G0rdn hat mir schon en paar ideen geschickt .. werde es hier posten wenns funktioniert hat ;).

aber thx für die Antwort