Привет всем! Начал разбираться с detours возникла проблема есть длл: Код (Text): #include <windows.h> #include "detours.h" #pragma comment(linker,"/MERGE:.rdata=.text") #pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078") int ( WINAPI *REAL_MessageBoxA)( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ) = 0; int HOOK_MessageBoxA( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ) { return REAL_MessageBoxA( hWnd, "hook", "hook", uType ); } BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { DetourFunction( (PBYTE)DetourFindFunction("user32.dll", "MessageBoxA"), (PBYTE)HOOK_MessageBoxA ); __asm mov [REAL_MessageBoxA], eax return true; } и экзешник Код (Text): #include <windows.h> #pragma comment(linker,"/MERGE:.rdata=.text") #pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078") #pragma comment(linker,"/ENTRY:New_WinMain") #pragma comment(linker,"/NODEFAULTLIB") int New_WinMain() { LoadLibrary("test.dll"); MessageBoxA( 0, "real", "real", 0 ); return 0; } мессаджбокс хукается выводит "hook", но патом приложение падает "dd.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства." в асме я не силен, пробовал прогнать через оли, ниче не понял ) после инструкции retn, программа останавливается и оли выводит еррор "что память по адресу 00000000 не читаемая. Изменить eip или pass exception to program".