Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   Problema con un code (http://www.forosdelweb.com/f96/problema-con-code-459088/)

001 24/01/2007 08:06

Problema con un code
 
Hola, tengo este code para ver si OPENGL32.dll fue cargada en un proceso pero no funciona, me pueden ayudar para ver que esta mal?

Código:

BOOL IsOpenGL32Loaded(HANDLE hProcess)
{
        DWORD dwResult;
        LPCSTR lpOpenGL32=(LPCSTR)&(“opengl32.dll”);
        LPVOID lpvExternBuff;
        SIZE_T stDummyOut;
       
        lpvExternBuff=VirtualAllocEx(
                hProcess,
                NULL,
                (SIZE_T)13,
                MEM_COMMIT,
                PAGE_READWRITE);
        WriteProcessMemory(
                hProcess,
                (LPCVOID)lpvExternBuff,
                (LPVOID)lpOpenGL32,
                (SZIE_T)13,
                &stDummyOut);

        HANDLE hThread=CreateRemoteThread(
                hProcess,
                NULL,
                NULL,
                (LPTHREAD_START_ROUTINE)(INT64)GetProcAddress,
                lpvExternBuff,
                NULL,
                NULL);
        WaitForSingleObject(hThread, INFINITE);
        GetExitCodeThread(hThread, &dwResult);
        CloseHandle(hThread);

        VirtualFree(
                hProcess,
                lpvExternBuff,
                NULL,
                MEM_RELEASE);

        return (BOOL)dwResult;
}


Eternal Idol 25/01/2007 09:13

Re: Problema con un code
 
¿Que no funciona exactamente? ¿Logra crear el hilo remoto? ¿Se jode la otra aplicacion? ¿No podes crearlo en procesos que sean descendientes de services? Para empezar GetProcAddress necesita dos parametros y un hilo creado recibe uno ... seguramente buscas la funcion GetModuleHandle.

Igual no veo el sentido de inyectar codigo para hacer esto, la verdad es que no se de donde habras sacado la idea y/o el codigo ... ¿Necesitas hacerlo desde un programa o una utilidad te podria servir de igual manera? Podes usar CreateToolhelp32Snapshot, Module32First, Module32Next para enumerar los modulos cargados en un proceso.

001 25/01/2007 11:34

Re: Problema con un code
 
desde mi exe necesito saber si en tal proceso existe OPENGL32.dll cargada

Eternal Idol 25/01/2007 11:58

Re: Problema con un code
 
Bueno, como ya te dije: "Podes usar CreateToolhelp32Snapshot, Module32First, Module32Next para enumerar los modulos cargados en un proceso."

Tambien podes seguir intentado con ese codigo obviamente: "¿Logra crear el hilo remoto? ¿Se jode la otra aplicacion? ¿No podes crearlo en procesos que sean descendientes de services? Para empezar GetProcAddress necesita dos parametros y un hilo creado recibe uno ... seguramente buscas la funcion GetModuleHandle."

001 25/01/2007 13:07

Re: Problema con un code
 
okok, gracias amigo

Eternal Idol 25/01/2007 13:16

Re: Problema con un code
 
De nada, por cierto si seguis con el metodo de inyeccion y necesitas comprobar procesos descendientes de services vas a tener que conseguir privilegios de debug desde el programa, sino no podras abrir un HANDLE los mismos.


La zona horaria es GMT -6. Ahora son las 05:56.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.