(ayuda) copilar dll

Iniciado por pirata711, 4 Marzo 2015, 07:08 AM

0 Miembros y 2 Visitantes están viendo este tema.

pirata711

ya pude pasar esa parte :D ahora me sale un error al finales el siguiente

Compiling project changes...
--------
- Project Filename: C:\Users\Intrepido\Documents\Proyecto1.dev
- Compiler Name: TDM-GCC 4.8.1 64-bit Release

Building makefile...
--------
- Filename: C:\Users\Intrepido\Documents\Makefile.win

Processing makefile...
--------
- Makefile Processor: C:\Program Files (x86)\Dev-Cpp\MinGW64\bin\mingw32-make.exe
- Command: mingw32-make.exe -f "C:\Users\Intrepido\Documents\Makefile.win" all

g++.exe -c dllmain.cpp -o dllmain.o -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++" -DBUILDING_DLL=1

dllmain.cpp: In function 'void DX_Init(DWORD*)':
dllmain.cpp:430:28: error: 'O' was not declared in this scope
  pVTable = (DWORD*)pVTable
  • ;
                                ^

    dllmain.cpp: In function 'DWORD DxHook(LPVOID)':
    dllmain.cpp:450:81: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      oDrawIndexedPrimitive = (tDrawIndexedPrimitive)DetourFunction((BYTE*)pVTable[82], (BYTE*)hkDrawIndexedPrimitive);
                                                                                     ^
    dllmain.cpp:451:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      oEndScene = (tEndScene)DetourFunction((BYTE*)pVTable[42], (BYTE*)hkEndScene);
                                                             ^
    dllmain.cpp:452:89: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      oSetVertexShaderConstantF = (tSetVertexShaderConstantF)DetourFunction((BYTE*)pVTable[94], (BYTE*)hkSetVertexShaderConstantF);
                                                                                             ^
    dllmain.cpp:453:64: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      oCreateQuery = (tCreateQuery)DetourFunction((BYTE*)pVTable[118], (BYTE*)hkCreateQuery);
                                                                    ^

    C:\Users\Intrepido\Documents\Makefile.win:30: recipe for target 'dllmain.o' failed
    mingw32-make.exe: *** [dllmain.o] Error 1


    Compilation results...
    --------
    - Errors: 1
    - Warnings: 4
    - Compilation Time: 0,78s


    me marca en rojo esto ( pVTable = (DWORD*)pVTable[0]; ) que esta en la linea 430

    disculpen tantas molestias

pirata711

necesitan mas información?

MCKSys Argentina

Cita de: BloodSharp en  9 Marzo 2015, 06:45 AM
4. Algo que tengo sabido (por experiencia :P) es que no siempre metás copiar, pegar y compilar todo el código que encuentres sobre hacks debido a que siempre algún que otro error siempre le ponen para que justamente no hagas copy/paste y mirés como funciona el juego... Lo mejor es siempre tomar el código como referencia y armar tu propia dll desde cero sabiendo que funciona parte por parte perfectamente.

No te ofendas, pero quien necesita más información eres tú...  :P

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


pirata711

te agradezco el tiempo que te tomas en responder, sin ofenderte me parece que esta mas que claro que tengo 0 información de programación o creación de dll etc me parece que para esas cosas están los foros o paginas que uno puede acudir a pedir ayuda o bien compartir sus conocimientos de otra manera no estaría pidiendo ayuda acá y mirando todo el dia el tema a ver si alguien responde a mi pedido, es tanta mi ignorancia sobre el tema que e visto que mucha gente lo mira pero nadie responde lo que me lleva a pensar que estaba olvidando poner algo o que falto algo y asta el momento sigo esperando una respuesta constructiva como las anteriores que me dio y agradezco

BloodSharp

#14
Cita de: pirata711 en 12 Marzo 2015, 02:02 AM
me parece que esta mas que claro que tengo 0 información de programación o creación de dll

En ese caso deberías aprender programación primero, luego manipulación de memoria, algo de ingeniería inversa, un poco de assembler y recién finalmente como crear un rootkit. Con toda esa información recién ahí deberías tratar de hacer desde cero o compilar un código de un hack de terceros.
Todo eso te debería llevar unos cuantos meses de aprender...

