Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sabeeee en 27 Diciembre 2014, 02:06 am



Título: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: sabeeee en 27 Diciembre 2014, 02:06 am
https://github.com/jte/GTASA

¿Sera cierto? ¿ se puede compilar esto?



Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: engel lex en 27 Diciembre 2014, 02:30 am
san andreas en hecho con un montor de juego llamado renderware... sería como una locura intentar modificar los cpp y por la forma del motor de juego ahí deberían haber binarios :s no se... creo yo...


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: Dezcian en 30 Diciembre 2014, 22:07 pm
Podrá ser un remake o algo así, pero GTA San Andreas original estoy 101% seguro que no...


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: sabeeee en 31 Diciembre 2014, 22:36 pm
Podrá ser un remake o algo así, pero GTA San Andreas original estoy 101% seguro que no...

Original no puede ser, debe ser ingenieria inversa.


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: EFEX en 31 Diciembre 2014, 22:49 pm
No, no lo es, si lo fuese tendria mas forks.

Original no puede ser, debe ser ingenieria inversa.

Exacto.


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: Shout en 1 Enero 2015, 05:39 am
Código
  1. if ( !v7ed2d0(stream, 16, 0, 0) )
  2.    return 0;
  3.    if ( v2 )
  4.    {
  5.    CCollisionPlugin__SetModelInfo(&v12->__parent.__parent);
  6.    CVehicleModelInfo__UseCommonVehicleTexDicationary();
  7.    }
  8.    v11 = RpClumpStreamRead(stream);
  9.    if ( v2 )
  10.    {
  11.    CCollisionPlugin__SetModelInfo(0);
  12.    restoreTextureFindCallback();
  13.    }
  14.    if ( !v11 )
  15.    return 0;
  16.    ((void (__thiscall *)(CVehicleModelInfo *, RpClump *))v12->__parent.__parent.__vmt[1]._m04)(v12, v11);
  17.    if ( v3 == 508 )
  18.    v12->ucDoorCount = 2;
  19.    return 1;
  20.  
Desde cuándo existen los thiscalls en C++? :P

Esto no es más que un dump de Hex-Rays


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: sabeeee en 2 Enero 2015, 02:39 am
Código
  1. if ( !v7ed2d0(stream, 16, 0, 0) )
  2.    return 0;
  3.    if ( v2 )
  4.    {
  5.    CCollisionPlugin__SetModelInfo(&v12->__parent.__parent);
  6.    CVehicleModelInfo__UseCommonVehicleTexDicationary();
  7.    }
  8.    v11 = RpClumpStreamRead(stream);
  9.    if ( v2 )
  10.    {
  11.    CCollisionPlugin__SetModelInfo(0);
  12.    restoreTextureFindCallback();
  13.    }
  14.    if ( !v11 )
  15.    return 0;
  16.    ((void (__thiscall *)(CVehicleModelInfo *, RpClump *))v12->__parent.__parent.__vmt[1]._m04)(v12, v11);
  17.    if ( v3 == 508 )
  18.    v12->ucDoorCount = 2;
  19.    return 1;
  20.  
Desde cuándo existen los thiscalls en C++? :P

Esto no es más que un dump de Hex-Rays

Pero sirve eso?


Título: Re: Codigo de fuente del GTA SA ¿Sera verdad?
Publicado por: Shout en 7 Enero 2015, 18:21 pm
Pero sirve eso?
Sirve mucho, sí.
El tipo hizo ingeniería inversa, pero lo hizo de p**a madre.

Hay un montón de cosas reconstruidas, y si quieres saber cómo funciona GTA SA, te viene muy, muy bien.

Eso sí, NO PUEDES bajarte el código y compilar.

Primero porque faltan un montón de piezas (reitero, el tipo hizo muy buen trabajo, pero aún faltan cosas), y segundo porque esto es código decompilado con Hex-Rays.

El código decompilado no está hecho para volver a ser compilado, sino para que entiendas lo que hace el programa sin tener que leer assembly.