Excelente aporte para los que empiezan, pero deberías esforzarte por hacer un poco más práctico sin tanta cosa inútil el código citando algunos errores para que puedas identificarlos más fácilmente.
Eso no es muy inteligente por varias razones :
1º El buffer que es utilizado para la cadena en UNICODE es demasiado pequeño (de un solo byte) :
2º Se puede llamar dentro de la misma función hook a MessageBoxA saltando unos bytes más adelante del API.
Igualmente esa forma de hookear, mediante DLL Injection es ineficiente. Puedes hacer lo mismo abriendo un proceso y escribiendo en la memoria. También, para simplificar el ejemplo, deberías quitar todas las API que no usas, además que FASM ensambla el ejecutable con las API que no usas en la IAT y quedan ocupando espacio.
EDIT:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Pedazo de mierda sin valor, estaba esperando el momento desde que copiaste ese stub foo dll fasm.
Citar
stdcall ASCIITOUNICODE,mensajito,buffer;pasamos la cadena que se mostrara en MessageBoxW a Unicode
Eso no es muy inteligente por varias razones :
1º El buffer que es utilizado para la cadena en UNICODE es demasiado pequeño (de un solo byte) :
2º Se puede llamar dentro de la misma función hook a MessageBoxA saltando unos bytes más adelante del API.
Igualmente esa forma de hookear, mediante DLL Injection es ineficiente. Puedes hacer lo mismo abriendo un proceso y escribiendo en la memoria. También, para simplificar el ejemplo, deberías quitar todas las API que no usas, además que FASM ensambla el ejecutable con las API que no usas en la IAT y quedan ocupando espacio.
EDIT:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Pedazo de mierda sin valor, estaba esperando el momento desde que copiaste ese stub foo dll fasm.