elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Ejecución de Archivos desde Memoria [Base Relocation]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecución de Archivos desde Memoria [Base Relocation]  (Leído 20,704 veces)
[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Ejecución de Archivos desde Memoria [Base Relocation]
« Respuesta #20 en: 8 Junio 2012, 23:48 pm »

Gracias Karman, y sí, lo de las importaciones por ordinal lo supe poco después de publicar el código, lo de los Forwareder Imports no se me había ocurrido. The Swash había publicado una corrección a éste código teniendo en cuenta las importaciones por ordinal, creo que en este foro también está publicado.

Pero bueno, gracias una vez más, leer código tuyo siempre es interesante, cuando tenga más tiempo publicaré una nueva versión de éste código y de la ClsHookAPI, que hace mucho tiempo que los hice y ya no me gusta demasiado como están hechos.

Saludos

Edito: Leyendolo por encima, una micro-mejora:

Código
  1.    strncpy(ForwarderDllName,(LPSTR)dwFunction,len);
  2.    strcpy(&ForwarderDllName[len],".dll");
  3.    // Find the module associated to it (should be already loaded)
  4.    return GetProcAddress(GetModuleHandleA(ForwarderDllName),ForwardImportName)
  5.  

El ".dll" no es necesario para llamar a GetModuleHandle ni a LoadLibrary, si no se especifica extensión la API toma por defecto siempre ".dll" :) .
« Última modificación: 8 Junio 2012, 23:53 pm por [Zero] » En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Ejecución de Archivos desde Memoria [Base Relocation]
« Respuesta #21 en: 9 Junio 2012, 00:00 am »

El ".dll" no es necesario para llamar a GetModuleHandle ni a LoadLibrary, si no se especifica extensión la API toma por defecto siempre ".dll" :) .

si y no, lo que pasa es que tengo mi custom GetModuleHandle también y para no tener que comprobar dos veces en la misma busco la dll con el nombre completo :P, pero si, si usás el GetModuleHandle original no es necesario...

S2
En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PUPE - Parcheador de archivos en ejecución y volcador de memoria
Ingeniería Inversa
ARGVC 1 4,051 Último mensaje 23 Junio 2007, 03:40 am
por tena
Modificando memoria en tiempo de ejecucion C++
Ingeniería Inversa
.CPP 5 3,749 Último mensaje 17 Septiembre 2008, 20:05 pm
por ...........
Denegar la ejecución desde el navegador
PHP
Servia 0 1,801 Último mensaje 20 Diciembre 2009, 22:01 pm
por Servia
ayuda con problema c++ relocation truncated
Programación C/C++
+ 1 Oculto(s) 7 4,239 Último mensaje 19 Mayo 2016, 01:44 am
por + 1 Oculto(s)
mover archivos con powershel desde un listado de archivos en variable de memoria
Scripting
erick_correa 1 1,897 Último mensaje 18 Septiembre 2018, 01:26 am
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines