Windows DLL обратная совместимость

Я использую MS detours 3.0 Express для создания DLL, которая обходит функцию приложения.
Я использовал StudPE, чтобы войти в API DLL и подключить его к приложению.
Все отлично работает кроме это не будет работать на Windows XP.

Windows 7 работает нормально, хотя. И у меня заканчиваются идеи относительно того, почему это просто не будет работать на Windows XP.

Я скомпилировал его на компьютере с Windows 7 x64 с помощью Microsoft Visual Studio 2012.

Я звоню в DllMain. Мой код: (только соответствующий код — неполный)

extern "C" __declspec(dllexport) INT APIENTRY DllMain(HMODULE hDLL, DWORD Reason, LPVOID Reserved)
{
switch(Reason) {
case DLL_PROCESS_ATTACH:    //Do standard detouring
DisableThreadLibraryCalls(hDLL);
//AllocConsole();
//
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourAttach(&(PVOID&)pSend, MySend);
if(DetourTransactionCommit() == NO_ERROR) {
cout << "[" << MySend << "] successfully detoured." << endl;
}
break;

case DLL_PROCESS_DETACH:
DetourTransactionBegin();   //Detach
DetourUpdateThread(GetCurrentThread());
DetourDetach(&(PVOID&)pSend, MySend);
DetourTransactionCommit();
break;
}
return TRUE;
}

На WinXP ничего не происходит, когда я пытаюсь запустить подключенное приложение.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector