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.
(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.
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.
(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.
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);
}
}
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
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
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