Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
XPKeygen — Windows XP Keygen | Kitploit
Ferramentas/GitHubGitHub/endermanch/xpkeygen
Engenharia ReversaCriptografiaAnálise de Binários
GitHubendermanch/xpkeygen

XPKeygen

Windows XP Keygen

Ver Repositório
1.1k6815há 2 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

XPKeygen

Um gerador de chaves VLK para Windows XP / Windows Server 2003. Esta ferramenta permite gerar chaves válidas do Windows XP com base na Raw Product Key, que pode ser aleatória. A Raw Product Key (RPK) é fornecida na forma de 9 dígitos XXX-YYYYYY e só é necessária para gerar uma chave do Windows XP.

XP Keygen

Download

Vá até a aba Releases e baixe a versão mais recente de lá.

Planos

Este projeto não está morto — farei o meu melhor para torná-lo realidade.

O problema

De modo geral, a única coisa que nos separa de gerar chaves válidas do Windows XP para TODA EDIÇÃO e TODA COMPILAÇÃO é a falta das respectivas chaves privadas geradas a partir de suas contrapartes públicas dentro de pidgen.dll. Não há código amplamente disponível online para a função de logaritmo discreto de curva elíptica; há apenas informação vaga sobre como fazer isso.

Com o passar do tempo, o problema foi parcialmente resolvido.

O recurso BINK não foi codificado de nenhuma forma e os dados foram simplesmente gravados sequencialmente no recurso. sk00ter também explicou completamente o formato BINK nos fóruns da MDL. Utilizando o conhecimento comunitário anterior sobre o assunto, escrevi um Leitor de BINK em Python 3. O arquivo é público neste repositório; clique aqui para ver o código-fonte.

A solução do logaritmo discreto é a área de pesquisa mais inexplorada em 28 de maio de 2023. No entanto, meu amigo nephacks encontrou aquela ferramenta elusiva para resolver esse difícil problema nos cantos mais obscuros da internet. Chama-se ECDLP (Elliptic Curve Discrete Logarithm Problem) Solver, do Sr. HAANDI. Como foi extremamente frustrante encontrá-lo online, eu o reenviei no meu site. Você pode baixar a ferramenta aqui.

O arquivo ReadMe que acompanha a versão 0.2a do solucionador é suficientemente bom por si só, então qualquer pessoa com um mínimo de inteligência conseguirá configurar essa ferramenta. No entanto, ela não é open-source, então integrá-la ao meu keygen é comprovadamente impossível.

No cenário ideal, o keygen pediria um recurso BINK extraído de pidgen.dll, que então desmembraria nos seguintes segmentos:

  • Chave pública (pubX; pubY)
  • Gerador (genX; genY)
  • Ponto base (a; b)
  • Contagem de pontos p

Sabendo desses segmentos, o keygen descobriria por força bruta a ordem do gerador genOrder usando o algoritmo de Schoof, seguido pela chave privada privateKey, aproveitando o genOrder calculado para usar o algoritmo mais otimizado de Rho de Pollard. Não há dúvida de que podemos quebrar qualquer chave privada em cerca de 20 minutos usando o poder computacional moderno, desde que tenhamos o algoritmo funcional.

Quando o keygen terminar de quebrar por força bruta a chave privada correta, a tarefa se resume a realmente gerar uma chave, o que este keygen faz. Para dar uma melhor perspectiva, posso fornecer o fluxo do keygen ideal. O que está riscado é o que o meu keygen implementa:

  • Extração do recurso BINK
  • Solução por força bruta do logaritmo discreto de curva elíptica (genOrder, privateKey)
  • Mecanismo de processamento da Chave do Produto
  • Geração de chave do Windows XP
  • Validação de chave do Windows XP
  • Geração de chave do Windows Server 2003

Princípio de funcionamento

Precisamos usar uma Raw Product Key aleatória como base para gerar um ID do Produto no formato AAAAA-BBB-CCCCCCS-DDEEE.

ID do Produto

DígitosSignificado
AAAAAConstante da família do SO
BBBID do canal
CCCCCCNúmero de sequência
SDígito verificador
DDÍndice da chave pública
EEENúmero aleatório de 3 dígitos

A constante da família do SO AAAAA é diferente para cada série do Windows XP. Por exemplo, é 76487 para o SP3.

As seções BBB e CCCCCC essencialmente codificam a Raw Product Key. Por exemplo, se a primeira seção for igual a XXX e a segunda seção for igual a YYYYYY, a Raw Product Key será codificada como XXX-YYYYYY.

O dígito verificador S é escolhido de modo que a soma de todos os dígitos C com ele incluso seja um número divisível por 7.

O índice da chave pública DD nos informa qual chave pública foi usada para verificar com sucesso a autenticidade da nossa Chave do Produto. Por exemplo, é 22 para chaves Professional e 23 para chaves VLK.

Um número aleatório EEE é usado para gerar um ID de instalação diferente a cada vez.

Chave do Produto

A própria Chave do Produto (não confundir com a RPK) tem o formato FFFFF-GGGGG-HHHHH-JJJJJ-KKKKK, codificada em Base-24 com o alfabeto BCDFGHJKMPQRTVWXY2346789 para excluir quaisquer caracteres que possam ser facilmente confundidos, como I e 1 ou O e 0.

De acordo com a fórmula de capacidade do alfabeto, a chave pode conter no máximo 114 bits de informação. $$N = \log_2(24^{25}) \approx 114$$

Com base nesse cálculo, desmembramos a Chave do Produto de 114 bits em 4 segmentos ordenados:

SegmentoCapacidadeDados
Upgrade1 bitFlag de versão do Upgrade
Serial30 bitsRaw Product Key (RPK)
Hash28 bitsHash da RPK
Assinatura55 bitsAssinatura de curva elíptica para o hash da RPK

Por uma questão de simplicidade, combinaremos os segmentos Upgrade e Serial em um único segmento chamado Data. Com essa lógica, poderemos extrair a RPK deslocando Data para a direita e empacotá-la novamente deslocando bits para a esquerda, porque a maioria das chaves de produto a priori válidas que verifiquei tinha o bit de Upgrade definido como 1.

A Microsoft reformulou o formato da Chave do Produto com o Windows Server 2003 para incluir uma chave de autenticação de servidor backend, que era uma abordagem realmente segura para validação de licenças, pois ninguém poderia adivinhar qual algoritmo de validação eles haviam empregado em seu servidor privado. Além de adicionar o mecanismo de validação online, eles também aumentaram a aritmética geral de 384 para 512 bits e o escalar da assinatura para 62 bits de informação.

SegmentoCapacidadeDados
Upgrade1 bitFlag de versão do Upgrade
ID do Canal10 bitsA parte BBB da RPK
Hash31 bitsHash da RPK
Assinatura62 bitsAssinatura de curva elíptica para o hash da RPK
Chave de Autenticação10 bitsValor de autenticação backend

No entanto, se gerássemos uma chave sem pensar na ativação online, ainda poderíamos gerar chaves válidas que nos permitiriam passar pela instalação do sistema operacional. E é exatamente isso que o código faz — gera uma chave de autenticação aleatória de 10 bits. Hoje em dia isso não importa em nada, pois os servidores de ativação estão fora do ar e o Server 2003 é considerado abandonware, assim como este projeto inteiro não deveria ser considerado pirataria.

Curvas Elípticas

Baixar ferramenta