Os Hacks por trás do Cracking, Parte 1: Como contornar o registro de Software
se você já se perguntou como os piratas do software podem pegar o software e quebrá-lo uma e outra vez, mesmo com a segurança no lugar, esta pequena série é para você. Mesmo com os métodos mais avançados de hoje para derrotar a pirataria no lugar, ainda é relativamente fácil de quebrar quase qualquer programa no mundo. Isso se deve principalmente à capacidade dos processos do computador de serem completamente manipulados por um depurador de montagem. Usando isso, você pode ignorar completamente o processo de registro, fazendo com que ele pule o processo de verificação do código-chave do aplicativo sem usar uma chave válida. Isso funciona porque a montagem permite que você fale diretamente com o processador e force um salto sobre o processo de registro.
neste Byte nulo, vamos ver como o cracking poderia funcionar na prática, olhando para um programa de exemplo (um programa que não serve a nenhum outro propósito além de hackear). Eu não vou guiá-lo através de como realmente quebrar um programa legítimo, porque eu não posso simplesmente quebrar um programa para demonstração, mas as técnicas aplicadas aos meus exemplos devem dar-lhe a base necessária para criar o seu próprio. Nesse ponto, é um teste de sua moral se você quiser usar seu conhecimento para o bem ou para o mal.
requisitos
- Windows (apenas para exemplos, existem depuradores em todas as plataformas)
- um depurador instalado: IDA, ollydbg, etc. (ollydbg será usada nos exemplos)
Passo 1 Teste o Programa
Primeiro, execute o programa que está a tentar fazer engenharia reversa e tente ativar-lo com uma chave aleatória para verificar se você precisa de um software válida tecla para continuar. Isso é para verificar se podemos criar as chaves.
Etapa 2 Execute o programa em um depurador
- execute ollydbg.
- abra o programa que deseja ignorar com ollydbg.
- clique no botão Reproduzir para executar o programa com o depurador anexado.
- clique com o botão direito na janela da CPU e clique em Pesquisar por > todas as chamadas intermodulares.
- pesquise DLLs de alto interesse. GETDLGITEMTEXT, será para caixas de diálogo, que são chamadas quando você tenta inserir uma chave de software. Ao entrar na função com o depurador, podemos examinar o registro especificamente. SENDDLGITEM também pode ser usado.
- teste para ver qual funciona para sair do loop de ativação clicando com o botão direito do mouse na chamada DLL e definindo um ponto de interrupção para todas as instâncias dessa chamada.
- retome o programa e insira qualquer chave de software que você quiser. Se o depurador quebrar (pausa a execução do programa) depois de inserir sua chave, você sabe que encontrou DLL na Etapa 5.
- pressione F8 de volta na janela da CPU para forçar a próxima etapa até chegar ao teste EAX. EAX é o retorno de um valor, o que significa que uma verificação está sendo realizada aqui. Após o exame, podemos ver que o EAX está verificando um número que não é igual a um valor nulo. Isso significa que, se for substituído por algo diferente de null, ele será executado.
- clique com o botão direito do mouse no EAX e altere-o no valor hex para 1, em vez de 0.
- retomar o programa novamente, e você terá ativado com sucesso o programa.E para prova foi registrado para mim:
isso funciona porque você está fazendo o processo pular de um registro e pular aquele que verifica a chave inserida. Para explorar o algoritmo de registro de chaves, fique de olho na segunda parte deste tutorial sobre como fazer o gerador de chaves. Hooray para montagem!
- enviar mensagem para os fóruns
- bate-Papo no IRC
- Siga no Twitter
- Círculo no Google+
Imagem via msbyron27
Via Os Hacks Atrás de Quebra, Parte 1: Como Ignorar o Registro de Software no null-byte.wonderhowto.com.
Leia mais posts sobre WonderHowTo “