Autor
|
Tema: [Ayuda] Injector Messageboox (Leído 3,504 veces)
|
Luchoz95
Desconectado
Mensajes: 58
|
Holaaa genteee, ando con un problema , el otro dia lei un codigo que subieron en este foro, que es el siguiente #include <windows.h> #include <stdio.h> typedef int (WINAPI *_MessageBoxA)(HWND, LPCTSTR, LPCTSTR, UINT); struct sTDatos_MessageBoxA { _MessageBoxA direccionMessageBoxA; char titulo[255], texto[255]; }; typedef struct sTDatos_MessageBoxA TDatos_MessageBoxA; void Hilo_MessageBoxA(TDatos_MessageBoxA *datos) { datos->direccionMessageBoxA(0, datos->texto, datos->titulo, 0); } void Inyectar_MessageBoxA(DWORD pID, char* titulo, char* texto) { DWORD tamFunc; HANDLE tHandle, funcionRemota; TDatos_MessageBoxA datos, *direccionDatosRemotos; void* direccionFuncionRemota; tHandle = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, 0, pID); datos.direccionMessageBoxA = (_MessageBoxA)GetProcAddress(GetModuleHandle("USER32.DLL"), "MessageBoxA"); sprintf(datos.titulo, titulo); sprintf(datos.texto, texto); direccionDatosRemotos = (TDatos_MessageBoxA*)VirtualAllocEx(tHandle, 0, sizeof(TDatos_MessageBoxA), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); WriteProcessMemory(tHandle, direccionDatosRemotos, &datos, sizeof(TDatos_MessageBoxA), NULL); tamFunc = (DWORD)Inyectar_MessageBoxA - (DWORD)Hilo_MessageBoxA; direccionFuncionRemota = VirtualAllocEx(tHandle, 0, tamFunc, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE); WriteProcessMemory(tHandle, direccionFuncionRemota, (void*)Hilo_MessageBoxA, tamFunc, NULL); funcionRemota = CreateRemoteThread(tHandle, NULL, 0, (LPTHREAD_START_ROUTINE)direccionFuncionRemota, direccionDatosRemotos, 0, NULL); WaitForSingleObject(funcionRemota,INFINITE); CloseHandle(funcionRemota); VirtualFreeEx(tHandle,direccionFuncionRemota,0,MEM_RELEASE); VirtualFreeEx(tHandle,direccionDatosRemotos,0,MEM_RELEASE); CloseHandle(tHandle); } int main() { DWORD pID; HWND hWnd; hWnd = FindWindow("SciCalc", NULL); if(hWnd!=NULL) { GetWindowThreadProcessId(hWnd, &pID); Inyectar_MessageBoxA(pID, "descifra.me", "Codigo inyectado!"); } return 0; }
el problema surge que no se logra injectar el codigo en la calculadora, abro la calculadora y ejecuto ese codigo y no pasa nada, alguien sabe si copie mal el codigo o algo ? por lo que tengo entendido no tengo ningún error Saludos
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
Hola
La causa podria ser entre varias, por ejemplo si estas compilando en modo release y las opciones que estas pasando al compilador, otro es en que sistema operativo estas intentando ejecutarlo en un windows de 64bits programas tales como esos estan compilandos para 64 bits pero existen versiones de 32 bits en la sysWow64 ( verifica de ejecutar la version correcta ) debido a que este metodo no funciona para inyectar de 32 bits a un proceso de 64 bits, otro problema puede ser el nombre de la clase de la calculadora en Win7 64 bits el nombre de la clase es: "CalcFrame"
|
|
« Última modificación: 4 Marzo 2013, 21:02 pm por x64Core »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Creo que como te dijo x64Core SciCalc no coincide con la calculadora de Windows PERO lo que tenes que hacer es DEPURAR el programa linea y por linea y ver que devuelven las llamadas a la API.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Luchoz95
Desconectado
Mensajes: 58
|
El sistema operativo que uso es el W7 32 bits , nose a te referis modo relaese y la opciones de mi compilador , Saludos!
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
El sistema operativo que uso es el W7 32 bits , nose a te referis modo relaese y la opciones de mi compilador , Saludos!
Entonces seguramente es el nombre de la clase, verificarlo, de lo contrario depura tu codigo como dijo EI Respecto a las opciones del compilador eso podría afectar el compilador por lo general crea una tabla con punteros a las funciones y esto afecta cuando haces referencias a funciones basándote en el hecho de la posición de las funciones ( como en este ejemplo ). cuando haces referencia al inicio de la funcion en realidad estas haciendo referencia a la posicion de memoria donde esta almacenado el puntero a la función y los resultados no son los que se esperan. Además siempre es muy recomendable usar los valores de retonos de las funciones no solo por el hecho que funcione en una version de Windows significa que funcionara siempre. Y además solo por información, también podria ser el token de seguridad del proceso que intenta hacer la inyección. Lo mejor por ahora seria depurar el código.
|
|
|
En línea
|
|
|
|
Luchoz95
Desconectado
Mensajes: 58
|
perdon pero no entiendo cuando te referis al nombre de la clase, y depurar tampoco nunca lo hice, pd: estoy usando Codeblocks
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
perdon pero no entiendo cuando te referis al nombre de la clase, y depurar tampoco nunca lo hice, pd: estoy usando Codeblocks
http://en.wikipedia.org/wiki/Window_class en el codigo se ha escrito "SciCalc", existen varias herramientas para saber el nombre de la clases de una ventana por ejemplo: spy++ de microsoft, La version más actulizada la podes encontrar entre las herramientas que vienen con Visual Studio professional ( no express ). Y aprender a depurar tus propios programas y utilizar la funcion GetlastError. Recomiendo VC++.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
SQL Power Injector
Nivel Web
|
Guide_Shen
|
1
|
4,797
|
18 Julio 2007, 13:40 pm
por yeikos
|
|
|
arm7 injector (Nintendo DS patcher)
Juegos y Consolas
|
Shutdown -r
|
0
|
12,040
|
24 Marzo 2008, 20:21 pm
por Shutdown -r
|
|
|
web crackeador o injector vb6
Programación Visual Basic
|
xakalw00f
|
0
|
1,708
|
28 Mayo 2008, 04:40 am
por xakalw00f
|
|
|
Como Undetectar un Injector Dll
« 1 2 »
Análisis y Diseño de Malware
|
LCheats
|
13
|
12,574
|
30 Diciembre 2011, 23:27 pm
por flyingwifi
|
|
|
[DLL INJECTOR] DuDa Hacking de DLL
Programación C/C++
|
DCross
|
0
|
1,899
|
4 Septiembre 2012, 01:22 am
por DCross
|
|