Ir para conteúdo
Faça parte da equipe! (2024) ×

c++ Tutorial "pegar" classes de um jogo. ( Pegar informações )


ImpHades
 Compartilhar

Posts Recomendados

Estou postando nesta área porque o programa gera o código em linguagem c++

 

wJZpR.jpg

1º Programas Utilizados

 

Não vou postar os downloads porque é fácil de achar so procurar

 

Reclass 2011

Assault Cube ( Jogo )

 

wJZpR.jpg

 

2º Passo: Entendimento

 

Oque iremos fazer? Simplesmente pegar as informações do jogo. Vida, Colete etc

 

wJZpR.jpg

 

3º Passo: O Início

 

Iremos pegar as informações do player. Como? Através do ponteiro 50F4F4 que é o ponteiro que armazena todas as informações dos jogadores "PlayerInfo". Como acha-lo? Ollydbg... Não vou explicar porque exige um pouco mais de conhecimento que esta totalmente fora deste tópico.

 

Mas como dizem, para um bom entendedor meia palavra já basta, nesse caso vai ser uma string e uma imagem :v

 

GtxuBOb.png

 

String:

 

É necessário se cadastrar para acessar o conteúdo.

 

wJZpR.jpg

 

4º Começando...

 

Bom, para começarmos, abra o assault cube crie uma partida com bots de preferência uns 8 e em qualquer mapa.

 

Abra o reclass, clique em select e escolha o processo do jogo.

 

5QaO1Y7.png

 

Que no caso é ac_client.exe.

 

Aperte em New e ficara assim.

 

GKeWe2H.png

 

Onde estiver Class N0... clique duas vezes e mude o nome para cPlayerByIndex ( ou qualquer outro que você desejar )

 

Após isso pegue o ponteiro que falei 50F4F4 e onde estiver 400000 clique duas vezes e cole o ponteiro e aperte enter e ficará assim:

 

nZy4WaN.png

 

wJZpR.jpg

 

Antes de continuarmos vou dar uma explicação sobre oque é isso antes que surtem e não consigam entender:

 

É necessário se cadastrar para acessar o conteúdo.

 

wJZpR.jpg

 

Com essa explicação que acabei de dar, vamos explorar a aba modify do reclass e estarei explicando somente oque iremos usar.

 

KN4enK4.png

 

É necessário se cadastrar para acessar o conteúdo.

 

wJZpR.jpg

 

4º Montando a classe

 

Começaremos dando pointer nos dois primeiros offsets:

 

É necessário se cadastrar para acessar o conteúdo.

 

Basta apenas clicar em Pointer na aba modify

 

E façam como fiz nesta imagem mudando os nomes.

 

V6cywIE.png

 

Lembrando que somente consegui dar pointer, porque tinha um ponteiro que é o endereço em vermelho que ja expliquei acima, se você der pointer onde não possui este endereço assim que for ver não tera nenhuma informação porque é esse ponteiro que contem outras informações relacionadas ao ponteiro principal.

 

(Lembrando que podem colocar qualquer nome, coloquei esses porque já costume e fácil de identificar)

 

É necessário se cadastrar para acessar o conteúdo.

 

continuaremos isto depois.

 

wJZpR.jpg

 

Logo abaixo nos offsets:

 

É necessário se cadastrar para acessar o conteúdo.

 

São as informações da sala que você esta, para entender é fácil.

 

Percebam que ela tem valores inteiros.

 

É necessário se cadastrar para acessar o conteúdo.

 

Ou seja, usaremos Int32 por ser valores inteiros.

 

O valor (16) quer dizer que é o tanto de players que podem estar na sala.

 

O valor (10) quer dizer o tanto de players que estão na sala, no meu caso eu criei uma partida 5v5 ou seja 5 players de um time 5 do outro, totalizando 10, se colocasse 12v12 o valor de players na sala seria 24 como na imagem.

 

NG6Jkcu.png

 

E agora nesses 2 offsets você clica neles e clica em Int32 por ser valores inteiros como fiz na imagem.

 

qPDAgic.png

 

