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


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  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 1,826 veces)
flony


Desconectado Desconectado

Mensajes: 585



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
Kernel coder ajeno al tiempo
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


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 9,261 Último mensaje 10 Junio 2012, 01:39 am
por pipaman
api hook
Programación Visual Basic
Cromatico 7 6,147 Último mensaje 21 Marzo 2011, 18:52 pm
por ntaryl
VB6 Hook Api
Programación Visual Basic
philipjfry99 0 2,858 Último mensaje 19 Marzo 2011, 23:51 pm
por philipjfry99
[C] Hook en DLL
Programación C/C++
calk9 9 5,174 Último mensaje 17 Septiembre 2011, 20:19 pm
por Eternal Idol
Hook al ratón.
Análisis y Diseño de Malware
fary 7 5,251 Ú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