Download Cracking I Tutorial | Clique Aqui |
Cracking
Tutorial - Parte 1
versao
1.0, 21/9/1999
Copyrights reservados
a <TeCh~LoRd> (sagid@netvision.net.il)
da Black Sun Research Facility (blacksun.box.sk)
Traduzido por Lorde_Morpheus
£ø©(Translated by Lorde_Morpheus £ø©)
Adaptado em HTML por Søul ßurn (soul_burn@zipmail.com)
Índice:
0.
Introdução.
1.
Retrtação.
2.
O que é cracking?
3.
Ferramentas.
4.
Os passos do cracking.
5.
Termos básicos em assembly.
6.
Conclusão final.
===========================================================================================
0.
Introdução:
Eu tenho lido muitos
tutoriais de cracking ultimamente.
Francamente falando,
eu sozinho aprendi cracking de tutoriais(e de alguns livros, mas isto realmente
não importa.). A maioria dos tutoriais cracking tem algumas desvantagens:
geralmente são muito longos e contem um monte de lixo, ou são
muito curtos e não contem o básico.
Eu decidi escrever um tutorial que não tenha nenhuma dessas desvantagens.
Assim, eu dividi o tutorial em três partes:
Parte 1: introdução,
ferramentas, e cracking básico.
Parte 2: Treino prático,
usando W32Dasm, e HIEW
Parte 3: Key-generators.
Bem vindo à primeira
parte. ;-)
1.
Aviso:
Eu criei este tutorial
apenas para fins de informação, e somente!
Muitas informações
deste documento podem ser usadas para performances e atividades ilegais!
Não tente fazer
nada do que está neste documento!
Se você tentar
alguma coisa, você será responsável pelo que você
fizer!
Se você se mete
em alguma encrenca o problema é somente seu!
Se você está
intencionado a usar as informações aqui para impressionar
seus amigos, pare agora mesmo e cresça!
Se você não
quiser aceitar isto, não leia mais nada!
Se você crackear
um programa e depois vender ou oferecer de graça estará cometendo
um crime!
2.
O que é Cracking?
Para mim cracking é:
"Letting a program,
which is on your computer behave as you want it
to behave and not behave
as someone else (the programmer) wants"
As INTERN said:
"Hey, it is your stuff
right? your numbers, your bits,
you should be able to
do anything you wish to do with it :)"
Eu atualmente acato a isto.
Assim cracking é
modificar seus programas, e fazer eles trabalharem como você quer.
Você pode pegar
um programa demo de graça, crack ele, e use.
MAS!!!!
Eu repito, se você
crack um programa, e começa a vender a versão crackeada ou
oferece-lo de graça, isto é um crime!
_____________________________________________________________________________
Depois de ler estes tutoriais,(este é o primeiro de uma serie de três), você sentirá o poder que tem em suas mãos (Quero dizer, em sua mente.).
Bem, vamos começar?
3.
Ferramentas
Existem algumas ferramentas
que você precisa agora...
É muito fácil
encontra-las na web, porque são muito populares:
A primeira é "Win32 Disassembler", que é conhecida como W32Dasm.
O Win32 Disassembler
permite você:
1. Disassembler files
- Traduz o programa para a origem assembler, ou código de máquina.
Os arquivos
digitados que podem ser "disassambled" em Win32 Disassembler são:
exe, 386,
com, cpl, drv, dll, fon, mpd, ocx, vbx, vbx e sys.
2. Carregar o processo
de programa e trace o programa.
3. Procurar o arquivo
disassembled e vá para a localização de código
que você queira.
4. Encontrar o texto.
5. Executar, inserir
ou remover jumps e calls.
6. Importar e exportar
funções.
7. mostrar um HEX display
de um código de área.
8. mostrar a lista dos
STRINGS, DIALOGS e REFERENCES.
9. Salvar o Disassembly
source em formato texto.
Bem, você pode pegá-lo em algum crack site, mas eu te darei algumas URLs:
1. http://www.wco.com/~micuan/Zips/wdasm893.zip
--------------------------------------------
2. HTTP://CRACKING.HOME.ML.ORG/
----------------------------
3. http://www.fortunecity.com/bally/waterford/18/w32dsm89.zip
----------------------------------------------------------
4. http://wowsites.com/meiner/w32dsm89.zip
---------------------------------------
Eu acho que estão
estes certos.
Se alguns desses links
caíram por favor me avisem (meu endereço de e-mail é
sagid@netvision.net.il).
A segunda ferramenta
que você precisa é Hiew, que é também conhecida
como Hacker's View.
O Hacker's View Tool
permite voce:
1. Disassemble arquivos.
2. Fazer mudanças
em arquivos disassembled, como:
escrever
comandos, modificar comandos e reassemble o file.
3. Visualizar o arquivo
em ASCII, Hex ou modo assembly.
Aqui algumas URL's conhecidas:
1. ftp://ftp.cs.tu-berlin.de/pub/msdos/mirrors/ftp.elf.stuba.sk/pc/utilprog/hiew584.zip
------------------------------------------------------------------------------------
2. ftp://ftp.bke.hu/pub/mirrors/sac/utilprog/hiew584.zip
-----------------------------------------------------
3. ftp://ftp.uakom.sk/pub/mirrors/sac/utilprog/hiew584.zip
-------------------------------------------------------
você pode carregar
um excelente programa para cracking chamado Soft-Ice.
De qualquer modo não
precisaremos dele nesta parte do tutorial.
Mas aqui estão
algumas URLs do Soft-ICe.
SoftICE for Windows95:
1. http://swlink.net/~lachcik/insaine/si95w320.zip
-----------------------------------------------
2. http://www.fortunecity.com/bally/waterford/18/siw95-32.zip
----------------------------------------------------------
3. http://www.pmk.ac.th/~arnontc/files/siw95-32.zip
------------------------------------------------
4. ftp://toolz.ucl.autograd.ru/Debugger/W95ICE32.ZIP
-------------------------------------------------
SoftICE for Windows NT:
1. http://www.pmk.ac.th/~arnontc/files/siwnt-32.zip
------------------------------------------------
2. ftp://ftp.sol.no/users/r/reopsahl/OrcPaks/orcpak9e.zip
------------------------------------------------------
3. http://www.fortunecity.com/bally/waterford/18/siwnt-32.zip
----------------------------------------------------------
4. ftp://toolz.ucl.autograd.ru/Debugger/WNTICE32.ZIP
-------------------------------------------------
Existe também SoftICE for DOS, que eu não recomendo.
1. http://www.pmk.ac.th/~arnontc/files/s-ice280.zip
------------------------------------------------
2. ftp://ftp.ula.ve/pub/msdos/cracking/s-ice280.zip
------------------------------------------------
3. http://202.102.15.149/~person/paulgao/cracks/SICE280.ZIP
--------------------------------------------------------
4. ftp://ftp.sonic.net/pub/users/fryman/tools/S-ice280.zip
-------------------------------------------------------
5. http://www.chibacity.com/chiba/files/unpro/prx-pcs3.zip
-------------------------------------------------------
você pode baixar também a versão para Win 3.1x em:
1. ftp://ftp.ula.ve/pub/msdos/cracking/m_wice13.zip
------------------------------------------------
2. http://fishheads.simplenet.com/BriansFiles/m_wice13.zip
-------------------------------------------------------
3. http://www.magiccarpet.com/~odin/files/other/m_wice13.zip
---------------------------------------------------------
4.
The Main steps of cracking
Existem 7 passos no processo de cracking:
1. Corra o programa que
você quer crackear e aprenda o padrão de comportamento dele.
Tente localizar os strings e keywords, tente entrar a password e veja como
o programa responde.
2. Abra o programa com
o W32Dasm e disassambler ele.
3. Encontre típicos
e comuns strings no disassembly que pertencem ao programa. Na maioria dos
casos, você tem de procurar por keywords como: password, nome, data,
expirada, limite de tempo, erros, entered e assim por diante.
4. Encontre e observe
o gerador de password, encontre e aprenda a rotina de proteção
e as chamadas API.
5. Tente entender o
mecanismo de jumping da proteção.
6. Abra o programa em
HIEW.
Mude o
jump do flow control para oposite jump command, ou desabilite isso.
7. Corra e veja como
a mudança que você tinha feito no programa original o afetou.
Sinta o
poder que você tem, o poder de cracking, deixando programas procederem
como você quer que eles ajam.
Aprenda esses passos
muito bem, até você sonhar com eles, você usara cada
programa em cada programa que você crackear.
5.
Termos básicos em Assembly
------------------------
A.
Registers(registros):
------------------------
Registros são
variáveis que estão armazenadas em seu processador.
O processador usa essas
variáveis para operações matemáticas básicas
e operações lógicas. a maioria dos registros usados
são: eax, ebx, ecx e edx. Algumas vezes você verá:
edi, esi, esp, ebp.
Existem três tipos de registros: 32Bit registers, 16Bit registers e 8Bit registers. Os 32Bit registers iniciam com "e", como os "eax". Existem os 16Bit equivalentes desses registros.
A única diferença
desses dois tipos é o tamanho da variável.
Esses registros são:
"ax", "bx", "cx", "dx", "di", "si", "sp", "bp".
Há também
os 8 bit registros. Os 8Bit registers são: "al", "ah", "bl", "bh",
"cl", "ch", "dl", "dh".
"l" - significa abaixo
de 8 bits dos 16Bit register.
"h" - significa acima
de 8 bits dos 16Bit register. Aqui o padrão l é para os abaixo
e h para os acima de 8 bits de um 16 bit register.
--------
B.
Flags
--------
Flags são variáveis
Boolean(get 0 or 1 values). Flags são usadas pelo processador para
operações lógicas e matemáticas, em ordem para
pegar o resultado da operação. O mais importante flag é
o Zero Flag, que pode ter zero ou non-zero(1) valores.
------------
C.
Code Flow
------------
Quando você está
analisando uma peca de código, você deve entender que o processador
é atualmente inteiramente estúpido, e tudo é tão
simples a fazer é simplificar seguindo as instruções
básicas, linha a linha. Faca qualquer coisa que o código
pede para você fazer, e não faça nada que não
esteja escrito no código("a menos que tenha ouvido vacas falarem
ou tenha sido abduzido por aliens."). Isso porque você tem pensar
como o processador, quando você estiver analisando uma peca de código,
e agir como ele(just don't get used to it! Inhale, exhale, inhale, exhale...
nevermind, stupid joke) :) você tem de fazer o que o processador
faz, comparar registros e variáveis, executar jumps e calls, calcular
Basic mathimatical operations, armazenar e carregar registro de valores
e endereços e assim por diante...
O processador tinha um "instruction pointer" especialmente para isto, que é também chamado de IP (não tem nada a ver com o IP do internet protocol confie em mim..."quero dizer... no escritor... hehehhe"). Usando o instruction pointer, o processador aponta à instrução que irá ser executada. O processador também executa instruções que mudam o code flow. Estas instruções podem ser function calls, qualquer outra rotina de calls, jumps, conditional jumps, que dependem do zero flag, negative conditional jumps...
6.
Conclusão
Nesta parte do tutorial,
nós aprendemos o significado da palavra cracking.
Fazendo programas comportando-se
como você quer, e não do modo que o programador queria que
fosse. Nós temos aprendido muito também sobre as básicas
e populares ferramentas de cracking: W32Dasm, Hiew e o SoftICE. E finalmente
aprendemos os sete passos do cracking.
Agora, antes de você ir para o próximo capítulo, você estes 7 passos e carregar as ferramentas mencionadas acima, porque nós não podemos ir ao próximo capitulo sem essas ferramentas e sem saber os passos.
Vejo você no próximo capítulo.
<TeCh~LoRd>