Karpoff Spanish Tutor 1999-2002

Programa: FireBurner v2.1.7 Windows Edition  


 

PROTECCION: Numero de Registro
Objetivo: Simular estar Registrados. Codificación del Patch! en Visual Basic 6.
Descripcion:
FireBurner v2.17 es una de las mejores herramientas de creación de CDs para Windows 9x/2000 y Linux.
Dificultad: NewBie, eso creo yo ....:)D
DOWNLOAD: hhttp://www.fireburner.com/
Herramientas: file insPEctor XL (o similar) W32Dasm v.8.93 (o similar) Numega SoftIce v.4.05 Visual Basic 6
CRACKER:
+Er@ser
  FECHA: 05/10/2002

 

 INTRODUCCION

 Bien amigos mios, otra vez con esta appz jejejjejee, lo mio ya es obsesión. Como podreis observar el Sistema de Protección no ha variado en absoluto, jejjeeje mucho mejor para NOSOTROS;).

Las Herramientas que vamos a emplear, en esta "Victima" como siempre va a ser el file insPEctor XL, nos dirá si nuestra "Victima" esta empaquetada, compilador, etc, ...

Toda esta información nos ayudara para un atake más rápido.

Pues, nada Manos a la Obra .......

 

 

 AL ATAKE

FireBurner v2.17 es una de las mejores herramientas de creación de CDs para Windows 9x/2000 y Linux.

- Comunicación inteligente entre nuestra Grabadora IDE o SCSI atraves de cualquier dispositivo ASPI.
- Metodos de Grabación Session-at-Once (SAO), Disk-at-Once (DAO) o Track-at-Once (TAO).
- Creación de Disco Imagen "Cue/Bin" en formatos ISO, WAV, y raw PCM.
- Comprobación de Errores.
- Informe detallado sobre el estado y compatibilidades de nuestros dispositivos.


SAO (Session-at-Once) = Grabar Sesion cada vez.
DAO (Disk-at-Once) = Grabar Todo el CD de una vez.
TAO (Track-at-Once) = Grabar una Pista cada vez.

Y muchas más opciones, ...

ADVERTENCIA : El texto de este artículo esta escrito con fines didácticos, para mostrar simplemente como funciona el sistema, por el cúal queda anotado todo lo que compramos. El autor no se hace responsable de cualquier uso ilegal que se le den a estos conocimientos.
 
 
 

Manos a la Obra

Arrancamos el file insPEctor XL y cargamos nuestra "victima" y observaremos lo siguiente, en pantalla:
FireBurner v2.17 Windows Edition esta Comprimido con UPX 0.89.6-1.02/1.06-1.07.

La siguiente aproximación, será DESCOMPRIMIRLO, llegados a este punto, emplearemos el UPX v1.02w, con la opción -d (descomprimir).

C:\UPX>Upx -d Fireburner.exe


           Ultimate Packer for eXecutables
      Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w Markus F.X.J Oberhumer & Laszlo Molnar May 23rd 2001

File size            Ratio       Format         Name
----------------     ------      --------       --------------
754176 <- 282624     35.90%      win32/pe       fireburner.exe

Unpacked 1 file.


Una vez descomprimido, comencemos a trabajar con nuestra "victima".


- Observar el proceso de Registración de la appz.
- Buscar Strings, emplearemos W32Dasm.

 

Proceso de Registración del FireBurner v2.1.7

Objetivo-1

Cargamos la appz FireBurner, y observamos la siguiente Pantalla de Registración :

Nuestro Primer Objetivo esta claro, deberemos eliminar esa molesta NAG-Screen para que no aparecera más la Pantalla de Registración.

Objetivo-2

Seguimos estudiando, pulsamos I Agree y como podeis observar aparece la Ventana Principal de la appz con el Texto: FireBurner 2.1.7 Windows Editon (Unregistered) <-- NO ESTA REGISTRADO.

Objetivo-3

A continuación, pulsamos la opción Help y seleccionamos About, nos aparecera la siguiente pantalla:

Una vez, que ya tenemos claro los Objetivos a seguir, nos ponemos a trabajar con el W32Dasm.

 

Usando el SoftICE

Establecemos un BreakPoint USER32_CreateWindowExA(DWORD,LPSTR,DWORD,DWORD,DWORD,DWORD)
en el 99.9% de los casos emplearemos este BreakPoint en las appz realizadas en Delphi. 

Activamos el SoftIce y establecemos el BreakPoint 'BPX CreateWindowExA' pulsamos CTRL+D,
o bien, F5 para regresar a Windows. A continuación ejecutamos el FireBurner y aterrizaremos
dentro del SoftIce. Seguiremos los pasos de siempre, pulsamos F12 hasta llegar al código del
FireBurner, una vez dentro empezaremos a tracear con F10, y observaremos lo siguiente: 

Objetivo-1

//******************** Program Entry Point ********
:00491404 55                      push ebp
:00491405 8BEC                    mov ebp, esp
:00491407 83C4F0                  add esp, FFFFFFF0
:0049140A 53                      push ebx
:0049140B B82C114900              mov eax, 0049112C
:00491410 E83758F7FF              call 00406C4C
:00491415 8B1D0C464900            mov ebx, dword ptr [0049460C]
:0049141B 8B03                    mov eax, dword ptr [ebx]
:0049141D E8EE00FDFF              call 00461510
:00491422 A104444900              mov eax, dword ptr [00494404]
:00491427 803800                  cmp byte ptr [eax], 00   ; Serial CORRECTO == Serial Dummy
:0049142A 7531                    jne 0049145D             ; Si NO es igual
:0049142C 8B0B                    mov ecx, dword ptr [ebx] ; "THANK YOU FOR TRYING..."
:0049142E B201                    mov dl, 01               ; @Offset 9082Ah


Usando el W32Dasm

Ejecutamos el W32Dasm y seleccionamos Open the File to Disassemble seleccionamos Fireburner.exe, una vez finalizado el proceso, pulsamos el botón String Data References y comenzamos a la caza de los Objetivos 2, 3.

Objetivo-2

*** Buscamos la String "FireBurner 2.1.7 Windows Edition (Unregistered)"

* Possible StringData Ref from Code Obj ->"¡|DI"
                                  |
:00490969 C780F8000000BC0C4900    mov dword ptr [ebx+000000F8], 00490CBC
:00490973 C683D403000000          mov byte ptr [ebx+000003D4], 00
:0049097A A104444900              mov eax, dword ptr [00494404]
:0049097F 803800                  cmp byte ptr [eax], 00   ; Serial CORRECTO == Serial Dummy
:00490982 740E                    je 00490992              ; Si es igual "... (Registered)"
                                                           ; @Offset 8FD82h
                                                           ; Cambiamos por 750E => JNE

* Possible StringData Ref from Code Obj ->"FireBurner 2.1.7 Windows Edition "
                                        ->" (Registered)"
                                  |
:00490984 BA7C0A4900              mov edx, 00490A7C
:00490989 8BC3                    mov eax, ebx
:0049098B E89810FBFF              call 00441A28
:00490990 EB0C                    jmp 0049099E

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00490982(C)
|

* Possible StringData Ref from Code Obj ->"FireBurner 2.1.7 Windows Edition "
                                        ->" (Unregistered)"
                                  |
:00490992 BAB40A4900              mov edx, 00490AB4
:00490997 8BC3                    mov eax, ebx

*** Al cambiar el SALTO CONDICIONAL (JE) por SALTO INCONDICIONAL (JNE), observaremos la

siguiente pantalla:

Objetivo-3

*** Buscamos la String "Please Register your copy"
 
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048CF7B(C)
|
:0048CF7D 008BC0535651            add byte ptr [ebx+515653C0], cl
:0048CF83 8BD8                    mov ebx, eax
:0048CF85 A104444900              mov eax, dword ptr [00494404]
:0048CF8A 803800                  cmp byte ptr [eax], 00 ; Serial CORRECTO == Serial Dummy
:0048CF8D 7425                    je 0048CFB4            ; Si es igual "Please Register..."
                                                         ; @Offset 8C38Dh
                                                         ; Cambiamos por 7525 => JNE

* Possible StringData Ref from Code Obj ->"This Copy Registered to"
                                  |
:0048CF8F BA1CD04800              mov edx, 0048D01C
:0048CF94 8B83F4020000            mov eax, dword ptr [ebx+000002F4]
:0048CF9A E8894AFBFF              call 00441A28
:0048CF9F 8B15FC454900            mov edx, dword ptr [004945FC]
:0048CFA5 8B12                    mov edx, dword ptr [edx]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048CF36(C)
|
:0048CFA7 8B83F8020000            mov eax, dword ptr [ebx+000002F8]
:0048CFAD E8764AFBFF              call 00441A28
:0048CFB2 EB10                    jmp 0048CFC4

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048CF8D(C)
|

* Possible StringData Ref from Code Obj ->"Please register your copy"
                                  |
:0048CFB4 BA3CD04800              mov edx, 0048D03C
:0048CFB9 8B83F4020000            mov eax, dword ptr [ebx+000002F4]
:0048CFBF E8644AFBFF              call 00441A28

*** Al cambiar el SALTO CONDICIONAL (JE) por SALTO INCONDICIONAL (JNE), observaremos la siguiente pantalla:

Bueno, como podéis ver ya hemos FINALIZADO la Simulación de la Registración jejeje;) Ahora solo nos queda CODIFICAR el Patch!.

 

Codificar el Patch!



'----------------------------------------------------------------------
' Name:         VB Patch Engine
' Author:       +Er@ser[GT2]
' Created:      Jueves, Abril 11,2002 @ 8:23:23 pm (Vers: 1.0.0000)
'
' Description:  FireBurner 2.1.7 Windows Edition
'----------------------------------------------------------------------

'00090820 FDFF A104 4449 0080 3800 7531 8B0B B201 <- Objetivo-1 @Offset 9082B
'0008FD80 3800 740E BA7C 0A49 008B C3E8 9810 FBFF <- Objetivo-2 @Offset 8FD83
'0008C380 5356 518B D8A1 0444 4900 8038 0074 25BA <- Objetivo-3 @Offset 8C38E


Private Sub Command1_Click()
    If FileExist(Text5) Then
    On Error GoTo Cancelo
    Dialogo.CancelError = True
    With Dialogo
        Dim Tamaño As Long
        Tamaño = 754176    'tamaño descomprimido 754176 <- 262144
        If FileLen(Text5) <> Tamaño Then
            MsgBox "Filesize does not match!", 16, "+Er@ser[GT2]"
            Else
                Open Text5 For Binary Access Write As #1
                Put #1, &H8FD83, &HE75  '@Offset 8FD83h
                Put #1, &H8C38E, &H2575 '@Offset 8C38Eh
                Put #1, &H9082B, &H3174 '@Offset 9082Bh
                MsgBox "Patch Successful!", 64, "+Er@ser[GT2]"
            End If
    End With
    On Error GoTo 0
    Exit Sub
    Close #1
Cancelo:
        Else
    End If
End Sub


Saludos 

Pr@fEsOr X, SiLvEr StOrM, Karpoff, Demian, Black Fenix, Numit_oR, Esiel 2, KUT, TNT, WKT

    Todo el DREAM TEAM de la Compilación de Tutoriales 2001 CdT2001 :)

    Saludos a todos los CrAcKeRs del Pasado, Presente y Futuro


 

Nota:

  • Soy humano y cometo errores, si encuentras uno házmelo saber OK. +Er@ser'2000/GT2


 

Chao!!

Espero que hayan disfrutado leyendo este tutorial y que les sirva para incrementar sus habilidades, pero recuerden, lean muchos tutoriales, practiquen, estudien y CRACKEAR será mucho más fácil.

 

 

Karpoff Spanish Tutor: Pagina dedicada a la divulgacion de informacion en Castellano, sobre Ingenieria Inversa y Programacion. Email "Colabora con tus Proyectos"
www.000webhost.com