Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Softrix18 en 6 Marzo 2016, 08:35 am



Título: [Help] LoadLibraryA C++
Publicado por: Softrix18 en 6 Marzo 2016, 08:35 am
Hola, compis.

Estoy por aca para que me ayudeis a resolver un problemita. He conseguido un programa el cual carga una dll de un juego para hacer un dump, haciendo ingenieria inversa al ejecutable el hace uso de LoadLibraryA y funciona todo.

Ahora quiero codificar un programa que haga exactamente lo mismo, aca el Codigo.

Código:
#include "windows.h"
#include <iostream>

int main()
{
DWORD err;
HINSTANCE CShell= LoadLibraryA("CShell.dll");             
if(CShell!= NULL) {
printf("Libreria Cargada\n");
        }
else {
        err = GetLastError();
printf("Error\n");
}
system("pause");
return 0;
}

OllyDBG al programa que les mencione que existe y hace su trabajo.
(http://s18.postimg.org/6p6ks2x55/img.jpg) (http://postimage.org/)
subir fotos gratis (http://postimage.org/index.php?lang=spanish)

Cuando compilo y ejecuto el programa me tira este error.

(http://s27.postimg.org/xd1standf/img2.jpg) (http://postimage.org/)

Visual Basic 2010
Dev-C++

debe ser una tonteria pero ya tengo ranto en eso y nada, espero me puedan ayudar.
otra pregunta, porque el compilado de Dev-c++ pesa mucho mas que el de Visual Basic ?.

Gracias.


Título: Re: [Help] LoadLibraryA C++
Publicado por: ThunderCls en 7 Marzo 2016, 04:08 am
Hola, compis.

Estoy por aca para que me ayudeis a resolver un problemita. He conseguido un programa el cual carga una dll de un juego para hacer un dump, haciendo ingenieria inversa al ejecutable el hace uso de LoadLibraryA y funciona todo.

Ahora quiero codificar un programa que haga exactamente lo mismo, aca el Codigo.

Código:
#include "windows.h"
#include <iostream>

int main()
{
DWORD err;
HINSTANCE CShell= LoadLibraryA("CShell.dll");             
if(CShell!= NULL) {
printf("Libreria Cargada\n");
        }
else {
        err = GetLastError();
printf("Error\n");
}
system("pause");
return 0;
}

OllyDBG al programa que les mencione que existe y hace su trabajo.
(http://s18.postimg.org/6p6ks2x55/img.jpg) (http://postimage.org/)
subir fotos gratis (http://postimage.org/index.php?lang=spanish)

Cuando compilo y ejecuto el programa me tira este error.

(http://s27.postimg.org/xd1standf/img2.jpg) (http://postimage.org/)

Visual Basic 2010
Dev-C++

debe ser una tonteria pero ya tengo ranto en eso y nada, espero me puedan ayudar.
otra pregunta, porque el compilado de Dev-c++ pesa mucho mas que el de Visual Basic ?.

Gracias.


No utilices la version ASCII de la API, simplemente usa LoadLibrary o LoadLibraryEx y que el compilador se encargue del resto.
Código
  1. int main() {
  2. DWORD err;
  3. HINSTANCE hDLL = LoadLibrary("mydll.dll"); // Handle to DLL
  4.  
  5. if(hDLL != NULL)
  6. {
  7. printf("Library has been loaded\n");
  8.        }
  9. else
  10. {
  11.                err = GetLastError();
  12. printf("Couldn't load dll: Error %d\n", err);
  13. }
  14. }


Título: Re: [Help] LoadLibraryA C++
Publicado por: fary en 7 Marzo 2016, 09:24 am
Eso no debería ser problema Thunder...

Softtix mira que error te devuelve GetLastError y mira a que se debe:
https://msdn.microsoft.com/es-es/library/windows/desktop/ms681382(v=vs.85).aspx


Título: Re: [Help] LoadLibraryA C++
Publicado por: Softrix18 en 7 Marzo 2016, 17:02 pm
Código:
ERROR_DLL_INIT_FAILED
1114 (0x45A)
A dynamic link library (DLL) initialization routine failed.

Existe un programa que si logra cargar la DLL y la Dump con ollyDBG sin problema, pero no entiendo porque intento carga la DLL con un programa en C++ haciendo uso de api LoadLibrary y no me la carga y me tira ese error :S


Título: Re: [Help] LoadLibraryA C++
Publicado por: Eternal Idol en 7 Marzo 2016, 21:55 pm
Es un problema de CRTs, deberias buscar en Google crt R6034:

https://msdn.microsoft.com/en-us/library/ms235560%28VS.80%29.aspx
http://stackoverflow.com/questions/2505712/trying-to-load-a-dll-with-loadlibrary-and-get-r6034-an-application-has-made-an
http://kb.froglogic.com/pages/viewpage.action?pageId=131185
http://stackoverflow.com/questions/14454341/r6034-attempt-to-load-c-runtime-library-incorrectly