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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Mover Form sin ventana en c++ Builder en: 3 Abril 2013, 05:11 am
Hola un gran saludo de antemano, mi problema es que no estoy muy familiarizado con los entornos gráficos solo he programado en terminal. Actualmente estoy trabajando con los proyectos que poseen las ventanas ya creadas en c++ Builder  XE3 y necesito mover el form ya sea desde el evento onMouseDown, he buscado información pero no lo he podido conseguir.

Avísenme si estoy mal, tengo primero que llamar a la función:
Código:
BOOL ReleaseCapture(void);
   
y luego enviar el mensaje con la función:
Código:
LRESULT WINAPI SendMessage(
  _In_  HWND hWnd,
  _In_  UINT Msg,
  _In_  WPARAM wParam,
  _In_  LPARAM lParam
);

agradecería mucho de su ayuda, un gran saludo que tengan un buen día!
2  Programación / Programación C/C++ / Re: Ayuda con ASM inline en: 28 Marzo 2013, 06:28 am
@IEAX
@x64Core

Muchas gracias por sus respuestas, ya solucione el problema :)
3  Programación / Programación C/C++ / [Solucionado] Ayuda con ASM inline en: 28 Marzo 2013, 00:26 am
Bueno tengo el siguiente problema, he realizado con éxito un salto (jmp) en una dirección de un proceso:

Código:
DWORD dwDireccion = 0x00692B0C;

__declspec( naked ) void asmSalto() {
  __asm
    {
    mov eax, dwDireccion
    jmp Direccion
    }
}

Se inyectan correctamente las instrucciones pero acá esta mi problema, las instrucciones originales de la dirección antes de ser inyectadas eran 6 bytes en la memoria pero con la inyección anterior equivale a mas de 6 bytes, lo que origina que se cuelgue el programa:

Instrucciones originales de 6 bytes:
Código:
0042276B - 29 83 64 04 00 00        - sub [ebx+00000464],eax

Se podría hacer con un simple salto; Pero da error el copilador, se vería en memoria asi:
Código:
__asm
{
    jmp 0x00692B0C
}

Son solo 5 bytes en la memoria le agregamos 1 mas con un nop y tendríamos el salto correctamente:
Código:
00540967  - E9 A0 21 15 00           - jmp 00692B0C
0054096C  - 90                       - nop


Hay alguna forma de hacer el salto sin ocupar mas de 6 bytes? Agradecería mucho sus respuestas o comentarios.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines