[SOLUCIONADO] Cargando libreria desde memoria y error desconocido

  • 6 Respuestas
  • 3092 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado OnTheCore

  • *
  • Underc0der
  • Mensajes: 58
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
Hola gente, estoy tratando de cargar una DLL desde la memoria.

El problema aparece cuando compilo con (GCC) -nostdlib (linkeando las librerias necesarias) y utilizando mainCRTStartup como entry point para reducir el tamaño del ejecutable, funciones innecesarias, etc. Al parecer, al quitar toda esa parte que no me sirve, estoy excuyendo y por eso crashea el programa.
Si compilo normalmente y utilizo main o WinMain el problema no aparece. Funciona todo perfecto

El problema es que al querer obtener un puntero desde una funcion, obtengo un puntero invalido. En la dll puedo verlo correctamente, pero en el programa principal tengo otro valor.
« Última modificación: Agosto 20, 2014, 08:52:15 pm por Expermicid »

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
No hace tanto tuve un problema similar al tuyo y pude darle solución con este enlace, suerte lo tenia aun por favoritos : http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
Claro que se te rompe el programa, porque esa función la utiliza la biblioteca en tiempo de ejecución de C para cargar sus propiedades.

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
Prueba usando este API nada mas que entre a la funcion mainCRTStartup

http://msdn.microsoft.com/es-es/library/ms235362.aspx

Desconectado OnTheCore

  • *
  • Underc0der
  • Mensajes: 58
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
Prueba usando este API nada mas que entre a la funcion mainCRTStartup

http://msdn.microsoft.com/es-es/library/ms235362.aspx

No porque no estoy compilando con /GS (Buffer Security Check)

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil
Si no usas ninguna libreria de CRT y no te genera el exe con esas dependencias no te debería de fallar.

Aquí te dejo cuales son dichas librerias:

http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

Realmente deberías usar el punto de entrada habitual, de poco sirve iniciar en CRT y tener que inicializar las librerias tu a mano.

Desconectado OnTheCore

  • *
  • Underc0der
  • Mensajes: 58
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
Gracias
« Última modificación: Abril 16, 2014, 06:18:53 pm por OnTheCore »

 

[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 24774
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 11471
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 10262
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 14496
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 14030
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon