ho perdón pero sigo sin una respuesta constructiva al error que me sale gracias
esta 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... ?
me 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:
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
) 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.
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!
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#