Conferencia DEFCON 19. Hackea MMORPG por diversión y ganancias. Parte 1

Mi nombre es Josh Phillips y quiero presentarte a un invitado especial que no está en la alineación, su nombre es Mike Donnelly. Más tarde le daré la oportunidad de presentarme. Por lo general, soy el último orador en la conferencia, así que espero que nuestro discurso no juegue el papel de una canción de cuna para usted. Si alguien más va a hablar después de nosotros, no lo envidio, pero no puedo hacer nada al respecto. Pues bien, comencemos.



Escuché que todos los oradores de hoy no tuvieron suerte porque tuvieron problemas con la presentación de diapositivas, pero espero que todo salga bien para nosotros. Entonces, en la vida real, investigo malware en un Kaspersky Lab. También trabajé como analista de malware en Microsoft, y contrario a la creencia popular o lo que se puede encontrar en Wikipedia, el nombre del virus Conficker no es el equivalente alemán o danés de la palabra inglesa "assfucker", es solo un juego de palabras. Entonces, inventar un nombre para este gusano informático puede considerarse el mayor logro de mi vida. Soy un "granjero de oro" y como hobby escribí varios bots para juegos de computadora, trata de adivinar cuáles. Ahora le daré la palabra a Mike para hablar sobre sí mismo.

Mike Donnelly: Soy Mike Donnelly, conocido por el sobrenombre de Mercury, quien creó el robot de Internet Glider para World of Warcraft. El tribunal tramitó el establecimiento de la propiedad de este bot, 100,000 copias de las cuales fueron vendidas por un tercero por $ 4 millones. Logré apelar la decisión del tribunal de primera instancia, y el tribunal de apelaciones decidió compensarme, como el verdadero propietario, por la pérdida de $ 6.5 millones, pero en cualquier caso, el caso judicial no me dio mucho placer.



Podemos decir que no tengo ningún pasatiempo, porque en cambio estoy involucrado en un litigio. Lo positivo fue que uno de los usuarios de Glider, al descubrir dónde vivo, me regaló cerveza, me la entregó directamente a mi casa y publicó un mensaje en el foro de Glider: "Hola, Mercury, mira por la puerta, hay una para ti. ¡6 latas de cerveza! Fue bastante agradable, realmente estaba allí, fui a casa a través del garaje y, por lo tanto, no noté de inmediato el empaque de latas de cerveza frente a la puerta principal. Era solo Budweiser, pero la cerveza gratis es cerveza gratis, así que si intentan "calentarme" por seis millones y medio de dólares, entonces al menos tengo unas latas de cerveza gratis.

Josh Phillips: Vi a varias mujeres en el pasillo, por lo que le aconsejo que preste atención a Mike, que todavía es soltero y también rico. Por cierto, estoy casado, pero no tengo tanta suerte. Por lo tanto, el propósito de nuestra conversación no es hacer que alguien sea un experto en piratear juegos en línea, por lo que si vienes aquí por esto, te decepcionará. Suponemos que está al menos un poco versado en los aspectos técnicos de este problema, pero si no es así, todavía esperamos que sepa algo sobre piratear MMORG. Observo que no somos especialistas en organizar "cero días" en este segmento de Internet, por lo que si desea saber de nosotros, también se sentirá decepcionado. Pero realmente sentimos que no deberíamos tener 0 días, porque es bastante fácil destruir cualquier juego en línea que alguna vez se haya lanzado.

Los objetivos de nuestra presentación:

  • cubra brevemente la historia de los juegos en línea y el uso de dinero real en ellos;
  • explica por qué los pirateamos;
  • hablar en detalle sobre el proceso de piratería;
  • habla en detalle sobre escribir bots de juegos.

La cita de Sun Tzu está en esta diapositiva: "Cualquiera que sepa cuándo puede luchar y cuándo no, será el ganador", y creo que Mike tiene algo de experiencia con esto. Él eligió la pelea, él es el único de mis amigos que eligió este camino, creo que puedes preguntarle qué tan exitosamente pelea.

Mike Donnelly: ¡Podría ser mejor!

Josh Phillips: sí, ¡podría ser mejor!

Mike Donnelly: podría haber sido peor.

Josh Phillips: sí, podría ser. Usted ve una diapositiva con breves conclusiones legales a las que Mike llegó en base a su propia experiencia, sobre lo que va a contar. No somos abogados, pero:

  • todo lo que sabes es irrelevante;
  • sus ideas legales inteligentes no molestan a nadie, incluso si son completamente correctas,
    si participa en un proceso judicial, lo tendrán en cualquier caso;
  • Evitar procedimientos legales: huir, esconderse en alta mar, desaparecer de este planeta, etc.
  • Blizzard seguirá apareciendo afuera de tu puerta.

Mike Donnelly: en primer lugar, diré que no soy abogado y que no puedo dar consejos en el campo de la ley, pero como persona común, puedo decirle que si se contactó con abogados, considere que fue violada. Si se trata de la corte, terminará mal para usted de todos modos. Muchas personas, como yo, creen que si tienes todas las copias del software original en tus manos, códigos de compatibilidad, etc., nadie te ganará. Sin embargo, el proceso de probar sus derechos es muy doloroso e increíblemente costoso, e incluso si tiene argumentos "férreos" a su favor, la posibilidad de probar su caso es muy pequeña.



Por lo tanto, debe comprender que el litigio es, en cualquier caso, una mala idea, y debe tomar todas las medidas para evitarlo. Si necesita vender algo de Nevis, Neptune o 7th Dimencion, trate de mantenerse alejado de ellos, para no ser juzgado, porque si las compañías de juegos consideran que usted, como desarrollador, está tratando de "engañarlos", aparecerán inmediatamente en tu puerta

Josh Phillips: China es un buen lugar para perderse. Mi descargo de responsabilidad es este: somos astutos, por lo que decidí revelar mis secretos al público no es la mejor opción. Por lo tanto, algunos nombres y lugares reales se han cambiado para proteger a los inocentes, en este caso, a nosotros mismos.

Entonces, ¿por qué estamos pirateando juegos? En la mayoría de los casos, para atraer la atención femenina, ya mencioné que Mike es soltero. En verdad, esto se hace para ganar dinero: Mike ganó $ 4 millones en la venta del bot, y mi primer competidor ganó medio millón cada mes, esto es dinero serio. A veces las personas se vengan de alguien o hacen trampa haciendo trampa de esta manera. Levanta la mano, a quien le gustaría pasar el Juego de Hack 101 "escolar", ¡realmente me gustaría que esta asignatura se enseñe en mi universidad!



Entonces, vamos a mencionar algunas de las herramientas para hackear juegos, que se muestran en la siguiente diapositiva:

  • IDA
  • Ollydbg
  • Su editor de memoria / motor de búsqueda favorito
  • 010 Editor
  • Wireshark

Herramientas personalizadas que puede crear usted mismo, lo cual es muy útil.
La mayoría de las personas involucradas en ingeniería inversa no pueden vivir sin ellas, por lo que es bastante obvio lo que puede hacer con estas herramientas, por ejemplo, desmontar código, modificar archivos con el depurador Ollydbg. Si no sabe qué es un depurador, este no es su lugar. Cuando necesita una herramienta para trabajar con memoria, la mayoría de las personas usan ArtMoney o algo similar. Si trabaja con formatos de archivo, 010 Editor le proporciona el modo divino, porque si alguien intenta hacer esto sin este editor, fallará. También necesita una herramienta para capturar paquetes como Wireshark si desea lidiar con el contenido de un paquete.

Son de gran importancia las herramientas creadas por usted personalmente, porque si intenta piratear juegos sin sus propios guiones escritos a mano para DES y otros artilugios mágicos, entonces solo pierde su tiempo.

Mike Donnelly: Quiero agregar: si crea su propio software o una pieza de código de software que planea usar o vender, esto puede convertirse en su negocio en el futuro. Podrás clonar diferentes elementos del juego y encontrar errores de juego simplemente acercándote a esto sabiamente. Sin embargo, nuestra discusión no es solo sobre cómo ganar dinero con esto, sino también sobre cómo disfrutar de los juegos de piratería, por lo que no me voy a centrar en los aspectos de las ganancias.

Josh Phillips: ya sabes, no hay nada peor que crear un robot codificado que deje de funcionar después de actualizar el juego y tengas que comenzar de nuevo, así que esto es para lo que tus herramientas pueden ser útiles.

Traté de clasificar algunas pequeñas herramientas para hackear juegos. Se pueden dividir en trucos, bots, clientes / servidores de usuarios y exploits. No voy a entrar en detalles; más adelante discutiremos todas estas cosas en detalle.



Algunas personas escriben clientes personalizados para juegos, complementos, por ejemplo, uno de mis competidores de China escribió un cliente para World of Warcraft, que nos destruyó en gran medida. Usted sabe que cientos de dichos clientes se pueden iniciar en una computadora, y no puede competir con ellos si solo ejecuta 3 o 4 clientes en su computadora.

Mike Donnelly: Hablando de clientes personalizados. Levanta las manos los que jugaron Hellgate: London? De acuerdo, ¿cuántas personas continuaron jugando seis meses después del lanzamiento? Una persona?

