Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - x64core

#621
Cita de: daryo en  2 Abril 2013, 19:32 PM
que me recomiendan es mejor usar la api de windows o el process.h?
para hacer threats

o es indiferente lo que use

:huh:

Usar Win32, librerias como esas son simplemente wrappers a las APIs.
#622
ASM / Re: ¿Optimizar código?
3 Abril 2013, 19:22 PM
Hola,
movzx ecx,ax
add ebx,ecx
#623
ASM / Re: Editor ASM
2 Abril 2013, 21:00 PM
Que tiempos esos  :laugh:
#624
Nuevas versiones de Dev-Cpp aquí:
http://orwelldevcpp.blogspot.com/

por cierto, "Poison Lux" luce como un clone de un usuario que imagino quien es :)
#625
ASM / Re: Editor ASM
2 Abril 2013, 12:52 PM
Cita de: paulagarcum en  2 Abril 2013, 11:30 AM
¿Compilar no, ensamblar? Editor, editor.

Uso el notepad por si te sirve.
#626
Ya veo, yo realmente no uso esos compialdores y creo que jamas cambiaria a esos apestosos compiladores
Tampoco me saldria del estandar :P
#627
Cita de: NathanD en 29 Marzo 2013, 18:15 PM
Sí, lo he probado con más de un compilador.

Yo no estoy seguro lo que dice naderST, pero aun si fuera cierto no tiene sentido

#include <stdio.h>

#define MAXLINE 60

int main()
{
char *ptr;
ptr = (char*) malloc(MAXLINE * sizeof(char) );

printf("Introduce una frase: ");
fgets(ptr, MAXLINE+1, stdin);

printf("\n%p = %c", ptr,*ptr);
ptr++;
printf("\n%p = %c", ptr, *ptr);

printf("\n\n%p %p", ptr, ptr++);

getchar();

return 0;
}


Si aun los argumentos se evaluaran de derecha a izquierda en la linea del tercer printf ptr deberia contener la dirección 00512421,
además he notado que en el tercer printf el valor de ptr vale 00512422, valor inicial 00512420 y solamente se hace un incremento.
¿Que compilador utilizas?


Agregado:

He compilado con VC++ y Dev-Cpp(MinGW32):



Facil como pasarle una mirada al codigo.
He corregido, el segundo argumento pasado a la tercera llamada a printf deberia contener 00512421.
#628
Estas seguro que esa es la salida de ese codigo?
Recordar que haces un pos incremento.
#629
Programación C/C++ / Re: Ayuda con ASM inline
28 Marzo 2013, 03:18 AM
Cita de: saawyeer 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:


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:
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:

__asm
{
    jmp 0x00692B0C
}


Son solo 5 bytes en la memoria le agregamos 1 mas con un nop y tendríamos el salto correctamente:

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.


jmp dword ptr [0x80808080]
#630
Cita de: ignorantev1.1 en 26 Marzo 2013, 16:32 PM
La app tiene un procedimiento para terminar los hooks y es llamado al finalizar la aplicación (ojo: finalizar, no parar el programa en el  IDE). En ese procedimiento:

Código (vb) [Seleccionar]

funcion finalizarApp()
...
call UnhookWindowsHookEx(msHook)
hooks = false 'Esta bandera la utilizo para saber el estado de los hooks.
...


Con la bandera "hooks" me aseguro que se haya pasado por el procedimiento que remueve los hooks. En la función que recibe al hook:

Código (vb) [Seleccionar]

Public Function MSProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long

    if not hooks then  debug.print "Hola, sigo funcionando después de hacer unhook, ¿te jode?"

    If nCode = 0 Then
        'TODO
    Else
        If hooks Then msHook = CallNextHookEx(msHook, nCode, wParam, lParam)
    End If
End Function


No recuerdo porque hice de esta forma la función, y no entiendo bien el para qué de "CallNextHookEx"...

Saludos y gracias.

Yo no tengo ningun problema, Iniciar:
hook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseMonitorWinProc, App.hInstance, 0&)

Remover:
call UnhookWindowsHookEx(hook)

De lo contrario verifica el valor de UnHookWindowsHookEx y el ultimo error.