Meu nome é Josh Phillips e quero apresentá-lo a um convidado especial que não está na programação, o nome dele é Mike Donnelly. Mais tarde, darei a ele a oportunidade de me apresentar. Normalmente sou o último orador da conferência, por isso espero que nosso discurso não tenha o papel de canção de ninar para você. Se alguém vai falar depois de nós, não o invejo, mas não posso fazer nada a respeito. Bem, então, vamos começar.

Ouvi dizer que todos os palestrantes de hoje tiveram azar porque tiveram problemas com a apresentação de slides, mas espero que tudo dê certo para nós. Portanto, na vida real, pesquiso malware em um Kaspersky Lab. Também trabalhei como analista de malware na Microsoft e, contrariamente à crença popular ou ao que pode ser encontrado na Wikipedia, o nome do vírus Conficker não é o equivalente alemão ou dinamarquês da palavra em inglês “assfucker”, é apenas uma brincadeira com a minha palavra. Portanto, inventar um nome para esse worm de computador pode ser considerado a maior conquista da minha vida. Eu sou um “fazendeiro de ouro” e, como hobby, escrevi vários bots para jogos de computador, tentando adivinhar quais. Agora vou passar a palavra a Mike para falar de si mesmo.
Mike Donnelly: Eu sou Mike Donnelly, conhecido pelo apelido Mercury, que criou o bot da Internet Glider para World of Warcraft. O estabelecimento da propriedade desse bot, das quais 100.000 cópias foram vendidas por terceiros por US $ 4 milhões, foi tratado pelo tribunal. Consegui apelar da decisão do tribunal de primeira instância, e o tribunal de apelação decidiu me compensar, como o verdadeiro proprietário, pela perda de US $ 6,5 milhões, mas, em qualquer caso, o caso do tribunal não me deu muito prazer.

Podemos dizer que não tenho hobbies, porque estou envolvido em litígios. O positivo foi que um dos usuários do Glider, depois de descobrir onde eu moro, me ofereceu cerveja, entregando-a diretamente em minha casa e postando uma mensagem no fórum do Glider: “Ei Mercury, olhe pela porta - existe um para você 6 latas de cerveja! Foi muito bom, realmente estava lá, fui para casa pela garagem e, portanto, não percebi imediatamente a embalagem de latas de cerveja em frente à porta da frente. Era apenas a Budweiser, mas cerveja grátis é cerveja grátis, então, se eles tentarem me aquecer por seis milhões e meio de dólares, então pelo menos eu tenho várias latas de cerveja de graça.
Josh Phillips: Vi várias mulheres no salão, por isso aconselho a prestar atenção em Mike - ele ainda é solteiro e também rico. A propósito, sou casado, mas não tenho tanta sorte. Portanto, o objetivo da nossa conversa não é tornar alguém um especialista em hackear jogos online; portanto, se você veio aqui para fazer isso, ficará desapontado. Supomos que você tenha pelo menos um pouco de conhecimento dos aspectos técnicos deste problema, mas, se não estiver, ainda esperamos que você saiba algo sobre hackear o MMORG. Observo que não somos especialistas na organização de “zero dias” neste segmento da Internet; portanto, se você quiser saber disso, também ficará desapontado. Mas realmente sentimos que não devemos ter 0 dias, porque é fácil o suficiente para destruir qualquer jogo online que já tenha sido lançado.
Os objetivos da nossa apresentação:
- cobrir brevemente a história dos jogos online e o uso de dinheiro real neles;
- explique por que os hackeamos;
- fale em detalhes sobre o processo de hackers;
- fale em detalhes sobre como escrever bots de jogos.
A citação de Sun Tzu está neste slide: "Quem sabe quando pode lutar e quando não pode, será o vencedor", e acho que Mike tem alguma experiência com isso. Ele escolheu a luta, ele é o único dos meus amigos que escolheu esse caminho, acho que você pode perguntar como ele luta com sucesso.
Mike Donnelly: Poderia ser melhor!
Josh Phillips: sim, poderia ser melhor!
Mike Donnelly: poderia ter sido pior.
Josh Phillips: sim, poderia ser. Você vê um slide com breves conclusões legais que Mike chegou com base em sua própria experiência, sobre a qual ele vai contar. Nós não somos advogados, mas:
- tudo o que você sabe é irrelevante;
- suas idéias legais inteligentes não incomodam ninguém, mesmo que estejam completamente corretas,
se você participar de um processo judicial, eles o terão em qualquer caso; - Evite procedimentos legais: fuja, esconda-se em alto mar, desapareça deste planeta, etc;
- A nevasca ainda aparecerá na sua porta.
Mike Donnelly: em primeiro lugar, direi que não sou advogado e não posso dar conselhos no campo do direito, mas como pessoa comum, posso lhe dizer que se você entrou em contato com advogados, considere que foi estuprado. De qualquer forma, se for a tribunal, terminará mal para você. Muitas pessoas, como eu, acreditam que, se você tiver todas as cópias do software original em suas mãos, códigos de compatibilidade etc., ninguém irá vencê-lo. No entanto, o processo de provar seus direitos é muito doloroso e incrivelmente caro, e mesmo se você tiver argumentos "de ferro" a seu favor, a chance de provar seu caso é muito pequena.

Portanto, você precisa entender que o litígio é, de qualquer forma, uma má ideia e deve tomar todas as medidas para evitá-lo. Se você precisar vender algo de Nevis, Netuno ou 7ª Dimencion, tente ficar longe deles, para não ser julgado, porque se as empresas de jogos considerarem que você, como desenvolvedor, está tentando enganá-las, elas aparecerão imediatamente à sua porta.
Josh Phillips: A China é um bom lugar para se perder. Meu aviso é o seguinte: somos astutos, por isso decidi revelar meus segredos ao público não é a melhor escolha. Portanto, alguns nomes e lugares reais foram alterados para proteger os inocentes, neste caso, nós mesmos.
Então, por que estamos hackeando jogos? Na maioria dos casos, para atrair a atenção das mulheres, eu já mencionei que Mike é solteiro. Na verdade, isso é feito para ganhar dinheiro - Mike fez US $ 4 milhões na venda do bot e meu primeiro concorrente ganhou meio milhão por mês, isso é dinheiro sério. Às vezes, as pessoas se vingam de alguém ou trapaceiam trapaceando dessa maneira. Levante as mãos, quem gostaria de passar na "escola" Game Hacking 101, eu realmente gostaria que esse assunto fosse ensinado na minha faculdade!

Então, vamos mencionar algumas das ferramentas para hackers, mostradas no slide a seguir:
- IDA
- Ollydbg
- Seu editor / mecanismo de pesquisa de memória favorito
- 010 Editor
- Wireshark
Ferramentas personalizadas que você pode criar, o que é muito útil.
A maioria das pessoas envolvidas na engenharia reversa não pode viver sem elas, por isso é óbvio o que você pode fazer com essas ferramentas - por exemplo, desmontar código, modificar arquivos usando o depurador Ollydbg. Se você não sabe o que é um depurador, este não é o seu lugar. Quando você precisa de uma ferramenta para trabalhar com memória, a maioria das pessoas usa o ArtMoney ou algo semelhante. Se você trabalha com formatos de arquivo, o 010 Editor fornece o modo de deus, porque se alguém tentar fazer isso sem esse editor, ele falhará. Você também precisa de uma ferramenta para capturar pacotes como o Wireshark, se quiser lidar com o conteúdo de um pacote.
De grande importância são as ferramentas criadas por você pessoalmente, porque se você tentar invadir jogos sem seus próprios scripts escritos à mão para DES e outros dispositivos mágicos, então perca seu tempo.
Mike Donnelly: Quero acrescentar: se você criar seu próprio software ou um código de software que planeja usar ou vender, isso poderá se tornar seu negócio no futuro. Você será capaz de clonar diferentes itens do jogo e encontrar erros no jogo simplesmente abordando isso com sabedoria. No entanto, nossa discussão não é apenas sobre como ganhar dinheiro com isso, mas também sobre como aproveitar os jogos de hackers, então não vou me concentrar nos aspectos do lucro.
Josh Phillips: você sabe, não há nada pior do que criar um bot codificado que deixa de funcionar após a atualização do jogo e você precisa começar tudo de novo, então é para isso que suas ferramentas podem ser úteis.
Tentei classificar algumas ferramentas para hackers. Eles podem ser divididos em truques, bots, clientes / servidores de usuários e explorações. Não vou entrar em detalhes, mais tarde discutiremos todas essas coisas em detalhes.

Algumas pessoas escrevem clientes personalizados para jogos, complementos, por exemplo, um dos meus concorrentes da China escreveu esse cliente para o World of Warcraft, o que nos destruiu amplamente. Você sabe que centenas desses clientes podem ser iniciados em um computador e não poderá competir com eles se executar apenas 3 ou 4 clientes no seu computador.
Mike Donnelly: Falando em clientes personalizados. Levante suas mãos aqueles que jogaram Hellgate: London? Ok, quantas pessoas continuaram jogando seis meses após o lançamento? Uma pessoa?
Josh Phillips: Sinto muito por essas pessoas ...
Mike Donnelly: a razão pela qual eu mencionei isso é porque eu conheço um cara da Alemanha que trabalha com World of Warcraft e, quando a versão beta de Hellgate: London saiu, ele ficou tão satisfeito que escreveu um chefe sem cliente para ela . Ele fez a engenharia reversa de todo o protocolo, todos esses apertos de mão, criptografia e similares, e estava pronto para iniciar o jogo, mas acabou que ele desperdiçou milhares de horas (nota: todos os servidores de jogos foram fechados menos de um ano após o lançamento deste jogo )
Josh Phillips: Este será o próximo Uau!
Mike Donnelly: sim, este será o nosso próximo uau! Portanto, se você estiver fazendo algo para seu próprio benefício, trate-o como um negócio.
Josh Phillips: caso contrário, você está apenas perdendo seu tempo. Portanto, se falarmos sobre explorações, elas podem ser maliciosas e capazes de trazer benefícios tangíveis para você, por exemplo, a clonagem de objetos Dupes ou o modo deus no modo deus. Usando explorações, você também pode realizar roubo no jogo ou usar um ataque de negação de serviço no servidor.
O hacking ativo de jogos inclui hackers e busca de soluções alternativas, o que você pode fazer com a engenharia reversa e o desenvolvimento matemático. Encontrar caminhos é uma tarefa muito difícil, portanto, se você quiser fazer isso, precisará da biblioteca de Navegação de reformulação para procurar caminhos no espaço de jogo em 3D, o que ajudará a resolver os problemas mais sérios.
Faremos algo como peneirar noobs, por isso espero que os que estão aqui possam acompanhar nossos pensamentos. Para quebrar jogos, você deve ter as seguintes habilidades.

Você precisa aprender a linguagem assembly, por exemplo, sintaxe Intell, C / C ++, aprender a trabalhar com o conjunto de recursos da API Win32 e, possivelmente, aprender a escrever drivers. Aprender a escrever coisas como a leitura de pixels de Lane, sobre a qual alguém falou aqui há alguns anos, será muito útil. Portanto, noobs não pertencem aqui.
Alguém conhece o cara retratado neste slide? O nome dele é Rich Thurman, acho que ele foi um dos primeiros a aparecer perante o público como um "fazendeiro de ouro". Esta foto foi publicada em um artigo do Instituto de Engenheiros Elétricos e Eletrônicos do IEEE por volta de 2000-2001, quando ele ganhou mais de US $ 100.000 em jogos online. Essa é a quantia que ele reconheceu, mas acho que, na verdade, Rich ganhou muito mais simplesmente invadindo o Altum Online no Minecraft. Basicamente, ele "brincou" com a edição de memória, encontrou estruturas de dados importantes e lucrou com isso.
A busca pela memória é uma arte mágica, é disso que você realmente precisa. Se você não conseguir operar sua memória para encontrar lugares que armazenam itens como pontos de jogo, habilidades, habilidades e afins, será muito difícil realizar uma análise estática do jogo para obter lucro.

Já mencionei vários jogos online e tenho certeza de que a maioria deles está familiarizada com um jogo como o World of Warcraft. Este jogo foi um dos primeiros a usar um mecanismo de script modificado, mas a maioria dos jogos que o utiliza cometem erros. Os criadores do WoW usaram a linguagem de script Lua para desenvolver jogos, cujo efeito colateral é incorporar uma string com o nome da função no arquivo binário. Isso facilita muito a engenharia reversa; portanto, se você estiver interessado, por exemplo, em como aplicar um feitiço em particular durante uma batalha, basta procurar a linha com a palavra "feitiço", encontrar o código correspondente e usá-lo no processo do jogo para seus próprios fins.
Mike Donnelly: Quero acrescentar que o uso de Lua torna o processo de engenharia reversa em jogos incrivelmente simples. Você pode escrever um script Lua que fará o que quiser e testá-lo no modo de teste. Se você conhece o ID da magia, pode pausar o jogo, inserir esse código e usar a mágica desejada durante o jogo.
Josh Phillips: sim, os mecanismos de script tornam a engenharia reversa uma tarefa extremamente fácil, eles realmente não têm problemas técnicos. Agora irei revisar brevemente a história de vários jogos. Acho que Ultima Online foi provavelmente o primeiro MMO importante a reunir até 225.000 jogadores online, mas essas são pequenas coisas em comparação com World of Warcraft ou jogos online no Facebook, que têm até 30 milhões de usuários. Algum de vocês joga Farmville? Não? Eu não acredito em você de qualquer maneira.
Todos vocês sabem que nesses jogos as pessoas trapaceiam, criam objetos, atravessam paredes e assim por diante.
O jogo mais popular foi o WoW, ele chegou ao Guinness Book of Records como o jogo on-line mais popular, com 10 milhões de usuários, talvez o maior número de usuários colecione apenas jogos chineses. Observo que as empresas de desenvolvimento às vezes se abstêm de vender seus jogos ou passes sazonais em alguns países.

Mike Donnelly: sim, a Blizzard às vezes se recusa a enviar CDs, eles simplesmente vêm e batem à sua porta. Eles trabalham com advogados que oferecem a você a assinatura de um rascunho no tribunal ou cortam seu dedo. É assim que eles funcionam. O WoW é um grande jogo, há tanto dinheiro que, mesmo que você capture 1% do mercado, justifica todos os riscos. Mas se você vai correr riscos, o jogo deve ser bem grande.
Josh Phillips: Quero acrescentar que às vezes a Blizzard está à sua porta, e se você não tem um irmão na máfia polonesa que os perseguirá com um taco de beisebol, você corre o risco de acabar como Mike.
Mike Donnelly: É mesmo.
Josh Phillips: sim, acontece. Observo que, mesmo que seu jogo seja realmente pequeno, você ainda pode ganhar algumas "peças" por mês, o que é um dinheiro bastante sólido para muitas pessoas, especialmente na Europa Oriental ou na América do Sul. Alguns milhares de dólares por mês - e você vive como um rei.
O Eve Online, escrito em Python, foi o primeiro jogo a usar um mecanismo de script baseado em commodities, e o Darkfall tinha meio milhão de linhas em Java. Uma característica interessante e um grande erro foi que, no Age of Conan, os desenvolvedores deixaram linhas de depuração detalhadas, então escrevi um script para ele que procurava IDAs como nomes de classe, e esse script renomeou as funções dentro do meu IDB de acordo com essas linhas de depuração .
No jogo Aion, os desenvolvedores tentaram impedir hackers, empacotando o jogo com Themida e usando o Game Guard, mas se você não usar as funções adicionais dessa proteção, é muito fácil contornar. Você pode reverter o patch e invadir o Game Guard antes que eles tentem consertar o jogo. Este slide mostra uma lista de jogos MMORG, que começaram a usar o truque Speedhack rapidamente após o lançamento: Age of Conan, WoW, UO, EQ, Vangard.

A Microsoft gastou US $ 50 milhões nessa pilha de porcaria, e acho que eles cancelaram o lançamento de mais três MMOs precisamente porque estavam com medo de serem invadidos também. Em princípio, o truque do Speedhack pode ser usado para qualquer jogo online, se você souber como executá-lo, para que todos os interessados em invadir o World of Warcraft possam entrar em contato comigo sobre isso após a nossa apresentação, estarei na sala de perguntas e respostas. Jogos online em 2D como UO ou Ultima Online resolveram esse problema, mas jogos em 3D que usam intensamente o poder do processador para rastrear os movimentos de 20 a 30 mil usuários ainda não trabalharam para eliminar vulnerabilidades.
Mike Donnelly: eles apenas confiam nos clientes, sem saber o quão inteligentes eles podem ser.
Josh Phillips: é isso, por isso, se alguém presente aqui confia nos clientes de jogos on-line, pode sair com segurança desta sala. Portanto, enganos, ou clonagem de itens de jogo, é semelhante ao que o Federal Reserve faz quando seus representantes vão ao tesouro e dizem: "ei, você não pode nos imprimir um milhão de bilhões de dólares e prometemos que faremos com que o povo americano devolva isso" dever ". Isso é realmente o que pode torná-lo rico. Eu tenho um amigo que hackeia jogos dessa maneira e ganha cerca de um milhão de dólares por mês. Ele tem 2 carros Lamborgini - turbo duplo Diablo e Murielago, e agora ele vai comprar um Gallardo verde limão, então eu tenho um pouco de vergonha dele.
: . , dupes , , - , - . , WoW , .
, , . , , , , , , . , , , , - .
: , - , , Adobe, 3 , , SLR . , ID , . .
, , , - . .

, , , , , .
: !
: , . . , , , . , , WoW, 7 , . , , Speedhack, . Speedhack , , , . , « , ».
: ! , , World of Warcraft, -. Ethernet, «» . , TCP- , , . , . , , , «», , . , , , «» , .
, , TCP-. , , .
: , ! , !
: , , . , WoW 5 , , , . , .
: , , . «» — - , , , dupes , , . , «». , , , - « » .
, , -, , . , , .
25:40
Conferência DEFCON 19. Corte o MMORPG por diversão e lucro. Parte 2Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10 GB DDR4 240 GB SSD de 1 Gbps até a primavera, gratuitamente, ao pagar por meio ano, você pode fazer o pedido
aqui .
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?