Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definimos las funciones para preparar la estructura a inyectar junto con la función inyectadora.
- */
- #include "funcionInyectar.h"
- /**
- * Es la función de inicio que vamos a inyectar dentro de otro proceso.
- * @param _paramInyectar* Puntero a la estructura que contiene las funciones y los datos a inyectar
- */
- void funcionInyectada(_paramInyectar *paramInyectar){
- /**
- * Llamamos a la función MessageBox a través del puntero a función que guarda la dirección
- * de dicha función.
- */
- paramInyectar->_MessageBox(NULL, paramInyectar->mensaje, paramInyectar->mensaje, MB_OK);
- }
- /**
- * Es la función que rellena/prepara la estructura con los datos necesarios a inyectar.
- * @param _paramInyectar* Puntero a la estructura que contiene las funciones y los datos a inyectar
- */
- void preparaInyeccion(_paramInyectar *paramInyectar){
- HINSTANCE hUser;
- //Limpiamos la estructura anulándola de posible basura informática
- ZeroMemory(paramInyectar, sizeof(_paramInyectar));
- //Obtenemos instancia de la librería user32.dll donde se encuentra la función MessageBox
- hUser = LoadLibrary("user32.dll");
- if(!hUser){
- //"Error cargar librería user32.dll
- return;
- }
- //Obtenemos la dirección de la función MessageBox que almacenamos en el puntero a función
- paramInyectar->_MessageBox = (P_MESSAGEBOX)GetProcAddress(hUser, "MessageBoxA");
- //Limpiamos la variable mensaje anulándola de posible basura informática
- memset(paramInyectar->mensaje, 0, sizeof(paramInyectar->mensaje));
- //Copiamos datos en la zona de la variable mensaje
- strcpy(paramInyectar->mensaje, "Hola, soy una función inyectada en otro proceso");
- //Ya tenemos nuestra estructura preparada para ser inyectada.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement