Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Temas - CronuX

Páginas: [1] 2
1
Ingeniería Inversa / Solucion Accessme por CronuX
« en: Julio 12, 2010, 05:09:33 pm »
Hola bueno pues todavia imageshack me deja subir imagenes al hosting entonces sigamos aprobechando mientras me llega la demanda por saturar el host, esta vez es un crackme llamado accessme el cual algo interesante la rutina y que solo es posible ingresar por 3 name/serial y esa es la tarea encontrarlos y ha salido un bonito keygen asi que espero que sea de su agrado ya saben cualquier inquietud no duden en hacerla y con mucho gusto les colaborare!

Adjunto un rar con el tutorial en pdf, el archivo "accessme.exe, las reglas, y el keygen programado por mi!







Descarga:
SOLUCION_accessme_Por_CronuX

PD: Se admiten criticas sobre los keygen y sus aspectos estan hechos en vb o asm segun sea el caso

Un saludo a todos
CronuX

2
Ingeniería Inversa / Solucion Keygenme1 by CronuX
« en: Julio 11, 2010, 02:41:04 am »
Bueno esta vezles trigo otro tutorial de como resolver y keygenear esta crackme el keygen principalmente en visual basic y me salio un buen keygen algo llamativo a la vista!çles dejo en un rar el keygenme, con las reglas, con el keygen programado de mi parte, y el tutorial en pdf...
Espero sea de su agrado y les sirva para adquirir improvizacion a la hora de resolver alguna rutina...

Reglas:

Hi, This is my first KeygenMe,
All you'll need will be (+,*,-,/, and Xor Operands).

The rules are:
 - NO PATCHING !!!
 - NO SELFKEYGENNING !!!

The goals are:
 - Remove KeygenMe Protections.
 - Make a keygen
 - Write a tutorial

Created by KAiN.iDC,







Descarga:
SOLUCION_KeygenMe1_Por_CronuX

Las palabras de un sabio fueron:
"Hace poco me preguntaron por que me dedicaba al cracking y yo contesté por que jugaba mal al ajedrez, Espero que a vosotros sea también un desafío intelectual y no un sistema para adquirir programas gratis. No os dejéis seducir por el lado oscuro de la fuerza..."

CronuX

3
Ingeniería Inversa / Solucion Keelur by CronuX
« en: Julio 11, 2010, 02:09:39 am »
Otro reverseme este un poco mas complicado pero nada de otro mundo saber donde injectar y hacerlo... espero sea de utilidad les dejo un rar con el archivo mas las reglas mas el tutorial en pdf espero sea de su agrado...

Rules:
Hello and welcome to my second reme, Kee LUR-the process killer.
Your task will be to add some code to this little proggie I coded
in Delphi.
Atm, the program lists the current running processes and infos about
them. What are you supposed to do?
Simply kill the process that is currently shown in detail (the
selected process from the listbox). That's just it.

Now, exactly what I need you to do:
- when the user clicks on 'KILL' he will be prompted for confirmation-
  "Do you really want to do that?" (hey, maybe he was fooling around)
- if the user says yes, kill that process.

Easy enough I think. Yet, if you succeed on reversing it, you will
have a good tool that you can use instead of CTRL+ALT+DEL for killing
tasks.

