Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: EvilGoblin en 10 Agosto 2010, 15:16 pm



Título: Modificar Juego ¿?
Publicado por: EvilGoblin en 10 Agosto 2010, 15:16 pm
Buenas, estuve viendo programas para el NFS Underground 2.

Estos mismos te agregaban dinero, te aumentaban la velocidad.. te hacian poder saltar.. o bajar la gravedad. estos pesan unos 55k y al ser la GUI imagino que el programa no debe superar unos 200 lineas.

Mi idea es sencilla.. nada raro, quiero poder modificar el enfoque de la camara... no me gusta que esta tan atras.. no ves para adelante del auto.

Cuando haces carreras de Drift. la camara se pone en una posicion ideal...

Esto es realizable.. poder usar el enfoque que usan en los drift... o cuando pones reversa hasta una pared tmb el enfoque se pone en una posicion mas comoda..


Título: Re: Modificar Juego ¿?
Publicado por: Høl¥ en 10 Agosto 2010, 20:21 pm
Utiliza Cheat Engine con las opciones "Unknown initial value" en "Scan type" y "Float" (tampoco es que este seguro en que sea un float, pero mi algo de experiencia con juegos me dice que utilizan floats para las camaras) en "Value type". Le das a New Scan.

Despues ve modificando la camara en el juego (aumentandola o disminuyendola), y sigue buscando hasta que des con el offset de la camara con Next Scan y con las opciones "Increased value" o "Decreased value" dependiendo de si hayas aumentado o disminuido la camara.

Otra opcion es ponerte a debugear y encontrar donde te pone la posicion de la camara.

Y otra es buscar por las APIs de OpenGL (que tampoco te aseguro que usen OpenGL).

==
EDIT

Me he puesto a investigar mas, y he descargado un trainer que al parecer bloquea la camara "Camera Lock", te lo he pasado por MP por si te interesa.

Aun asi me he encargado de debugear lo que hace cuando se presiona la tecla "L" que es la encargada de bloquear la camara.

Basicamente manda un WriteProcessMemory al juego con los siguientes datos.

Código:
0013F8E8   004078B9  /CALL to WriteProcessMemory from nfsu2-tr.004078B4
0013F8EC   00000000  |hProcess = NULL
0013F8F0   00447270  |Address = 447270
0013F8F4   00172550  |Buffer = 00172550
0013F8F8   00000003  |BytesToWrite = 3
0013F8FC   0013F930  \pBytesWritten = 0013F930

004057D7   .  BA 24344000   MOV EDX,nfsu2-tr.00403424                ;  UNICODE "C20800"

0040587C   .  BA 38344000   MOV EDX,nfsu2-tr.00403438                ;  UNICODE "558BEC"

Es decir, ya tienes una address relacionada con la camara que es 447270, y en el buffer le llega a poner dos valores distintos dependiendo de la ocasion, C20800 y 558BEC.

Asi que podrias empezar por ahi, modificando el offset 447270, y si cambia la camara ya tienes listo todo. Si no encuentras el offset es posible que cambie segun la version/lenguaje del juego, entonces busca por C20800 y 558BEC deben ser como constantes en el juego para las camaras ya que estan hardcoded en el trainer.

PD : En el trainer pone "Works for Retail 1.0 and Patch 1.1 Only!"


Título: Re: Modificar Juego ¿?
Publicado por: EvilGoblin en 10 Agosto 2010, 21:22 pm
Muchisimas Gracias.. me iluminaste el camino ^^

Con eso ya puedo empezar, y consultar dependiendo de los factores :P


Muchas Gracias!ª