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


  Mostrar Mensajes
Páginas: [1]
1  Programación / Ingeniería Inversa / Re: Problemas con SendMessage en: 16 Julio 2010, 17:38 pm
sip, capturo el valor del handle con un hook en TranslateMessage. Además lo he comprobado con el InmunityDBG y siempre funciona
Código:
BOOL WINAPI fake_TranslateMessage(const MSG *lpMsg) {
if (lpMsg->message == WM_CHAR) {
h_main_window = lpMsg->hwnd;
}
return orig_TranslateMessage(lpMsg);
}
2  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.
3  Programación / ASM / Re: Alguien sabe que es hece el sufijo large? en: 30 Septiembre 2009, 14:50 pm
Pues no te puedo mostrar el binario, porque el el txt que os linké no aparece, y en cuanto al ensamblador, no se si es NASM o FASM, pero creo que es uno de los dos.

Por si sirve de ayuda, encontré cosas parecidas en otros textos por internet
http://www.openrce.org/articles/full_view/21
http://www.datarescue.com/laboratory/trojan2008/index.html
http://books.google.com/books?id=YKl6XnEa_CAC&pg=PA118&lpg=PA118&dq=%22large+fs:0%22&source=bl&ots=0KrGlICsmY&sig=NEcEfklyCFWcVZW6NO0hflyB4xo&hl=es&ei=mVLDStCpLcLc-Qa2ufjuCw&sa=X&oi=book_result&ct=result&resnum=6#v=onepage&q=%22large%20fs%3A0%22&f=false
http://archive.cert.uni-stuttgart.de/bugtraq/2003/02/msg00166.html
http://pastebin.com/m51046240
http://www.the-interweb.com/bdump/istbar/downloadfile.txt

De todas formas, si nadie lo sabe aquí, puedo probar a preguntar en el foro de malware porque como todas las referencias que aparecen a esta instrucción son relacionadas, igual alguien lo utilizó y sabe de que va

Gracias por tu interés
4  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
5  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