Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#601
Si hay un error, el código del error lo obtendrás llamando a GetLastError. Para ver el texto de ese código de error, tienes la función Formatmessage. De todos modos, si no quieres utilizar FormatMessage, tienes esta web con los códigos de error: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx
#602
No, esos son errores del linker. Tienes que diferenciarlos. Cuando pone "ld returned 1" es error del linker ("ld" es el linker de GCC). Las undefined references también son del linker. "hook.o", está trabajando con el código objeto, ergo probablemente también sea del linker. ".text+0xab6", ".text" es una sección de un ejecutable, así que también implica linker.

En cualquier caso. Los errores de linker se solucionan linkeando bien las librerías, valga la redundacia. Intuyo que "InitializeBuffer" es una función de una librería. No veo que se la hayas indicado al compilar, con -L y/o -l.
#603
Que pregunta más genérica :X

¿Tienes el código? De ser así, sería revisar que cada parte cumple bien su trabajo. Si es C++, en el peor de los casos, hasta se puede comprobar qué destructores no están siendo llamados (en casos de clases, claro).
#604
Cita de: integeroverflow en 15 Marzo 2017, 05:27 AM
pero en el caso de :

estructura *mi_estructura = malloc(sizeof(struct estructura));

se reservaria memoria en la heap, al contrario de :

estructura mi_estructura;

que reservaria la memoria en la stack, es correcto lo que digo?

#605
Prueba compilando como hacías antes así:
gcc -o bot.exe Dynamic.cpp -L"Direccion de la carpeta de los archivos de la librería" -lhook -lhde32 -lbuffer -ltrampoline

De todos modos, estaba leyendo y:
Código (cpp) [Seleccionar]
#pragma comment(lib, "MinHook.x64.lib")
Tienes eso en el código. Eso solo funciona en VC++. Y esa es otra, ¿tienes un .lib? Si tienes ese .lib, entonces prueba algo como:
gcc -o bot.exe Dynamic.cpp -L"Direccion de la carpeta de los archivos de la librería" -l"MinHook.x64"

En fin, si no te funciona nada de esto, mira información sobre la librería...
#606
Antes de nada, me aprece raro que al generar la librería de esos errores. ¿Siempre te los dió?
#607
Si ya te compila, entonces vamos al segundo paso.
¿Linkeaste correctamente la librería? Esos son errores de linker.

Bueno, leyendo la línea, no:
Citargcc -o bot.exe Dynamic.cpp

Cuando tratas de compilar un programa con uno o más archvios de código o librerías, hay que hacerlo por pasos.

Primero, compilar los códigos:
Citarg++ -o Dynamic.o -c Dynamic.cpp

Luego, linkear todo:
Citarg++ -o bot.exe Dynamic.o libreria1.o archivo2.o
#608
Varios de esos errores son lo mismo:
if (MH_CreateHookApiEx(L"user32", "MessageBoxW", &DetourMessageBoxW, &fpMes
sageBoxW) != MH_OK)

A &DetourMessageBoxW hay que ponerle también el void*.
#609
Como no sé exactamente cómo está tu proyecto, te pongo un ejemplo:

DynamicLinkSample.cpp:43:35: error: invalid conversion from 'int (__attribute__(
(__stdcall__)) *)(HWND, LPCWSTR, LPCWSTR, UINT) {aka int (__attribute__((__stdca
ll__)) *)(HWND__*, const wchar_t*, const wchar_t*, unsigned int)}' to 'LPVOID {a
ka void*}' [-fpermissive]
     if (MH_EnableHook(&MessageBoxW) != MH_OK)
                                   ^


Y según has puesto, MH_EnableHook es:
Código (cpp) [Seleccionar]
MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget);
&MessageBoxW no es un void*, es un unteor a esa función. Podrías poner:
Código (cpp) [Seleccionar]
if (MH_EnableHook((void*)&MessageBoxW) != MH_OK)

Y algunos de los otros errores son más de lo mismo.
#610
Esa librería sera de C (los errores son errores de conversión de un puntero a función a un void*, cosa que en C se podía hacer de forma implícita). O modificas las funciones añadiendo casts a void*, o:
https://www.codeproject.com/Articles/44326/MinHook-The-Minimalistic-x-x-API-Hooking-Libra
Hay una parte que pone: If you are a C++ user, ...