Detours 2.1 makefile



  • Hi, hab jetzt noch mal nen ganz neuen anlauf gemacht, und nun probleme mit meiner Detours dll ( warum dll? weil ich da gucken kann was wird exported bevor ich auf statische libary umstell )

    also ich habs jetzt schonmal soweit das Detours 2.1 fehlerfrei kompilliert,
    nun jetzt wenn ichs verwenden will hab ich aber das problem das er eine inline funktion in der DLL die nicht exportet ist anscheinend nicht lesen kann.

    Projekt: http://ul.to/dacpcn ( VS 2005 ) -- DLL Exports: http://img.xrmb2.net/images/774743.jpeg

    so sieht jetzt meine test applikation aus:

    #include "stdafx.h"
    
    #include <windows.h>
    #include "detours.h"
    #include "detoured.h"
    #pragma comment(lib,"detoured.lib")
    
    #include <iostream>
    using namespace std;
    
    void Function_One (){
    	std::cout << "Function one" << std::endl;
    return;
    }
    
    void Function_Two (){
    	std::cout << "Function TWO" << std::endl;
    return;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Function_One();
    	// Detouring
    	DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourAttach(&(PVOID&)Function_One, Function_Two);
        DetourTransactionCommit();
    	// Testing
    	Function_One();
    	// ReDetouring
    	DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourDetach(&(PVOID&)Function_One, Function_Two);
        DetourTransactionCommit();
    	// Testing
    	Function_One();
    	return 0;
    }
    

    und das ist mein fehler 😞

    ( detours.cpp )

    PVOID WINAPI DetourCodeFromPointer(PVOID pPointer, PVOID *ppGlobals)
    {
        return detour_skip_jmp((PBYTE)pPointer, ppGlobals);
    }
    

    Access Violation.



  • Sorry dass ich den Thread Missbrauche aber wie erstellt man eine statische Detours 2.1 lib? Braucht man dann immer noch die nervige detoured.dll?
    THX!



  • Die detoured dll hab ich für mich erstellt damit ich sehe ob ich die funktionen richtig exportiert habe, ( jaja ich weiß ich machs mir wieder umständlich ), am einfachsten ist das mit dem visual studio 2005, womit detours gemacht wurde.

    Einfach ein projekt erstellen, und die dateien hinzufügen / compillen.

    ( das ist einfach weil meine systemvariabeln nicht denen einer vm entsprechen die super sauber sind, bei mir sind die von 10 verschiedenen compillern verhuntzt, und mit dem projekt gehts sauber ohne fehler )



  • War das jetzt eine Antwort für mich? Hat mir irgendwie überhaupt nicht geholfen sry...


Anmelden zum Antworten