esto es el codigo en el que estoy trabajando para dll pero nose si me falta una variable o algo porque cuando le doy a inyectar al momento de activarlo no funciona y al hacerlo manualmente si porque sera?
#include <stdio.h>
#include <windows.h>
bool nombre = false; //ejemplo <nombre> nombre de lo que se va a modificar
bool salir = false;
void dll()
{
while (salir) //bucle infinito (while 1 = true) variable salir es = a false osea a terminar el procceso
{
if (nombre) //si es verdadera
{
*(DWORD*)(0x01A1B9FC) = 16000; //04E50C5C
}
Sleep(200); //milisegundos de espera del bucle
}
}
void Teclado() //nombre de la variable
{
while (1) //bucle
{
if (GetAsyncKeyState(VkKeyScan('o')) & 1) //usar teclado para activar
{
nombre = !nombre; //lo contrario de verdadero De true a false o de false a true
}
Sleep(500);
}
}
//DLL.MAINT
BOOL WINAPI DllMain(HINSTANCE module, DWORD reason, LPVOID reserved)
{
if (reason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)dll, 0, 0, 0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Teclado, 0, 0, 0);
}
else if (reason == DLL_PROCESS_ATTACH)
{
salir = true;
}
//devolver
return true;
}
#include <stdio.h>
#include <windows.h>
bool nombre = false; //ejemplo <nombre> nombre de lo que se va a modificar
bool salir = false;
void dll()
{
while (salir) //bucle infinito (while 1 = true) variable salir es = a false osea a terminar el procceso
{
if (nombre) //si es verdadera
{
*(DWORD*)(0x01A1B9FC) = 16000; //04E50C5C
}
Sleep(200); //milisegundos de espera del bucle
}
}
void Teclado() //nombre de la variable
{
while (1) //bucle
{
if (GetAsyncKeyState(VkKeyScan('o')) & 1) //usar teclado para activar
{
nombre = !nombre; //lo contrario de verdadero De true a false o de false a true
}
Sleep(500);
}
}
//DLL.MAINT
BOOL WINAPI DllMain(HINSTANCE module, DWORD reason, LPVOID reserved)
{
if (reason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)dll, 0, 0, 0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Teclado, 0, 0, 0);
}
else if (reason == DLL_PROCESS_ATTACH)
{
salir = true;
}
//devolver
return true;
}