Josh Phillips: lo siento por estas personas ...

Mike Donnelly: la razón por la que menciono esto es porque conozco a un chico de Alemania que trabaja con World of Warcraft, y cuando salió la versión beta de Hellgate: London, estaba tan encantado que le escribió un jefe sin cliente para ella. . Hizo la ingeniería inversa de todo el protocolo, todos estos apretones de manos, cifrado y similares, y estaba listo para lanzar el juego, pero resultó que solo perdió miles de horas (nota: todos los servidores del juego se cerraron menos de un año después del lanzamiento de este juego). )

Josh Phillips: ¡Esta será la próxima sorpresa!

Mike Donnelly: sí, ¡este será nuestro próximo wow! Entonces, si está haciendo algo para su propio beneficio, trátelo como un negocio.

Josh Phillips: de lo contrario solo perderías tu tiempo. Entonces, si hablamos de exploits, pueden ser maliciosos y capaces de brindarle beneficios tangibles, por ejemplo, clonar objetos de Dupes o el modo dios en modo dios. Usando exploits, también puedes llevar a cabo robos en el juego o usar un ataque DoS en el servidor.

La piratería activa de juegos incluye la piratería de tarjetas y la búsqueda de soluciones, lo que puede hacer con ingeniería inversa y desarrollo matemático. Encontrar rutas es una tarea muy difícil, por lo que si va a hacer esto, necesitará la biblioteca Recast Navigation para buscar rutas en el espacio del juego 3D, que lo ayudará a resolver los problemas más serios.

Haremos algo como tamizar noobs, así que espero que los que están aquí puedan seguir nuestros pensamientos. Para descifrar juegos, debes tener las siguientes habilidades.



Debe aprender el lenguaje ensamblador, por ejemplo, la sintaxis de Intell, C / C ++, aprender a trabajar con un conjunto de funciones de API Win32 y, tal vez, aprender a escribir controladores. Aprender a escribir cosas como la lectura de píxeles de Lane, de la que alguien habló aquí hace un par de años, será muy útil. Por lo tanto, los novatos no pertenecen aquí.

¿Alguien conoce al tipo que aparece en esta diapositiva? Su nombre es Rich Thurman, creo que fue uno de los primeros en aparecer ante el público como un "granjero dorado". Esta imagen fue publicada en un artículo del Instituto de Ingenieros Eléctricos y Electrónicos IEEE alrededor de 2000-2001, cuando ganó más de $ 100,000 en juegos en línea. Esta es la cantidad que reconoció, pero creo que, de hecho, Rich ganó mucho más simplemente pirateando Altum Online en Minecraft. Básicamente, "jugó" con la edición de memoria, encontró estructuras de datos clave y se benefició de ello.

La búsqueda de la memoria es un arte mágico, esto es lo que realmente necesitas. Si no puede operar su memoria para encontrar lugares que almacenan cosas como puntos de juego, habilidades, habilidades y similares, será muy difícil realizar un análisis estático del juego para obtener ganancias.



Ya he mencionado varios juegos en línea y estoy seguro de que la mayoría de ellos están familiarizados con un juego como World of Warcraft. Este juego fue uno de los primeros en usar un motor de script modificado, pero la mayoría de los juegos que lo usan cometen errores. Los creadores de WoW usaron el lenguaje de script Lua para desarrollar juegos, cuyo efecto secundario es incrustar una cadena con el nombre de la función en el archivo binario. Esto facilita enormemente la ingeniería inversa, por lo que si está interesado, por ejemplo, en cómo aplicar un hechizo en particular durante una batalla, simplemente busque la línea con la palabra "hechizo", encuentre el código correspondiente allí y úselo en el proceso del juego para sus propios fines.

Mike Donnelly: Quiero agregar que usar Lua hace que el proceso de ingeniería inversa en los juegos sea increíblemente simple. Puedes escribir un script Lua que haga lo que quieras y probarlo en modo de prueba. Si conoces la identificación del hechizo, puedes pausar el juego, insertar este código y usar el hechizo deseado durante el juego.
Josh Phillips: sí, los motores de secuencias de comandos hacen que la ingeniería inversa sea una tarea extremadamente fácil, realmente no tienen ningún problema técnico. Ahora repasaré brevemente la historia de varios juegos. Creo que Ultima Online fue probablemente el primer MMO importante en reunir hasta 225,000 jugadores en línea, pero estas son cosas realmente pequeñas en comparación con World of Warcraft o los juegos en línea en Facebook, que tienen hasta 30 millones de usuarios. ¿Alguno de ustedes juega Farmville? No? No te creo de todos modos.

Todos ustedes saben que en estos juegos la gente hace trampa, crea objetos, atraviesa paredes, etc.