Coloquem outro nome como de costume, coloco esses mas lembrando que podem colocar oque quiserem.

 

 

wJZpR.jpg

 

Agora voltem no offset 0004 e cliquem na seta azul, e ficara assim. ( Não iremos usar o offset 0000 porque não tem nada que iremos usar la... mas se você quiser olhar vai em frente ) e novamente mudem o nome de class N0... como na imagem.

 

OkLJRPe.png

 

wJZpR.jpg

 

Agora dei pointer no offset 0004 e coloque o nome de pJogador[32] ( 32 porque é o numero maximo de players)

 

E em seguida nomeie onde tem Class N0... Para JogadoresInfos

 

Da7xae2.png

 

wJZpR.jpg

 

Agora clique em generate na aba home ira gerar a classe.

 

ACAsBet.png

 

Copie e cole em algum lugar para deixar salvo iremos complementa-la agora.

 

wJZpR.jpg

 

Vocês devem ter percebi que na JogadoresInfo não tem nada.

 

É necessário se cadastrar para acessar o conteúdo.

 

Para fazer ela, agora nos precisamos fechar o jogo e fechar o reclass.

 

Abra o jogo novamente, mas desta vez não crie uma sala, fique somente sozinho. Abra o reclass e coloque novamente o ponteiro 50F4F4.

 

OypLVkg.png

 

Perceba que desta vez somente o offset 0000 é que possui ponteiro, de pointer nele.

 

 

wJZpR.jpg

 

Agora os offsets 0004,0008 e 000C são as posições X Y Z do seu personagem. Porque? Perceba, ande com o seu personagem e vai perceber que seus valores irão mudando, assim que você parar de andar eles vão parar de mudar. Clique no offset 0004 e clique em Vec 3 e renomeie por Pos ( ou qualquer outro )

 

9cUNjZS.png

 

wJZpR.jpg

 

Agora, veja o offset 0018 deixe o reclass aberto e vai no jogo de forma que consiga ver o reclass e o offset 0018 e de um pulo, o valor float offset 18 ira mudar e assim que você cair no chão, ele voltara a 0.000. Então esse é o offset do pulo, clique nele e clique em Float la em cima. E porque valor float? Porque quando a ação é realizada ele que muda.

 

iFwlOmD.png

 

wJZpR.jpg

 

Agora vá ate o offset 0040 e 0044 e comece a mover a câmera. Ira perceber que os valores floats irão mudar. Esse é o valor de Yaw e Pitch. Google tradutor esta ai :v

 

Clique em float e mude o primeiro par Yaw e o segundo para pitch. Lembrando novamente que quando a ação é realizada é o valor float que muda, ou seja usaremos float.

 

Ftzt1IM.png

 

wJZpR.jpg

 

Agora desça ate os offsets 00F8 e 00FC. ( Lembrando, para mostrar mais offsets so clicar em add 1024 )

 

Y1EiKjj.png

 

Irão ver 2 valores Int

 

É necessário se cadastrar para acessar o conteúdo.

 

Agora andem pelo mapa, e peguem algum item que te de escudo ( Capacete, colete) e vejam oque acontecem, se você pegou um capacete o valor é 25, no meu caso eu peguei um colete, que da mais 50 de armadura. Vejam só oque aconteceu.

 

tlkHzIW.png

 

Ou seja, o offset 00FC é o offset que armazena as informações da sua armadura.

 

Agora pegue uma granada e tire um pouco de sua vida levando dano.

 

NXqTKuh.png

 

Eu levei 10 de dano, ou seja, o offset 00F8 é o offset que armazena as informações de seu HP.

 

Nesses dois valores oque muda é o valor inteiro, então usaremos Int32

 

Od8fNyi.png

 

Obs: Sempre que for procurar coisas parecidas, tipo, a vida e armadura, Velocidade do Tiro, Recuo da arma etc... sempre que for coisas parecidas ou proximas, sempre estarão proximo uma da outra, assim fica mais fácil de achar.

 

wJZpR.jpg

 

Agora, desça ate o offset 0104 que no caso vai estar logo abaixo.

 

Observem o valor inteiro (3).

 

Agora, no jogo aperte B e troque de arma.

 

Perceba que o valor mudou conforme você mudou de arma.

 

Antes:

 

gylH9Ez.png

 

Depois:

 

1muNeo2.png

 

Ou seja, o valor que mudou é o ID da arma, então achamos mais algo xD ( lembrando que para descobrir as coisas é somente ir testando, alterando algo no game)

 

Lembrando, como é o valor inteiro que muda usamos Int32

 

y19sjj4.png

 

Se você alterar o valor no reclass também muda no jogo, tente mudar o valor da sua vida no próprio reclass, ira ver que em jogo também ira mudar.

 

wJZpR.jpg

 

Agora, vai ingame e coloque um nome de player, no meu caso, pra testes eu coloquei "Seunome" e desçam ate o offset 0224.

 

fDDDvnR.png

 

Viram que oque e digitei em jogo apareceu? Isso quer dizer que esse offset armazena o seu nome. Ai vai vir na sua cabeça "No offset 0228 continua seu nome la" exato, do offset 0224 abaixo são os offsets que armazenam o seu nome, são offsets pra isso. Agora clique no offset 0224 e clique em Text.Text porque é texto um offset que armazena apenas texto.

 

1j6HA3M.png

 

Ai você vai pensar, "mas o resto do meu nome continua la embaixo".

 

Observem bem, Nome[4].

 

Agora é hora de aplicar suas aulinhas de matrizes.

 

Matriz: [ ]

 

É onde ficam armazenados caracteres, no nosso caso é [4], ou seja, armazena ate 4 caracteres, agora mude esse 4 por 30 e veja a magica.

 

b0bFcLH.png

 

Algumas linhas abaixo sumiram não é? E percebeu também que alguns pontos daquelas linhas foram parar em uma linha somente. Resumindo, quando mudou para [30] quer dizer que agora ela armazena ate 30 caracteres, ou seja 30 bolinhas azuis, cada bolinha azul é um caractere.

 

wJZpR.jpg

 

Agora pra finalizar, desça ate o offset 032C, ira ver que tem o valor inteiro (1).

 

APmu2Ag.png

 

Isso é porque você esta sozinho, isso representa o ID do time que você esta, como você esta sozinho não possui time, o valor é 1, mas se você tivesse contra bots, se tivesse em um time o valor seria (0) e se estivesse no time adversario o valor seria (1). ( Isso sabe-se testando, só fazer isso caso queira comprovar ). Então este offset é o offset que armazena as informação do time que você esta. Como é valor inteiro, somente dar Int32.

 

3eK6gtI.png

 

E finalizamos, caso queria tentar procurar mais alguma coisa, sinta-se livre e fuse, fuçando que se aprende :v.

 

Ah, e não esquecem de nomear.

 

Ux8Fml8.png

 

É obrigado a colocar o mesmo nome que colocou naquela que falamos que iamos completar que seria ah, JogadoresInfos.

 

Codigo final:

 

É necessário se cadastrar para acessar o conteúdo.

 

wJZpR.jpg

 

5º Como Utilizar? E oque da pra fazer?

 

Da para se fazer varias coisas, como aimbot, telekill. Mas isso não vou ensinar porque o código é grande e não tem nada haver com o tópico.

 

Só vou dar um exemplo:

 

É necessário se cadastrar para acessar o conteúdo.

 

wJZpR.jpg

 

Bom é isto, esperam que tenham gostado e entendido xD

 

wJZpR.jpg

 

Créditos Finais:

 

ImpHades(_Debug_)

DrUnKeN ChEeTaH(Reclass)

Luis3232 or HackerFail(Por me Ensinar quando não sabia)

 

 

 

76561198077787432.png

Link para o comentário
Compartilhar em outros sites

Parabéns pelos tópicos que vem criando. Essa ideia de pegar as classes é bem importante pra quem quer trabalhar com cheats ou modificações também.

Valeu!

Membro - Bronze - Geek - Bronze - Tech - Mod - Coord - Co-Admin - Platinum

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.