Detours

  • Da ich mich in letzter Zeit mit Detours beschäftige und in C++ anwende(was gar nicht mein fachgebiet ist). Wollte ich es mal in C# versuchen was ja genauso eigentlich gar nicht möglich ist. Habe dann ein wenig gegoogelt und bin auf Easyhook und Whitemagic gestoßen. Wollte mal Fragen ob jemand erfahrung in dem Bereich Detours mit C# hat und wie sehr begrenzt ich bin und ob es sich jetzt nur z.b. für das hooken der connect funktion lohnt.


  • also in c# solltest du zumindest was das detour thema nicht begrenzt sein.


    du wirst lediglich ein paar dll's includen müssen um diverse funktionen zur verfügung zu haben.


    In c# fehlt dir der ganze Inline asm kram, von daher ist man doch schon eingegrenzt, was Destours betrifft...

  • Es existiert eine selbstgemachte Funktion von gamedeception(Twice ?!?).



    Die dann so eingesetzt wird:


    Code
    1. HMODULE hWS32 = LoadLibraryA( "ws2_32.dll" );
    2. FARPROC pConnect = GetProcAddress(hWS32,"connect");
    3. DetourCreate((LPVOID)pConnect,my_connect,5);
    4. __asm mov [ o_connect ], eax;


    So wie ich das sehe wird nicht im MainModul sprich z.b. Game.exe die funktion umschrieben, sondern in der ws2_32.dll. Durch VirtualProtect wird das schreiben möglich. Nun ist hier die Sache du kannst nicht direkt eine funktion schreiben und sie einfach für dich arbeiten lassen. Du musst deine funktion selber also schritt für schritt und byte für byte schreiben. Was viel umständlicher ist und man für sowas zu faul ist vorallem braucht man erfahrung in ASM und bei großen Codes ist das schon ne große sache :)