El juego más popular fue WoW, incluso entró en el Libro Guinness de los Récords como el juego de rol en línea más popular con 10 millones de usuarios, quizás el mayor número de usuarios solo colecciona juegos chinos. Observo que las empresas de desarrollo a veces se abstienen de vender sus juegos o pases de temporada en algunos países.



Mike Donnelly: sí, Blizzard a veces incluso se niega a enviar CD, simplemente vienen y tocan a su puerta. Trabajan a través de abogados que le ofrecen firmar un proyecto de apelación ante el tribunal o cortarle el dedo. Así es como funcionan. WoW es un gran juego, hay tanto dinero que incluso si capturas el 1% del mercado, justifica todos los riesgos. Pero si vas a correr riesgos, el juego debería ser bastante masivo.

Josh Phillips: Quiero agregar que a veces Blizzard está en tu puerta, y si no tienes un hermano en la mafia polaca que los persiga con un bate de béisbol, te arriesgas a terminar como Mike.

Mike Donnelly: Realmente lo es.

Josh Phillips: sí, sucede. Noto que incluso si su juego es realmente pequeño, aún puede ganar un par de "piezas" al mes, lo que es un dinero bastante sólido para muchas personas, especialmente en Europa del Este o América del Sur. Un par de miles de dólares al mes, y vives como un rey.

Eve Online, escrito en Python, fue el primer juego en utilizar un motor de secuencias de comandos basado en productos básicos, y Darkfall tenía medio millón de líneas en Java. Una característica interesante y un gran error fue que en Age of Conan los desarrolladores dejaron líneas de depuración detalladas, así que escribí un script que buscaba IDA como nombres de clase, y este script renombró las funciones dentro de mi IDB de acuerdo con estas líneas de depuración .

En el juego Aion, los desarrolladores trataron de evitar el pirateo empaquetando el juego con Themida y usando Game Guard, pero si no usas las funciones adicionales de esta protección, es bastante fácil de manejar. Puedes retroceder en el parche y hackear Game Guard antes de que intenten arreglar su juego. Esta diapositiva muestra una lista de juegos MMORG, que comenzaron a usar el truco Speedhack bastante rápido después del lanzamiento: Age of Conan, WoW, UO, EQ, Vangard.



Microsoft gastó $ 50 millones en este montón de basura, y creo que cancelaron el lanzamiento de tres MMO más precisamente porque temían que también fueran pirateados. En principio, el truco Speedhack se puede usar en relación con cualquier juego en línea, si sabes cómo ejecutarlo, para que todos los que estén interesados ​​en piratear World of Warcraft puedan contactarme sobre esto después de nuestra presentación, estaré en la sala de preguntas y respuestas Los juegos en línea 2D como UO o Ultima Online han resuelto este problema, pero los juegos en 3D que utilizan intensamente la potencia del procesador para rastrear los movimientos de 20-30 mil usuarios aún no han trabajado para eliminar las vulnerabilidades.

Mike Donnelly: solo confían en los clientes, sin saber cuán inteligentes pueden ser.

Josh Phillips: eso es todo, así que si alguien presente confía en los clientes de los juegos en línea, entonces puede salir de esta sala de manera segura. Entonces, los engaños, o la clonación de artículos del juego, es similar a lo que hace la Reserva Federal cuando sus representantes van al tesoro y dicen: "oye, no puedes imprimirnos un millón de billones de dólares, y prometemos que haremos que el pueblo estadounidense devuelva esto deber ". Esto es realmente lo que puede hacerte rico, tengo un amigo que piratea juegos de esta manera y gana alrededor de un millón de dólares al mes. Él tiene 2 autos Lamborgini: Diablo y Murciélago de doble turbo, y ahora va a comprar un Gallardo verde limón, así que estoy un poco avergonzado de él.

: . , dupes , , - , - . , WoW , .

, , . , , , , , , . , , , , - .

: , - , , Adobe, 3 , , SLR . , ID , . .

, , , - . .



, , , , , .

: !

: , . . , , , . , , WoW, 7 , . , , Speedhack, . Speedhack , , , . , « , ».
: ! , , World of Warcraft, -. Ethernet, «» . , TCP- , , . , . , , , «», , . , , , «» , .

, , TCP-. , , .

: , ! , !
: , , . , WoW 5 , , , . , .

: , , . «» — - , , , dupes , , . , «». , , , - « » .

, , -, , . , , .

25:40

Conferencia DEFCON 19. Hackea MMORPG por diversión y ganancias. Parte 2



Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps hasta la primavera sin cargo al pagar durante medio año, puede ordenar aquí .

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/437788/


All Articles