!Warning! - I haven't tested it on NT/2k so I am not sure whether it
will work on such a machine ;( (it should though)

So, if you succesfully reverse it, mail me your solution (a tutorial
describing just how you managed to do that).

tank_ out





Descarga:
SOLUCION_Keelur_Por_CronuX

Las palabras de un sabio fueron:
"Hace poco me preguntaron por que me dedicaba al cracking y yo contesté por que jugaba mal al ajedrez, Espero que a vosotros sea también un desafío intelectual y no un sistema para adquirir programas gratis. No os dejéis seducir por el lado oscuro de la fuerza..."

CronuX

4
Ingeniería Inversa / Evitando NagScreen WinRar
« en: Junio 29, 2010, 11:50:41 am »
Hola bueno este es un pequeño tutorial de como evitar la nagscreen de winrar la de los 40 dias, y cambiar sus string para registrarnos el programa a nosotros, simplemente para que nos aparesca el mensaje de copia de evaluacion ni copia por 40 dias...

Bueno al grano se ha dicho, ya instalado WinRar lo ejecutamos para ver lo que se mencionara en el tutorial



Adelantamos nuestro reloj en especial la fecha de nuestro ordenador hasta diciembre 2010, mas de 2 meses y al ejecutar winrar ahora vemos que al abrirse nos abre tambien una nagscreen para que "compremos" el producto



No haremos caso y vamos a arreglar el ejecutable para que se vea mucho mejor y evitar esa nag
Lo abrimos con el OllyDBG y vamos a buscar Search for - All Commands



Nos sale una pequeña ventana donde ingresaremos la instruccion cmp eax,28
que sera la que debemos buscar, se preguntaran por que esa instruccion pues bien
simple por cuanto tiempo sale la nag ? 40 dias ==> 40 decimal = 28 Hexadecimal
Tambien se preguntaran por que eax y no otro registro, pues bueno les comento que
muchas de las API al utilizarse devuelven el resultado en el registro eax, y lo que me hace pensar
es que hay una api que tome el tiempo de instalado y que lo mande a eax para compararlo despues
con 40 dec o 28 hex



Nos sale otra ventana con todos los comandos cmp eax,28 que hay en el ejecutable y lo que haremos sera poner un breakpoint en todos, se preguntaran por que en el 2 comando que aparece no hay breakpoint bueno les digo que a mi parecer es una ofuscacion de codigo y no es un comando real entonces este no se toma en cuenta...



Al darle F9 o Run vemos como para en un breakpoint de los que pusimos, y esta es la parte donde el programa compara las fecha que lleva de registrado con 40 y verifica si es mayor la fecha nos mostrara la nag



Bueno debajo de la instruccion observamos dos saltos que bueno a simples rasgos saltaran si los dias son mayores a 40 lo que haremos con el primero sera nopearlo para que no haga nada y evitar que salte hacia la nag



Con el segundo salto lo que haremos sera modificarlo para que salte siempre cambiandolo por un jmp o salto incondicional para evitar que ejecute la nag



Bueno ya hecho estos cambios podemos proceder a guardarlos en el ejecutable, cabe resaltar que en esta imagen podemos observar el codigo de la nag al cual evitamos a toda costa...



Bueno ya guardado nos iremos a abrir el archivo Winrar.lng que se encuentra en la misma carpeta del programa y lo abrimos con un editor de textos ene ste caso bloc de notas

Ahi buscaremos las string que queremos cambiar y pues por ahora solo son dos "Copia de evaluacion" y "Copia de prueba de 40 dias"



Encontramos la primera y la modificamos por lo que nosotros deseemos, al igual que la segunda string y guardamos los cambios.



Ya por ultimo solo nos resta revisar todo lo que hemos hecho y al abrir el ejecutable modificado vemos como no nos aparece la nag en ningun momento (Todo bien) y se han cambiado las String a nuestra disposicion



Con esto me despido saludos a todos y gracias por leerme
Feliz Cracking
CronuX

5
Ingeniería Inversa / MiniAnalisis + Solucion [VB.Net]Reto Smart
« en: Junio 29, 2010, 02:36:33 am »
Bueno vamos al grano este pequeño analisis del reto


Asi que trabajandole a este resulto muy sencillo
solo es desemsanblarlo yo use "reflector"
y podemos ver sus eventos (Los botones) y que hace cada uno
ya sabiendo esto es sencillo solo es ponerse a analizar un poco
y establecer una relacion entre lo que hace cada boton



Bueno un analisis rapido y sin heuristica me arrojo que los siguientes botones son una serie valida para
resolver el reto y seria "1 - 2 - 13 - 14 - 8 - 12" que ya puden jugar con las posiciones que no hay problema



Analisis entiendase por activar que el boton tenga como caracteristica caption "x"
bueno el analisis seria
botones                      los que activa
1                                       2 - 5
2                                    6 - 3 - 1
13                                    9 - 14
14                               10 - 13 - 15
8                                   4 - 7 - 12
12                                8 - 11 - 16

Con esto vemos que se activan todos los botones del 1 al 16 eso si sin alterarse ninguno, pues si se cruza algun evento el boton activado se desactivara activando otros, es decir el objetivo es buscar en el menor numero de click posible que se activen todos y nos muestre el mensaje de correcto...
y aca esta...



Descarga:
RetoSmartv1

Un saludo
CronuX

PD: Analisis rapido y sin heuristica hecho por el antivirus BrainCronuX jaja  ;D

6
Ingeniería Inversa / Tutorial Resolviendo Reto Smart v3
« en: Junio 28, 2010, 12:47:28 pm »
Bueno a pedido, dejo este pequeño tutorial de como resolvi este crackme de mi amigo SmartGenius, espero sea de su agrado y recuerden cualquier pregunta no duden en hacermela que mientras este a mi alcance con el mayor gusto les colaboraria, bueno me despido y dejo unas imagene sy la descarga del archivo rar con el tutorial (pdf) y los archivos del crackme y el crackme modificado

Imagenes:





Descarga:

http://www.mediafire.com/?y0yrdyenimm

Saludos
CronuX
 :P

7
Ingeniería Inversa / BlackCrackMe by CronuX
« en: Junio 28, 2010, 12:49:21 am »
Hola les dejo otro pequeño keygenme espero que lo disfruten y espero sus soluciones solo es valido un keygen para cualquier name
saludos

Imagenes:




Descarga:

http://www.mediafire.com/?j0ihfmezzlu

CronuX   :P

8
Ingeniería Inversa / CTCrackMe by CronuX
« en: Junio 19, 2010, 06:45:11 pm »
Hola esta vez he terminado un pequeño CrackMe, y despues de pelear con el code un rato parece estar funcionando asi que lo posteo para que puedan resolverlo y como siempre practicar y aprender de él.

Reglas:
CTCrackMe_CronuX_2010

* No Romper el codigo
* No self-keygen
* No parchear
* Programar un keygen valido
* Explicar brevemente en que consistio el CrackMe
* Dar un comentario acerca de el CrackMe
* Sugerencias para proximos CrackMes
* Feliz Cracking
* Feliz Keygening
* Enviar por mp el Keygen Válido!

Saludos CronuX
GeoReverser!

CrackMe


CrackMe Sin Pasar


CrackMe Pasado


Descarga
CTCrackMe_CronuX_2010!

User que lo han Pasado:
*
*
*


Saludos
Feliz Cracking
CronuX  8)

