elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  hook
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: hook  (Leído 864 veces)
flony


Desconectado Desconectado

Mensajes: 565



Ver Perfil
hook
« en: 1 Septiembre 2014, 01:09 am »

hola estaba leyendo un vieja pagina de este foro
http://foro.elhacker.net/programacion_general/hooks_que_son-t120555.0.html
en el hay un ejempo de hook
Código:
#include <windows.h>
#include <stdio.h>

void HookMsgBox();
int __stdcall MessageBoxA_Detour(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);

void main()
{
  HookMsgBox();
  MessageBox(0, "HOLA", "MUNDO", 0);
  printf("fin del programa");
}

void HookMsgBox()
{
  HMODULE MySelf = GetModuleHandle(0);
  HMODULE User32 = GetModuleHandle("User32.dll");
  DWORD Msg = (DWORD)GetProcAddress(User32, "MessageBoxA");
  PIMAGE_DOS_HEADER Img = (PIMAGE_DOS_HEADER)MySelf;
  PIMAGE_NT_HEADERS Pe  = (PIMAGE_NT_HEADERS) ((BYTE*)Img + Img->e_lfanew);
  LPDWORD ImportAddr = (LPDWORD)((DWORD)Pe->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress + (DWORD)Img);
  DWORD old;
  VirtualProtect(ImportAddr, 0x1000, PAGE_READWRITE, &old);     
  for (int x = 0; x < Pe->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].Size; x += 4, ImportAddr++)
  {
    LPDWORD ImportFnc = (LPDWORD)((DWORD)*ImportAddr + (DWORD)MySelf);
    if (*ImportFnc == Msg)
    {
      *ImportFnc = (DWORD)&MessageBoxA_Detour;
    }
  }
}

int __stdcall MessageBoxA_Detour(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType)
{
  printf("%s - %s\r\n", lpText, lpCaption);
  return 0;
}
pero me salen estos errores
Citar
1>------ Operación Compilar iniciada: proyecto: hook, configuración: Debug Win32 ------
1>  Source.cpp
1>c:\users\administrador\documents\visual studio 2012\projects\hook\hook\source.cpp(13): error C2664: 'MessageBoxW' : no se puede convertir el parámetro 2 de 'const char [5]' a 'LPCWSTR'
1>          Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
1>c:\users\administrador\documents\visual studio 2012\projects\hook\hook\source.cpp(20): error C2664: 'GetModuleHandleW' : no se puede convertir el parámetro 1 de 'const char [11]' a 'LPCWSTR'
1>          Los tipos señalados no están relacionados; la conversión requiere reinterpret_cast, conversión de estilo de C o conversión de estilo de función
1>c:\users\administrador\documents\visual studio 2012\projects\hook\hook\source.cpp(27): warning C4018: '<' : no coinciden signed/unsigned
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
ya probe con CString y no me funciono y con std::string::c_str pero no se usarlo bien, alguna ayuda


En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 5.694


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: hook
« Respuesta #1 en: 1 Septiembre 2014, 02:01 am »

Llama a las funciones ANSI explicitamente (MessageBoxA, GetModuleHandleW) o configura tu programa para que sea ANSI y no Unicode.

PD. Normalmente te diria que usaras L"CADENA" para Unicode pero tendrias que cambiar el hook a la funcion MessageBoxW y los parametros del hook que son ANSI ...


« Última modificación: 1 Septiembre 2014, 02:03 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
VEH Api Hook
Análisis y Diseño de Malware
bizco 9 7,232 Último mensaje 10 Junio 2012, 01:39 am
por pipaman
api hook
Programación Visual Basic
Cromatico 7 4,516 Último mensaje 21 Marzo 2011, 18:52 pm
por ntaryl
VB6 Hook Api
Programación Visual Basic
philipjfry99 0 2,169 Último mensaje 19 Marzo 2011, 23:51 pm
por philipjfry99
[C] Hook en DLL
Programación C/C++
calk9 9 3,283 Último mensaje 17 Septiembre 2011, 20:19 pm
por Eternal Idol
Hook al ratón.
Análisis y Diseño de Malware
fary 7 2,907 Último mensaje 16 Junio 2016, 21:51 pm
por Arkangel_0x7C5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines