Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: loquillo32 en 16 Marzo 2012, 21:31 pm



Título: Pregunta loca, pero y que, ¡soy noob!
Publicado por: loquillo32 en 16 Marzo 2012, 21:31 pm
Hola buenas tardes a todos.

Siempre quise estudiar C++, y es lo que ahora estoy haciendo; me fascinó en su día el saber que a base de C++ hicieron emuladores de juegos online, como World of Warcraft por ejemplo.

Pero no paro de preguntarme qué o como aplicaron ingeriería inversa al cliente original, para hacer lo que actualmente hacen. Sé que hacen Sniff con herramientas específicas de usuarios y desarrolladores de algunos emuladores, eso es todo.

He estado por la FAQ de Ingeniería Inversa, y mencionan algunas herramientas, pero no se, no relacciono. ¿Cómo han logrado hacer tan impresionante trabajo desde cero?

Si me pueden orientar un poco sería bueno, así voy sabiendo dónde me voy a meter.

Un saludo y gracias.


Título: Re: Pregunta loca, pero y que, ¡soy noob!
Publicado por: .:UND3R:. en 17 Marzo 2012, 14:47 pm
No es tan solo ingeniería inversa. Te daré un caso practico de un juego online llamado Mu Online. Este juego online ya posee la forma (desde hace mucho tiempo) de poder emular un servidor. Te explico más menos como lo han logrado.

WEBZEN, compañía creadora y desarrolladora del juego (gráfica, personajes, cliente, sonido, efectos, en si compañía creadora e inventora del juego) desarrollan los llamados Server files (archivos del servidor) estos conjunto de bases de datos reciben e interactúan con los datos enviados por el cliente. Es casi imposible que con solo tener el cliente (instalador que está al alcance de todos) se pueda emular los archivos del servidor. Esto requeriría demasiado tiempo, años para ser exacto por lo que por lo general los desarroladores de webzen tienden a robar el código, seudocódigo o códigos incompletos (esto a que están en sus manos y están en desarrollo). Luego por cuenta propia se reparan alguna que otra cosa posteriormente se traducen a ingles y así por cada usuario que los posee va reparando distintos problemas, no sé si se entiende. La ingeniería inversa se aplica cuando los server files ya compilados o ensamblados (dependiendo del lenguaje de creación del juego) contienen sistemas de seguridad como fingerprint, hardware identification. Lo cual con romper esa seguridad se permite usarlos en cualquier equipo. Saludos


Título: Re: Pregunta loca, pero y que, ¡soy noob!
Publicado por: loquillo32 en 17 Marzo 2012, 16:54 pm
Ahhh, osea, se podría decir entonces que "alguien" ha conseguido parte de código fuente de los archivos del lado del server, o pseudocódigo para luego terminar de completarlo y emular lo que viene siendo el server, ¿es asi?

Muchas gracias por tu explicación .:UND3R:.


Título: Re: Pregunta loca, pero y que, ¡soy noob!
Publicado por: .:UND3R:. en 27 Marzo 2012, 21:45 pm
En palabras sencillas así se crean ya que es imposible crear serverfiles sin poseer la estructura base o el pseudocódigo es decir es posible pero se terminaría convirtiendo en la creación de una copia del juego lo cual te demorarías años (quizás más ya que tendrías que adaptarte al cliente y eso sería una limitación por un lado o quizás una ventaja si lo vemos por el lado que te has ahorrado el cliente)

Saludos