9
Ingeniería Inversa / SOLUCION_PatchMe_Por_CronuX
« en: Junio 16, 2010, 01:31:21 am »
Hola nuevamente otro pequeño tutorial de este patchme algo interesante pues es algo diferente como para salir de la rutina, espero que les sea de agrado y reitero gracias por leerme...

Rules:
Patch the beginning and the end nags
Enable the File->Save option
Change the File->Save text
Patch so the listbox button works
Patch the about to something other than unregistered
Change Caption



Descarga:
SOLUCION_PatchMe_Por_CronuX

Saludos y Feliz Cracking  8)

10
Ingeniería Inversa / SOLUCION_FishMe#1_Por_CronuX
« en: Junio 16, 2010, 01:16:34 am »
Hola aki otro pequeño tutorial de otro keygenme espero que les sea de su agrado y puedan entenderlo, muchas gracias por leerlos saludos!

Readme:
Written by: Python
Written in: VB.Net
Written on: 5.April.2010

Rules:
-No patching

Goals:
-Fish a key that matches to your username
-Write a tut and a solution (should include: how got the keys hidden after generating?)



Descarga:
SOLUCION_FishMe#1_Por_CronuX

Saludos y Feliz Cracking  8)

11
Ingeniería Inversa / SOLUCION_CrackMe2_Por_CronuX
« en: Junio 16, 2010, 01:01:09 am »
Hola que pena por estar un poco ausente e estado ocupado por cuestiones personales, igual aca vengo adejarle unos pequeños tutoriales que ojala le puedan servir para aprender algo asi como lo hice yo el zip viene con pdf del tutorial + crackme + keygen, un saludo a todos

Readme:
Name: Crackme2.exe | Written in: C++



Descarga:
SOLUCION_CrackMe2_Por_CronuX

Saludos y Feliz Cracking  8)

12
Ingeniería Inversa / Yankees WarCrackMe by CronuX
« en: Mayo 15, 2010, 06:55:27 pm »
Yankees WarCrackMe by CronuX

Rules
* No Parchear
* No Self-Keygen
* No romper el codigo
* Programar un keygen para todo nombre (cualquier lenguaje)
* Dar una explicacion de como trabaja el crackme y como lo resolvieron
* Si hacen un tutorial muchisimo mejor
* Reportar bug para no volverlos a comete

saludos...

Medalla ORO: 1 en Resolver con Tutorial
Medalla Plata: 1 en Resolver Explicando el trabajo del crackme
Medalla Bronce: Todos los que lo resuelvan solo el keygen...

Imagenes

Asi se ve en mi PC ya que puede variar...
Adjunto el archivo de la font Blade II ya que este la usa...



Ya pasado como se debe ver!



Descarga

Executable Clean de virus induc.a
YankessWarCrackMe by CronuX

PodiuM

Medalla ORO:
Medalla PLATA:
Medalla BRONCE:
*
*
*
*
*


Bytes, CronuX
Feliz Cracking...
 8)

13
Ingeniería Inversa / Tutorial Resolviendo Keygenme
« en: Mayo 15, 2010, 05:17:53 pm »
El keygen lo programo BuKoBG y nos dice...

Hi people, I hope you have fun with this one :). PM me if something.

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: Assembler

A la carga...

Tutorial

Esta es la rutina principal del keygenme
en 00401340 CALL KeyGenMe.004010FB es donde se haran las operaciones y devolvera en eax 0 si es incorrecto o 1 si es correcto

00401345 CMP EAX,1 compara el valor devuelto en eax con 1

00401348 JNZ SHORT KeyGenMe.00401360 si es 1 sigue si es 0 saltara al Badboy


Código: [Seleccionar]
00401312  |.  68 80000000           PUSH 80                                        ; /Count = 80 (128.)
00401317  |.  68 CC344000           PUSH KeyGenMe.004034CC                         ; |Buffer = KeyGenMe.004034CC
0040131C  |.  68 E8030000           PUSH 3E8                                       ; |ControlID = 3E8 (1000.)
00401321  |.  FF75 08               PUSH [ARG.1]                                   ; |hWnd
00401324  |.  E8 AD000000           CALL <JMP.&user32.GetDlgItemTextA>             ; \GetDlgItemTextA
00401329  |.  68 80000000           PUSH 80                                        ; /Count = 80 (128.)
0040132E  |.  68 4C354000           PUSH KeyGenMe.0040354C                         ; |Buffer = KeyGenMe.0040354C
00401333  |.  68 E9030000           PUSH 3E9                                       ; |ControlID = 3E9 (1001.)
00401338  |.  FF75 08               PUSH [ARG.1]                                   ; |hWnd
0040133B  |.  E8 96000000           CALL <JMP.&user32.GetDlgItemTextA>             ; \GetDlgItemTextA
00401340  |.  E8 B6FDFFFF           CALL KeyGenMe.004010FB
00401345  |.  83F8 01               CMP EAX,1
00401348  |.  75 16                 JNZ SHORT KeyGenMe.00401360
0040134A  |.  6A 00                 PUSH 0                                         ; /Style = MB_OK|MB_APPLMODAL
0040134C  |.  68 84304000           PUSH KeyGenMe.00403084                         ; |Title = "Correct"
00401351  |.  68 8C304000           PUSH KeyGenMe.0040308C                         ; |Text = "Correct serial, good job !"
00401356  |.  FF75 08               PUSH [ARG.1]                                   ; |hOwner
00401359  |.  E8 84000000           CALL <JMP.&user32.MessageBoxA>                 ; \MessageBoxA
0040135E  |.  EB 14                 JMP SHORT KeyGenMe.00401374
00401360  |>  6A 00                 PUSH 0                                         ; /Style = MB_OK|MB_APPLMODAL
00401362  |.  68 A7304000           PUSH KeyGenMe.004030A7                         ; |Title = "Wrong"
00401367  |.  68 AD304000           PUSH KeyGenMe.004030AD                         ; |Text = "Wrong serial, try again !"
0040136C  |.  FF75 08               PUSH [ARG.1]                                   ; |hOwner
0040136F  |.  E8 6E000000           CALL <JMP.&user32.MessageBoxA>                 ; \MessageBoxA

Ahora entramos 00401340  |.  E8 B6FDFFFF           CALL KeyGenMe.004010FB

vemos la siguiente rutina

Código: [Seleccionar]
004010FB  /$  E8 00010000           CALL KeyGenMe.00401200
00401100  \.  C3                    RETN
00401101   .  C3                    RETN
00401102   .  C3                    RETN
00401103   .  C3                    RETN
00401104   .  C3                    RETN
00401105   .  C3                    RETN
00401106   .  C3                    RETN
00401107   .  C3                    RETN
00401108   .  C3                    RETN
00401109   .  C3                    RETN
0040110A   .  C3                    RETN
0040110B   .  C3                    RETN
0040110C   .  C3                    RETN
0040110D   .  C3                    RETN
0040110E   .  C3                    RETN
0040110F   .  C3                    RETN
00401110   .  C3                    RETN
00401111   .  C3                    RETN
00401112   .  C3                    RETN
00401113   .  40                    INC EAX
00401114   .  C3                    RETN
...
004011FF   .  C3                    RETN

Vemos la instruccion INC EAX en 00401113 anotamos y entramos en la primera call "004010FB  /$  E8 00010000   CALL KeyGenMe.00401200"

Entramos a otra rutina
Código: [Seleccionar]
00401200  /$  68 CC344000           PUSH KeyGenMe.004034CC                         ;  ASCII "Name"
00401205  |.  E8 3D000000           CALL KeyGenMe.00401247
0040120A  |.  50                    PUSH EAX
0040120B  |.  68 4C354000           PUSH KeyGenMe.0040354C                         ;  ASCII "Serial"
00401210  |.  E8 32000000           CALL KeyGenMe.00401247
00401215  |.  5B                    POP EBX
00401216  |.  2BD8                  SUB EBX,EAX
00401218  |.  885D F8               MOV BYTE PTR SS:[EBP-8],BL
0040121B  |.  B8 00000000           MOV EAX,0
00401220  \.  C3                    RETN

Vemos que va a utilizar nuestros datos ingresados

Código: [Seleccionar]
00401205  |.  E8 3D000000           CALL KeyGenMe.00401247; coge nuestro Name ingresado y genera crc32(Name)
0040120A  |.  50                    PUSH EAX   ; Guarda en el stack el resultado crc32(Name)
00401210  |.  E8 32000000           CALL KeyGenMe.00401247; coge nuestro serial ingresado y genera crc32(serial)
00401215  |.  5B                    POP EBX   ; Recupera en EBX el resultado de crc32(Name)
00401216  |.  2BD8                  SUB EBX,EAX           ; hace la operacion crc32(Name)-crc32(serial) y guarda el resultado en EBX[/php]

00401218  |.  885D F8               MOV BYTE PTR SS:[EBP-8],BL ; En esta instruccion mueve el registro BL del resultado de la resta a [EBP-8]
; Donde [EBP-8] vale 0012FB04  00 11 40 00 y sera la direccion donde regresara el 00401220  \.  C3  RETN

[php]0040121B  |.  B8 00000000           MOV EAX,0             ; Mueve 0 al registro EAX
00401220  \.  C3                    RETN   ; Regresa a la Direccion de [EBP-8]

Entonces la unica solucion para que el registro EAX sea 1 es que salte a la direccion 00401113   .  40  INC EAX
es decir que la Resta de crc32(Name)-crc32(serial)=0x13 que el registro BL sea = 13

Código: [Seleccionar]
00401113   .  40                    INC EAX ; Pone en EAX = 1
00401114   .  C3                    RETN    ; Regresa a la rutina principal 00401345  |.  83F8 01  CMP EAX,1

Rutina de crc32

Código: [Seleccionar]
00401247  /$  55                    PUSH EBP
00401248  |.  8BEC                  MOV EBP,ESP
0040124A  |.  B8 FFFFFFFF           MOV EAX,-1
0040124F  |.  8B75 08               MOV ESI,[ARG.1]
00401252  |.  33D2                  XOR EDX,EDX
00401254  |>  8BD8                  /MOV EBX,EAX
00401256  |.  C1EB 08               |SHR EBX,8
00401259  |.  8BC8                  |MOV ECX,EAX
0040125B  |.  81E1 FF000000         |AND ECX,0FF
00401261  |.  8A16                  |MOV DL,BYTE PTR DS:[ESI]
00401263  |.  80FA 00               |CMP DL,0
00401266  |.  74 0E                 |JE SHORT KeyGenMe.00401276
00401268  |.  33D1                  |XOR EDX,ECX
0040126A  |.  331C95 CC304000       |XOR EBX,DWORD PTR DS:[EDX*4+4030CC]
00401271  |.  8BC3                  |MOV EAX,EBX
00401273  |.  46                    |INC ESI
00401274  |.^ EB DE                 \JMP SHORT KeyGenMe.00401254
00401276  |>  83F0 FF               XOR EAX,FFFFFFFF
00401279  |.  C9                    LEAVE
0040127A  \.  C2 0400               RETN 4

En conclucion la resta entre crc32(Name)-crc32(serial)=0x13 ;BL=13
el keygen es un bucle que genera crc32(Name) toma los dos ultimos char en forma hex
por ejemplo crc32(CronuX)=ADE83FC4
toma 0xC4 y le resta 0x13
0xC4-0x13=0xB1
Entonces el keygen genera una cadena aleatoria, La longitud la decide usted, genera el crc32(cadena)
y compara los dos ultimos caracteres con B1 si es igual simple cadena = Serial
si no genera de nuevo otra string aleatoria...

Imagenes





















Descarga:

Keygen And Keygenme #1 By CronuX

Saludos CronuX
Feliz Cracking

14
Ingeniería Inversa / CKeygenMe by Cronux
« en: Mayo 09, 2010, 02:10:36 pm »
CKeygenMe by CronuX
Hola a todos les traigo este nuevo reto para que practiquen espero que les sirva y puedan aprender algo de el les dejo las reglas

Reglas:
* No Romper el code
* No Self-Keygen
* No Parchear
* Programar Un Keygen (Cualquier Lenguaje)
* Escribir Tutorial de como lo resolvieron (Por lo menos explicar brevemente lo que hace o la rutina)
* Comentar bugs, mejoras, con el fin de mejorar para el proximo...
* Fecha Limite hasta resolverlo...

Usuarios Pasados:
* Medalla ORO =
* Medalla PLATA =
* Medalla BRONCE =


Imagen del KeygenMe



Descarga
CKeygenMe by CronuX

Saludos CronuX
Felix Cracking
 8)

15
Ingeniería Inversa / Tutorial Desempacando Pain Crew Protector 1.1
« en: Abril 23, 2010, 04:34:15 pm »
Hola esta vez vengo con el estudio de un packer pues sencillo por que lo que hace es hacer un loader en otro idioma y unpackear el ejecutable en memoria y cargarlo dese la carpeta de temporales... veamos...

Tutorial Desempacando Pain Crew Protector 1.1

Primero analizamos con el PeiD y el RDG para examinar y no podemos ver el OEP y nos da un error de memoria que raro...



Abrimos el programa a ver que nos dice y vemos el mensaje.... pues hagamosle el tutorial...



Teniendo abierto el programa abrimos el LordPE para examinar el proceso y nos encontramos con la sorpresa que lo unpackea y lo corre desde la carpeta temp asi que vayamos hasta ahi...



Encontramos el archivo... Copiamos el archivo creado a la carpeta donde esta el unpackme para examinarlo



Lo abrimos para ver y si es y unpackeado que facil es la seguridad de este packer...



Abrimos con el PeiD para examinar y vemos todo correcto y su OEP 4271B0



Abrimos con el OllyDBG para revisar... y vemos todo correcto



Cambiamos las String para aprovechar y hacer mas largo el tutorial y para terminar de revisar su buen funcionamiento y queda asi...



bueno me despido con este packer facil hasta un proximo tutorial un saludo a todos

Feliz Cracking
CronuX
 :o

16
Ingeniería Inversa / TitaniuMCrackmeV1 ASH-LABS
« en: Marzo 26, 2010, 10:26:33 am »
Hola a toda la comunidad les traigo un crackme que he programado una de esas ideas y creo que me ha salido muy buena esta vez
Espero que lo resuelvan y que me envien mp con las soluciones correctas

Reglas:
* No romper nada del codigo
* Enviarme la solucion correcta para pasar el Crackme
* Hacer un pequeño tutorial ya sea word video pdf como lo resolvieron esto para que otros usuarios puedan aprender de ustedes
* Responder este post con una foto del crackme pasado asi como muestra la siguiente imagen
* Les deseo mucha suerte y exitos

Descarga
TitaniuMCrackme V1 (ASH-LABS)



Saludos CronuX
Feliz Cracking

17
Ingeniería Inversa / Tutorial Programando Parche en Visual Basic
« en: Marzo 22, 2010, 01:04:21 pm »
Hola a todos, muchismas gracias por leerme y en este caso vengo con un pequeño tutorial para programar un parche en Visual Basic 6.0

Primero que todo pedirle el permiso a mi amigo WindHack para usar su Crackme V6.0 para este tutorial

Empezamos abriendo el crackme con el ollydbg y despues de una serie de analizis que aprenderan en otros tutoriales ya tenemos el salto al chico bueno y malo, donde se hace la comparacion y verifica a donde va el salto y copiamos el codigo hexadecimal de este salto

Código: [Seleccionar]
E8F8FF7512BA186447
El cual es el 75 de este codigo que lo cambiaremos por un 74 o salto contrario



Ahora lo abrimos con algun editor hexadecimal o en su defecto con un debugger y analizamos y copiamos su offset en memoria el cual usaremos para hacer el parche

Código: [Seleccionar]
757BB a este le sumaremos 1 por que los offset empiezan desde 1 y no desde 0

asi que queda 757BC



Ahora con estos datos podemos abrir el Visual Basic 6.0 y crear un nuevo proyecto y lo haremos de la suiguente manera como muestra la imagen



Anexo Codigo Fuente
Código: [Seleccionar]
Private Sub Command1_Click()
Dim Val As Byte 'Declaramos una variable Val de tipo Byte'
Val = &H74 'Le asignamos el valor del nuevo byte que sera modificado antes 75 ahora 74 (El &H es para que VB reconosca como hexadecimal)'
Dim Ruta As String 'Declaramos una variable Ruta tipo String'
Ruta = App.Path + "\CrackMe v6.0.exe" 'Le asignamos la ruta del crackme al cual se le hará el parche'
Open Ruta For Binary Access Write As #1 'Abrimos el crackme binariamente con posibilidad de escritura'
Put #1, &H757BC, Val '"Put" sirve para grabar en archivos binario, el #1 es el numero del archivo'
'el "&H757BC" es el Offset en hexa, y "Val" contiene el valor del parche'
Close 'Cerramos el archivo y terminado'
MsgBox "El parche ha sido aplicado, OK!", vbInformation, "ParcheCompleto" 'Le colocamos un mensaje para saber si fue aplicado el parche'
End Sub

Verificamos el crackme que funcione correctamente



Ahora cerramos el crackme y aplicamos el parche ya programado



 Y revisamos si el parche ha funcionado correctamente verificando nuevamente



Bueno final de este pequeño tutorial espero sea de su agrado un saludo a todos me despido
CronuX
Feliz Cracking

18
Ingeniería Inversa / Tutorial Desempacando NEOLITE 2.0
« en: Marzo 21, 2010, 08:38:03 pm »
Hola aki esta otro pequeño tutorial para la coleccion saludos y espero que les llegue a ser util

Adjunto Crackme de la explicacion Crackme (Especial)

Primero abrimos el RDG y miramos con que esta empacado



Al abrir el archivo nos sale una nag molestosa que nos habla del packer y listo le damos en no



El crackme abierto lo observamos y analizamos



Ahora abrimos el OllyDBG el crakme y observamos el EP y un call mas abajo del salto muy sospechoso asi que vamos hasta el y entramos con F7

se diran por que sospechoso por que despues de correrlo con F8 el crackme inicia asi que hay esta la rutina del packer



Entramos en el push ebx y miramos el registro esp y vemos algun parecido a los metodos pushad / popad asi que intentaremos con el y le damos en follow in dump



seleccionamos los dos primeros bytes y le ponemos un brakpoint Hardware on access dword



al correrlo con F9 nos saldra la nag del packer la pasamos y listo llegamos al salto al EAX (JMP EAX) o salto al OEP



Estando en el OEP lo que haremos sera dumpear el ejecutable y listo estara desempacado



Para finalizar abrimos el crackme y no nos saldra el molestoso cartel del packer y corre perfectamente que en conclusión a sido desempacado



saludos y espero que les sea util un gran saludo

Bytes CronuX
Feliz Cracking

Seguire por aki ¬¬  8)

19
Ingeniería Inversa / Concepto de Ing. Inversa o Cracking
« en: Marzo 21, 2010, 07:29:17 pm »
Ingerieria Inversa

El objetivo de la ingeniería inversa es obtener información técnica a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado. Los productos más comunes que son sometidos a la ingeniería inversa son los programas de computadoras y los componentes electrónicos.

Este método es denominado ingeniería inversa porque avanza en dirección opuesta a las tareas habituales de ingeniería, que consisten en utilizar datos técnicos para elaborar un producto determinado. En general si el producto u otro material que fue sometido a la ingeniería inversa fue obtenido en forma apropiada, entonces el proceso es legítimo y legal. De la misma forma, pueden fabricarse y distribuirse, legalmente, los productos genericos creados apartir de la información obtenida de la ingeniería inversa, como es el caso de algunos proyectos de Software libre ampliamente conocidos.

El programa Samba es un claro ejemplo de ingeniería inversa, dado que permite a sistemas operativos UNIX compartir archivos con sistemas Microsoft Windows. El proyecto Samba tuvo que investigar información confidencial (no liberada al público en general por Microsoft) sobre los aspectos técnicos relacionado con el sistema de archivos Windows. Lo mismo realiza el proyecto WINE para el conjunto de API de Windows y OpenOffice.org con los formatos propios de Microsoft Office, o se hace para entender la estructura del sistema de archivos NTFS y así poder desarrollar drivers para la lectura-escritura del mismo (principalmente para sistemas basados en Linux).

La ingeniería inversa es un método de resolución. Aplicar ingeniería inversa a algo supone profundizar en el estudio de su funcionamiento, hasta el punto de que podemos llegar a entender, modificar, y mejorar dicho modo de funcionamiento.

Pero este término no sólo se aplica al software de protección. Así pues se considera ingeniería inversa también al estudio de todo tipo de elementos, por ejemplo equipos electrónicos, microcontroladores, etc..., siempre y cuando el resultado de dicho estudio repercuta en el entendimiento de su funcionamiento.

Se denomina ingeniería inversa del software a la actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código. La gran mayoría del software de pago incluye en su licencia una prohibición expresa de aplicar ingeniería inversa a su código, con el intento de evitar que se pueda modificar su código y que así los usuarios tengan que pagar si quieren usarlo.

Fuente Wikipedia



¿Que es un Cracker?

El término cracker (del inglés crack, romper) tiene varias acepciones.

  * Cracker es una persona que mediante ingeniería inversa realiza: seriales, keygens y cracks.

 * Un cracker es alguien que viola la seguridad de un sistema informático de forma similar a como lo haría un hacker, sólo que a diferencia de este último, el cracker realiza la intrusión con fines de beneficio personal o para hacer daño.
El término deriva de la expresión "criminal hacker", y fue creado alrededor de 1985 por contraposición al término hacker, en defensa de éstos últimos por el uso incorrecto del término.
   Se considera que la actividad de esta clase de cracker es dañina e ilegal.

 * También se denomina cracker a quien diseña o programa cracks informáticos, que sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original al que se aplican, sin que en absoluto pretenda ser dañino para el usuario del mismo.
No puede considerarse que la actividad de esta clase de cracker sea ilegal si ha obtenido el software o hardware legítimamente, aunque la distribución de los cracks pudiera serlo.

 * Asimismo, un cracker también es aquel que practica el cracking (acción de modificar el código fuente a un programa). Ésta actividad está prohibida a menos que el programa al que se le aplica sea de Software libre, y por lo general requiere muchos conocimientos sobre hacking.

Fuente Wikipedia



Debido a la confusión de terminos que he visto en cuanto al termino "crackear" he decidido
hacer unas pequeñas lineas para aclarar el termino que vagamente se maneja a nivel de usuario mas no a nivel de cracker, para eso definiré como se maneja el termino de las dos formas.


¿Que es crackear?

A nivel de usuario: Hay gente que llama crackear al simple manejo de un crack o de un patch, yo
no lo llamaria crackear ya que es simplemente usar un programa que permite tener cierto beneficio
de una aplicaciónes comerciales.

A nivel de cracker: Las cosas son diferentes ya que aqui se crackea(rompe) una protección ya sea
decifrando el algoritmo que no permite la utilización de un 100 % de una aplicación, o editando
instrucciones en el ejecutable.


¿Que es parchar?

A nivel de usuario: Parchar significa que vas a substituir el ejecutable original con uno previamente
editado con la finalidad de que burle el mismo su propia proteccion.

A nivel de cracker: Parchar significa editar, añadir o eliminar instrucciones de un ejecutable para
burlar o saltar la protección de un ejecutable.

20
INGENIERIA INVERSA BASICA I
"Aprediendo sobre los programas"

