[Help] LoadLibraryA C++

Iniciado por Softrix18, 6 Marzo 2016, 08:35 AM

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

Softrix18

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.


#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.

subir fotos gratis

Cuando compilo y ejecuto el programa me tira este error.



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.

ThunderCls

Cita de: 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.


#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.

subir fotos gratis

Cuando compilo y ejecuto el programa me tira este error.



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 (cpp) [Seleccionar]
int main() {
DWORD err;
HINSTANCE hDLL = LoadLibrary("mydll.dll"); // Handle to DLL

if(hDLL != NULL)
{
printf("Library has been loaded\n");
        }
else
{
                err = GetLastError();
printf("Couldn't load dll: Error %d\n", err);
}
}
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

fary

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
Un byte a la izquierda.

Softrix18


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

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón