Crackeando Virtua Fighter PC...

	by Xcellent

Ol! Outro tutor sobre CD-Checks, dessa vez a vtima 
o Virtua Fighter, um jogo meio antigo, mas naum d nada.

Programas nescessrios:
W32Dasm v8.9 (pegue em www.crackstore.com)
Qualquer editor hexadecimal (www.crackstore.com tem vrios!)

Rode o jogo sem o CD e..."Cannot find Virtua Fighter(TM) PC CD."
Agora rode o W32Dasm e abra o arquivo VFPC.EXE, agora ns precisamos
procurar pela mensagem de erro, entaum clique no menu Refs - String Data
References, uma janla abrir com um monte de frases, agora o q vc tem
q fazer  procurar pela mensagem "Cannot find Virtua Fighter(TM) PC CD." e
quando acha-l d dois cliques nela, entaum vc ver algo parecido com isto:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049F974(C) <- o endereo de onde a mensagem foi chamada
|

* Possible StringData Ref from Data Obj ->"Cannot find Virtua Fighter(TM) "
                                        ->"PC CD."
                                  |
:0049F97D 68C4A3B700              push 00B7A3C4
...
Beleza, agora sabemos q a mensagem pedindo o CD foi chamada do endereo
49F974. Para irmos ateh este endereo, pressione SHIFT + F12 e digite
49F974 e clique em OK. Agora vc ver algo parecido com isto:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049F949(C)
|
:0049F959 E8F22AF6FF              call 00402450 <- rotina de checagem
:0049F95E 85C0                    test eax, eax <- compara o resultado
:0049F960 742C                    je 0049F98E   <- se tiver CD roda o jogo

* Reference To: KERNEL32.GetOEMCP, Ord:00F6h
                                  |
:0049F962 FF159483B900            Call dword ptr [00B98394]
:0049F968 6A30                    push 00000030
:0049F96A 3DA4030000              cmp eax, 000003A4

* Possible StringData Ref from Data Obj ->"Virtua Fighter PC"
                                  |
:0049F96F 68C8A2B700              push 00B7A2C8
:0049F974 7507                    jne 0049F97D <- caso contrrio mostra a mensagem de erro

* Possible StringData Ref from Data Obj ->"Virtua Fighter(TM) PC "
                                  |
:0049F976 6818A3B700              push 00B7A318
:0049F97B EB05                    jmp 0049F982 <- mostra a mensagem em outra lngua
Olhe no endereo 49F960!  aquele je q ir rodar o jogo se tiver o CD, e se
naum tiver vai mostrar a mensagem. Entaum o q temos de fazer  mudar o je
para jmp, fazendo isto o jogo vai rodar com CD ou sem. Para mudarmos os bytes dentro
do executvel, ns precisamos saber exatamente onde eles estaum, para descobrir isto,
mova a barra azul ateh o endereo 49F960, ela ficar verde e entaum olhe l em baixo
da tela e vc ver @Offset:00009ED60h. Agora sabemos q o offset  9ED60 e entaum rode
seu editor hexadecimal, abra o arquivo VFPC.EXE, procure pelo offset 9ED60 e mude o
74 para EB e salve. Rode o jogo sem o CD e...est feito!!

Ateh o prximo tutor...
Xcellent - The Brazillian crack3r
xcellent@bol.com.br
ICQ#83507510