weno, me e tomado la libertad d mpezar con esta serie de tutos en los q dare algunas nociones sobre la ingenieria inversa orientandome a la explicacion de las herramientas q utilizaremos. Pero antes de empezar con un grupo de herramientas en especifico, me gustaria tratar de explicar d una forma clara y secilla, que sucede cuando un programa es compilado y que sucede cuando se ejecuta.

-¿Que sucede cuando un programa es compilado?

simple, el programa se traduce a un lenguaje universal para los procesadores. Un compilador es como un traductor el cual convierte lo que nosotros escribimos, en algo que el procesador pueda entender, osea ceros y unos xD, pero estos ceros y unos pueden ser representados en un sistema mas entendible, el hexadecimal, y este lo mas lejos que puede llegar a ser representado es a codificacion ansi, o unicode, es por esto que cuando abrimos un exe, dll o ocx con bloc de notas, vemos una serie de caracteres ksi incomprensible para algien q no sea un genio o q pueda reconocer algo mas q un "MZ" al inicio y una que otra cadena de texto, ya que lo q se ve es la codificacion ansi del codigo binario del programa, q el procesador si puede entender. Este principio es base para el cracking, ya que tenemos q tomar en cuenta que si un programa qiere ser ejecutado por el procesador, debe estar en un lenguaje universal para los procesadores, el binario, esto es lo q permite q exista el concepto de ingenieria inversa o cracking, ya q este conciste en modificar un programa a gusto, esto es posible ya q como todos los programas tienen un solo lenguaje. Uno de los requisitos para ser cracker es saber por lo menos a un nivel basico este lenguaje, el assembler, tambien llamado: codigo de maquina, asm, ensamblador, entre otros. Asi prueben cambiar una "A" por una "a" en un exe en bloc de notas, veran que cuando guardan y ejecutan, el programa ya no trabajara igual q el original, asi el truco esta en saber, exactamente donde y que modificar, para q aga lo que qeremos, para esto existen programas (herramientas) q nos ponen las cosas mas faciles, nos covierten el codigo ansi que vemos con el bloc de notas, en mnemonicos (comandos de ensamblador) aciendo el codigo interpretable para el cracker. Estos son los desensambladores los cuales estudiaremos mas adelante.

Un "editor hexadecimal" es un programa q nos permite ver un programa especifico a nivel hexa y en ansi, y ademas nos permite modificarlo, entre otras cosas.

-¿Que sucede cuando un programa es ejecutado?

weno basikmente cuando un programa se ejecuta, se dice que "se carga en memoria", esto qiere decir q el codigo del programa se guarda en la memoria ram. La memoria ram se secciona de manera q cuando un programa se carga, sus instrucciones son cargadas en un rango de memoria de un segmento especifico, por ejemplo de 004010000-0040232A en el segmento indicado, una instruccion por cada offset. Asi el procesador puede tener un acceso a estos datos para procesarlos.

Existen herramientas q nos permiten ejecutar un programa instruccion por instruccion, ademas de monitorear los valores almacenados en los registros y el desensamblado del programa cargado. Estos son los "depuradores" o "debuggers", algunos de estos tambien nos permiten modificar las instrucciones en ejecucion y editar el programa cargado. Algo q tenemos q tomar en cuenta es q muchos programas utilizan modulos, por esto cuando usemos programas para ver los procesos en ejecucion, asi como el pupe y el procdump, veremos q al seleccionar un proceso este tiene varios subprocesos de los cuales depende, stos subprocesos tambien son usados por otros programas.

El termino "volcar memoria" se refiere a coger un rango especifico de memoria y copiar el codigo contenido dentro de ese espacio en un nuevo archivo. Este proceso es usado mayormente cuando estamos frente a un programa empacado o protegido, y no tenemos el desempacador especifico. El problema cuando tenemos un programa empacado o protegido es q a la ora de desensamblarlo, nos encontraremos con una rutina de descompresion y no con el programa, esto aria q cualqier intento d crackeo sea inutil mientras no tengamos el codigo nativo del programa. Algunos tutos despues estudiaremos como "bajarnos" un programa de la memoria.

Algunos puntos importantes a resaltar en este 1er tuto son:
-Algo impresindible para aprender a crackear es tener conocimientos basicos de asm.
-Todos los progamas procesados por el procesador estan un mismo lenguaje, el lenguaje de maquina.
-Un "editor hexadecimal" es un programa q nos permite ver un programa especifico a nivel hexa y en ansi, y ademas nos permite modificarlo.
-Cuando un programa se ejecuta, el codigo de este se guarda en la memoria ram.
-La mayoria de los programas dependen de modulos.

Algunos consejos para los newbis:
-Te ira muxo mejor crackeando, si ya tienes experiencia programando.
-Los crackers deben tener una mente abierta a un mundo de posibilidades.
-La paciencia es un virtud de los crackers.
-La ingenieria inversa es como la medicina o como cualqier otra rama del hacking, si no te actualizas, te qedas obsoleto.

Saludos!

Páginas: [1] 2