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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Ingeniería Inversa / Problemas con SendMessage en: 16 Julio 2010, 00:03 am
Estoy teniendo problemas con la función SendMessage. Os cuento
Estos días estaba haciendo unas pruebas de simulacion depulsaciones mediante una dll inyectada. Estos días, para hacer la prueba utilizé simplemente Notepad en un Windows XP sp2. El caso es que anteayer tube que formatear el ordenador y me cambie a windows 7. La misma prueba me funcionó correctamente con el Notepad.
El problema me vino cuando decidí probar con el GuildWars. El caso es que envía el mensaje correctamente (retorna bien y GetLastError == 0) pero parece que no llegan pasar por TranslateMessage (esto lo comprobé depurando).
Al principio, pensé que podía ser la UIPI, pero luego me di cuenta de que no podía ser porque como la funcionalidad está inyectada en el propio proceso, no debería dar problemas. Me equivoco en este razonamiento?

Alguien tiene alguna pista?

Os dejo la función que utilizo para enviar los mensajes, no creo que esté mal porque con otros programas funciona a la perfeción, pero nunca se sabe:
Código:
void send_char(char c) {
unsigned vkcode, scancode, keydata;

vkcode = LOBYTE(VkKeyScan(c));
scancode = MapVirtualKey(vkcode,0);

keydata = scancode << 16;
keydata += 1;
SendMessage(h_main_window, WM_CHAR, (WPARAM) c, (LPARAM) keydata);
}
h_main_window contiene el valor correcto.
2  Programación / ASM / Alguien sabe que es hece el sufijo large? en: 30 Septiembre 2009, 02:22 am
Estaba revisando código en ensamblador, cuando me encontré con la siguiente instrucción:
Código
  1. mov ebx, large fs:0
De esta instrucción lo entiendo todo, pero me puse a buscar que hacía "large" y no encontré casi nada, lo único que encontré fue esto
Citar
SMALL and LARGE can be used determine the width of a displacement:

MOV EAX, [LARGE $1234]

This instruction generates a 'normal' move with a 32-bit displacement ($00001234).

MOV EAX, [SMALL $1234]

The second instruction will generate a move with an address size override prefix and a 16-bit displacement ($1234).

SMALL can be used to save space. The following example generates an address size override and a 2-byte address (in total three bytes)

MOV EAX, [SMALL 123]

as opposed to

MOV EAX, [123]

which will generate no address size override and a 4-byte address (in total four bytes).
La idea que yo tenía era más o meno esa, pero me sorprendió mucho no encontrar esta información nada más que en una página, así que os pregunto vosotros si sabéis lo que es.

Por cierto, si alguien quiere ver el código que estaba mirando, era este
http://www.yersinia.net/payload.txt
3  Programación / Ingeniería Inversa / Busqueda de strings dinánicos en: 12 Junio 2009, 22:19 pm
Buenas, antes de nada decir que no sabía muy bien en que foro iva esto, así que l he puesto donde más me pegaba.

La cosa es que he estado intentando localizar strings que se generan en tiempo de ejecución en una aplicación. Lo estuve intentando con el OllyDBG, pero no lo he conseguido, alguien tiene alguna idea?
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines