Bueno, eso, estaba buscando alguna alternativa o "Custom GetModuleHandle" buscando por internet he encontrado alguna funcion en C++:
[Enlace externo eliminado para invitados]
o algo en ASM en el Blog de Thor:
[Enlace externo eliminado para invitados]

Me gustaria saber si saben de alguna otra variante o modulo en C nativo. Gracias
Imagen
osnaraus escribió:Bueno, eso, estaba buscando alguna alternativa o "Custom GetModuleHandle" buscando por internet he encontrado alguna funcion en C++:
[Enlace externo eliminado para invitados]
o algo en ASM en el Blog de Thor:
[Enlace externo eliminado para invitados]

Me gustaria saber si saben de alguna otra variante o modulo en C nativo. Gracias
Lo del blog de thor no es asm, el codigo que desamblo si y era para ver que apis cargaba el ejecutable y en su mismo post esta la alternativa que puede ser LoadLibrary claro si es para tener el handle o instancia de una libreria que es lo que mas se usa en el "malware" para no importar las funciones al ejecutable y reducir su peso

Código: Seleccionar todo

HMODULE h = GetModuleHandle("kernel32.dll");
GetProcAddress(h, "ExitProcess");
alternativa

Código: Seleccionar todo

HMODULE h = LoadLibrary("User32.dll");
GetProcAddress(h, "MessageBoxA");
con respecto a crear esa funcion en c nativo pues si es para obtener el handle o cargar una libreria supongamos lo ultimo la funcion dlopen pero recordemos el formato de las cabeceras de windows y bla bla bla todo eso

saludos
Imagen
en el msn ♣Conejo escribió:[26/03/11 10:39:13] Su firma contiene 281 caracteres. El máximo número de caracteres permitidos es 200.
menos mal que soy admin
Como dato extra por si a alguien le es de ayuda, GetModuleHandle se utiliza cuando el módulo ya esta cargando en la memoria virtual del proceso y LoadLibrary se usa para cargar el módulo :P
//mHmm..
Esto es lo que buscas:

[Enlace externo eliminado para invitados]

Puedes crrear la funcion sin usar ninguna API de W$.

saludos.
Imagen
Existe una API nativa, pero dos de sus parámetros son desconocidos, aún así la dejo por si alguien quiere experimentar (Cuidado yo consegui un BSOD y jodí la MBR xD).
Se encuentra en ntdll.lib.

Código: Seleccionar todo

NTSYSAPI 
NTSTATUS
NTAPI
LdrGetDllHandle(
  IN PWORD                pwPath OPTIONAL,
  IN PVOID                Unused OPTIONAL,
  IN PUNICODE_STRING      ModuleFileName,
  OUT PHANDLE             pHModule );
pwPath
- ???

Unused
- ???

ModuleFileName
Path to file + Dll name, in NT directory format.

pHModule
Pointer to received HMODULE.
Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Responder

Volver a “C/C++”