Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Delphi] Como criar um Keygen (Lógica com Exemplos)


~OwneR~
 Compartilhar

Posts Recomendados

Olá pessoal, antes de qualquer coisa estou avisando que meu conhecimento de Assembly é bem limitado, portanto eu posso acabar falando alguma besteira, caso alguém perceba algum erro por favor avise =D.

 

ESSE TUTORIAL É PARA VOCÊ TER NOÇÃO DE COMO SE CRIA UM KEYGEN, VOCÊ NÃO VAI CONSEGUIR CRIAR UM KEYGEN PARA QUALQUER PROGRAMA SEGUINDO O TÓPICO!!!

 

POR FAVOR LEIA TUDO, DEU TRABALHO ESCREVER ISSO =(

 

NAS CAIXAS DE CODE OBSERVE OS COMENTÁRIOS NO CANTO DIREITO (APÓS PONTO-E-VÍRGULA)!!!

 

Acho que pode estar na área errada por o tópico ser 80% assembly...

 

E finalmente as regras a la Ryokusei:

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

 

Agora sem enrolação -q

 

Nesse tópico utilizaremos um Keygen-me simples, sem Crypter ou Packer, apenas pra estudar. Nele o objetivo é entender a rotina de verificação e criar um Keygen em cima disso.

A lógica de qualquer Keygen é essa: Entender a rotina ==> Fazer o Keygen em cima dessa rotina. O problema é que você pode se deparar com Crypters e Packers, rotinas gigantescas etc...

 

Nesse tópico vamos usar os seguintes programas:

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

 

Abra o Keygen-me e tente colocar um serial qualquer, exemplo:

000000000000000000000-11111111111111111-222222222222222222222

 

Ok, teremos uma mensagem de erro, ao procurá-la no debugger perceberemos que está numa procedure isolada...

 

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

 

Bom, isso não é um problema! Basta olhar em baixo e veremos de onde ela surge:

 

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

 

Todos esses endereços chamam esta procedure para mostrar o erro =O

Vamos então para a primeira ocorrência: Aperte CTRL+G e coloque 004B5F0D.

 

Alí serão feitas várias comparações, vamos ver:

 

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

 

Ok, sabemos o que comparar mas não com o que...

 

Vamos dar uma olhada mais pra cima, lá teremos isso:

 

O código abaixo basicamente faz: Serial := edtKey1.Text + edtKey2.Text + edtKey3.Text;

Com o nosso exemplo o resultado será: 00000000000000000000011111111111111111222222222222222222222

 

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

 

Aqui divide o serial em duas partes (Início>Meio e Meio>Fim), tipo: SerialP1+MEIO+SerialP2;

Ele é dividido para fazer a verificação em 004B5F09.

Com o nosso exemplo o resultado será: 00000000000000000000011111111 e 11111111222222222222222222222

 

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

 

Certo, até agora temos em mente que a primeira parte do serial deve ser igual a segunda. A casa 14 e 44 deve ser igual a 7, e a 29 (o meio) igual a 2.

O serial de exemplo não irá passar em nenhuma das comparações, então usaremos esse:

000000000000007000000-00000000200000000-000000700000000000000

 

Com esse serial passaremos essa parte.

 

Antes de vermos as próximas comparações vamos dar mais uma olhada lá em cima.

Uma das partes importantes está aqui:

 

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

 

 

Como vocês podem ver temos algumas strings que usaremos agora:

 

 

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

 

Com isso temos SerialP1 = N<A+B=8>NNNNNNN<C+D=12>NN7NNNNN<E+F=10><G+H=7>NNNNN, a lógica do serial é SerialP1+2+SerialP1

N pode ser qualquer número!

 

Vamos tentar: 044000000066007000005-54300000204400000-006600700000554300000

Com esse serial acima teremos uma key válida ^^

 

Agora é a parte fácil, criaremos o Keygen (finalmente LOL).

 

Rotina para gerar keys do Ryokusei:

 

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

 

 

Minha rotina para gerar keys:

 

Coloque 3 Edits e um botão...

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

 

 

PS: Onde eu coloquei "Senão" não é propriamente um ELSE, coloquei apenas pra vocês seguirem o raciocínio ^^

 

Pronto \o/

Em breve eu posto 2 desafios pra vocês (um que eu vou criar e o outro será esse keygen-me modificado)

 

Por favor não façam perguntas idiotas, escrevam com um português decente e com lógica, aí sim eu respondo ok?

Link para o comentário
Compartilhar em outros sites

Sempre postando contéudo útil ~OwneR~

Muito interresante mesmo, mas não entendi muito bem

e tenho uma pergunta, eu nem testei ou fiz o tutorial, somente li e ...

Este é um exemplo para liberar este programa ( Keygenme ) ?

4I1ShmNRGyg2k.webp

Link para o comentário
Compartilhar em outros sites

Que lecal :3

Eu tentei fazer sem olhar o tutorial e deu um certo trabalho na parte das comparações de soma, mas felizmente consegui ^^

 

Minha função pra gerar a key ficou assim:

 

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

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.