Показать сообщение отдельно

  #6  
Старый 13.09.2008, 21:18
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Добавил:
PHP код:
if(ul_reason_for_call == DLL_PROCESS_DETACH )
{
    
hookoff();

...
PHP код:
void hookoff(void) {
    
WriteProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)&buf6, &written);

Изменил:
PHP код:
void intercept(void) {
    
DWORD oldf;
    
int prot;
    
adrmesbox = (DWORD)GetProcAddress(GetModuleHandleA("user32.dll"),"MessageBoxA");
    if(
adrmesbox == 0)
        {
    
MessageBoxA(NULL"MessageBoxA не найден""ошибка"0);
    return;
        }
    
prot VirtualProtect((void*)adrmesbox,6,PAGE_EXECUTE_READWRITE,&oldf);
    if (!
prot) {
        
ExitProcess(0);
    }
    
jump.op_push 0x68;
    
jump.arg = (DWORD)&intMesbox;
    
jump.op_push 0xC3;
    
ReadProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)buf6, &written);
    
WriteProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)&jump6, &written);

 
Ответить с цитированием