Cita de: pirata711 en 12 Marzo 2015, 02:02 AM
me parece que para esas cosas están los foros o paginas que uno puede acudir a pedir ayuda o bien compartir sus conocimientos de otra manera no estaría pidiendo ayuda acá

Claro que esas cosas están en Internet porque alguién lo compartió y que uno puede venir a pedir ayuda para tratar de entender un tema. Pero la idea del foro es justamente eso, compartir información y ayudar a entender o pedir ayuda para ver cuales son los errores y no para pedirte explicame desde cero o "haceme la tarea":

Cita de: pirata711 en  9 Marzo 2015, 07:14 AM
el del problema soy yo los de mas lo pudieron hacer bien si te paso las cosas te fijas si vos lo podes copilar por favor

EDIT: Se dice compilar, no copilar...


B#



pirata711

ho perdón pero sigo sin una respuesta constructiva al error que me sale gracias   

pirata711

Tema: (ayuda) copilar dll  (Leído 507 veces) solo 2 respuestas constructivas

BloodSharp

Cita de: pirata711 en 12 Marzo 2015, 02:54 AM
ho perdón pero sigo sin una respuesta constructiva al error que me sale gracias
Cita de: pirata711 en 12 Marzo 2015, 02:02 AMesta mas que claro que tengo 0 información de programación o creación de dll

Y sin saber nada de programación primero, ¿cómo le puedo a explicar a alguien que el error que tiene o lo que se quiere solucionar es un puntero de memoria que apunta hacia otro puntero de direcciones de memorias... ?

Cita de: pirata711 en  9 Marzo 2015, 16:30 PMme marca en rojo esto ( pVTable = (DWORD*)pVTable[0]; ) que esta en la linea 430

...y que ese error se soluciona así:

pVTable = &(pVTable[0]);

En dicho caso si lo considera bien varias de las respuestas son constructivas porque dicen que tenés que hacer para saber como funciona y como arreglarlo, aunque admito que la primera de todas requería conocimientos previos de programación y podía ser dificil de entender:

Cita de: BloodSharp en  9 Marzo 2015, 06:45 AM
Un par de cosas te señalo:

1. Probá reemplazar todos los nullptr por NULL que encuentres...

2. Tené en cuenta que cuando estás hookeando rutinas de una clase (CFakeQuery) el código de la convención de llamadas en Mingw y los compiladores de Microsoft (me refiero a la manera en que lo ensambla) es distinto: MingW envía el puntero del objeto a la stack como otro parametro extra mientras que Visual studio lo manda a un registro (creo que era edx). En castellano puede que cuando se ejecute el código de tu dll no funcione o provoque errores, por lo que recomiendo que cambies de compilador si querés hookear d3d...

3. Eso es Mingw de 64 bits? Te fijaste que al juego que quieras inyectarle esa dll esté hecho en 32 o 64 bits primero?

4. Algo que tengo sabido (por experiencia :P) es que no siempre metás copiar, pegar y compilar todo el código que encuentres sobre hacks debido a que siempre algún que otro error siempre le ponen para que justamente no hagas copy/paste y mirés como funciona el juego... Lo mejor es siempre tomar el código como referencia y armar tu propia dll desde cero sabiendo que funciona parte por parte perfectamente.
Cita de: MCKSys Argentina en  9 Marzo 2015, 15:39 PM
Tenés 1 solo error y por eso no compila. Los demás son Warnings.

nullptr no está definido en el ámbito de esa función. Si hay un .h que tiene la definición, tenés que incluirlo. Sinó reemplázalo por NULL como te dijo BloodSharp.

Saludos!
Cita de: BloodSharp en 12 Marzo 2015, 02:43 AM
En ese caso deberías aprender programación primero, luego manipulación de memoria, algo de ingeniería inversa, un poco de assembler y recién finalmente como crear un rootkit. Con toda esa información recién ahí deberías tratar de hacer desde cero o compilar un código de un hack de terceros.
Todo eso te debería llevar unos cuantos meses de aprender...


B#



pirata711

es un groso pude pasar ahora me larga otro error esto es increíble!

oDrawIndexedPrimitive = (tDrawIndexedPrimitive)DetourFunction((BYTE*)pVTable[82], (BYTE*)hkDrawIndexedPrimitive);

agradecería su ultima ayuda si ya no me sale me retiro lol