elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 [105] 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 ... 143
1041  Programación / Ingeniería Inversa / Re: ayuda ollydbg en: 28 Septiembre 2007, 22:24 pm
Yo te voy a recomendar esta página, porque sé que la tienen bien actualizada con las últimas versiones de los plugins, y tienen bastantes:

http://www.ech2004.net/
1042  Programación / Ingeniería Inversa / Re: Crackme Skrackme 1 --Aqui esta ! -- en: 23 Septiembre 2007, 22:32 pm
No, el autor no debería hacer el tute de su crackme.
Él tiene toda la ventaja.

Tendría que hacerlo otro..
Bueno, a ver si lo intenta solucionar algún otro forero antes de hacer el tute..
Es bien sencillo y si alguien tiene dudas... ya se sabe...
Un saludo
1043  Programación / Ingeniería Inversa / Re: Crackme Skrackme 1 --Aqui esta ! -- en: 23 Septiembre 2007, 21:46 pm
Bueno, queda pendiente solamente de este crackme el tutorial...
¿Se anima alguien a hacerlo para que quede en elhacker?

El que lo haga que lo ponga en un nuevo post, que lo bloquearé para que quede todo bien organizado...

PD. Lo de eliminar la nag en VB, como dice pERICOTE es bien sencillo si se sabe un truquito...
1044  Programación / Ingeniería Inversa / Tutorial Crackme1 de Nitr0k1ller por Nanocity en: 19 Septiembre 2007, 23:37 pm
Este tutorial ha sido realizado por el forero Nanocity el 17 de agosto de 2007 como solución al Crackme1 de Nitr0k1ller. Descarga del crackme y más información en:
http://foro.elhacker.net/index.php/topic,180720.msg860578.html#msg860578


Tutorial Crackme1 de Nitr0k1ller por Nanocity

Bueno se trata del crackme de Nitr0k1ller, el tuto es muy simple y esta hecho con intención de que lo entienda el que este justo empezando con esto:

Lo primero que hacemos es ejecutar el crackme para mirarlo un poco por encima:
Vemos que nos pide un serial y que para poder introducirlo tenemos que activar un botón, además navegando por los menús vemos que parece ser que está escrito en VB.

Para asegurarnos corremos el PeiD y efectivamente nos dice que es así. Para activar el botón podemos usar algún descompilador de VB pero como no tengo ninguno por aquí usaremos el Olly que nos sirve igual.

Un método de hacerlo es buscar el bit que determina si la propiedad Enabled está o no activa, asique cargamos el Olly y buscamos la caption del botón en este caso "&Check" (Search for -> All referenced text strings, Search for text), la encontramos y pinchamos en el texto para que nos lleve a la zona de memoria donde está, caemos en una zona donde parece que se han cargado todos los objetos y dentro de las propiedades del botón. Ahí buscamos un solo bit que este a 0 (ya que el botón esta desactivado), y vemos que hay unos cuantos (con un poco de práctica se puede saber cuál es el correspodiente) así que probamos cambiando el primero (Modify byte) a un 1. Corremos el crackme y vemos que el boton sigue inactivo pero que ha cambiado de posición, hemos cambiado lo que no era... No pasa nada, reiniciamos el olly, probamos con el siguiente y apuntamos la dirección por si acertamos... Bien! Esta vez el botón esta activo, ya sabemos que bit debemos cambiar. Para hacerlo damos click derecho, Copy to executable->All modifications, aparece otra ventana, la cerramos y nos da la opción de guardar nuestro programa modificado, asique lo guardamos con otro nombre.

Ahora viene la segunda parte, sacar el serial. Cargamos nuestro crackme modificado, sabemos que esta en VB, en esos casos es interesante ver en el olly las funciones que se han usado (Crtl+N), ahi vemos que hay funciones de concatenación de strings y sobre todo una de comparación (vbaVarTstEq), colocamos un breakpoint cada vez que se llame a esa función y ejecutamos otra vez el crackme. Introducimos un serial cualquiera y vemos donde para el Olly, es posible que ahí se haga la comparación entre nuestro serial y el válido asique comprobamos que se ha hecho algunas instrucciones antes. Vemos que hay muchas funciones para ver la fecha del sistema, quizá sea interesante. Colocamos con F2 algún breakpoint después de esas instrucciones y volvemos a ejecutar para tracear qué se hace con esa fecha. Vamos avanzando con F8 y nos damos cuenta de que justo antes de la comparación hace un PUSH EAX, traceamos en la pila EAX y vemos una cadena sospechosa y nuestro serial un poco más arriba. Además si nos fijamos esa cadena es el mes, el año, el dia, guión, la hora y los minutos en un formato concreto. Todo esto es suficiente para hacernos pensar que puede ser un serial válido asique lo probamos, teniendo cuidado de introducir bien el minuto y no estar demasiado lentos. Y sí, funciona! ya hemos crackeado el programa Cheesy.

Espero que a alguie le sirva de algo.

Un saludo.
Nanocity
1045  Programación / Ingeniería Inversa / Re: Crackme Skrackme 1 --Aqui esta ! -- en: 19 Septiembre 2007, 23:21 pm
... me gustaria que me dieseis vuestra opinión si os ha costado algo mas que el anterior, ya que he intentado hacerlo algo mas complejo, ...

Pienso que la dificultad está en la nag (para los más newbies) y activar el botón. Lo que se refiere a la ID/PASS pienso que sigue siendo muy sencillo. Por eso le he puesto dificultad 2.


Pienso que lo más difícil para cualquier Newbie es eliminar la nag. Si alguien después de darle mil vueltas no consigue eliminarla, que lo pida y le pasaré un tute con un ejemplo de un programa.

Para activar el botón en Crackmes / Tutoriales hay un enlace con un tutorial que hice para modificar programas, en donde pongo un ejemplo de cómo se hace.
1046  Programación / Ingeniería Inversa / Re: Crackme Skrackme 1 --Aqui esta ! -- en: 19 Septiembre 2007, 21:35 pm
Haremos una cosa...

Cuando alguien resuelva un crackme, que le envíe un mensaje privado al autor y éste como hizo en el anterior, si es correcto pondrá el nombre de los que lo han solucionado al inicio del post.

Después de un tiempo, uno de los que lo han solucionado podrá hacer el tutorial correspondiente que quedará en elhacker. Pondré un enlace a ese tutorial, y lo bloquearé para qu no se pueda modificar.
Todos estos crackmes tendrán su enlace aquí:
http://foro.elhacker.net/index.php/topic,180720.0.html

Así queda todo bien ordenado...
Sugerencias?

Un saludo
karmany
1047  Programación / Ingeniería Inversa / Re: Taller de Cracking desde 0 en: 18 Septiembre 2007, 22:05 pm
Del Código Máquina al Lenguaje Ensamblador

Realmente, ¿qué es lo que entiende un "ordenador"?
Como se ha dicho millones de veces: 0 (ceros) y  1 (unos) --> (bits)

El código o lenguaje máquina consta de cadenas de estos 0 y 1, que el microprocesador entiende directamente. Una y sólo una secuencia de estos 0 y 1 realizará una determinada operación.

Programar directamente en este sistema binario, como se puede uno imaginar, puede resultar muy muy duro y es muy fácil equivocarse.
Por este motivo, para facilitar la escritura de programas, podemos ayudarnos del lenguaje ensamblador (lenguaje de bajo nivel y el que vamos a conocer aquí.), el cual utiliza nemotécnicos (normalmente abreviaturas de palabras en inglés) que se utilizan para definir una determinada instrucción.

Por ejemplo:
ADD A, B. Se suma a A el valor de B y el resultado se guardaría en  (A).

Para los que recién empiezan, imaginemos estos valores de A y B:
A=3
B=2
por lo tanto, tras ADD A, B, nos quedaría:
A=5
B=2


En este punto, alguien podrá pensar:
-Bueno, escribir un programa en lenguaje ensamblador no es que sea tarea fácil, además existen muchos otros lenguajes de alto nivel que nos pueden facilitar enormemente las cosas a la hora de programar... entonces...
¿Por qué en ingeniería inversa hay que aprender lenguaje ensamblador?

Si abrieramos cualquier programa y echáramos una ojeada al código, observaríamos el lenguaje máquina, independientemente del lenguaje de programación con que haya sido programado (compilado). Es lógico, ya que como se ha explicado, es lo que el microprocesador entiende.
Sin embargo, entender esas secuencias de 0 y 1 que hacen realizar determinadas operaciones, es verdaderamente complicado, por este motivo existen muchos programas que a partir del lenguaje máquina obtienen el lenguaje ensamblador, que ya es mucho más entendible al ser humano. Estos programas se denominan desensambladores.

Entendido todo esto, vamos a dar los primeros pequeños pasos en ensamblador, del inglés Assembly.
1048  Programación / Ingeniería Inversa / Tutorial Crackme1 de frankener1986 por karmany en: 16 Septiembre 2007, 15:57 pm
Este tutorial ha sido realizado por karmany el 15 de julio de 2006 como solución al crackme1 de frankener1986. Descarga del crackme y más información en:
http://foro.elhacker.net/index.php/topic,180720.msg860578.html#msg860578


TUTE ‘Crackme1 de frankener1986’ por karmany

Programas utilizados:
   -OllyDBG
   -Numega SmartCheck 6.03.
   -Ultraedit


INTRODUCCIÓN
Al ejecutar el Crackme1 de frankener1986, vemos la siguiente interfaz:


Es decir, se trata de activar el botón Comprobar Serial, introducir un nombre, un serial y pulsar Comprobar Serial.
Quiero hacer algo sencillo y no es mi intención extenderme mucho… Si algo no se entiende, preguntarme en el foro.

QUITAR QUE RECONOZCA AL OLLY
Cuando abrí por primera vez el crackme con el Olly, apareció un messagebox de título: Je, je y que decía buen intento..
Analizando un poco el principio del código se ve claramente que el salto se produce en:
00402E72 --> JE Crackme1.00402F4B
Si salta no reconoce al olly, entonces le quito la comparación y le pongo un salto definitivo:
00402E72 --> JMP Crackme1.00402F4B
00402E77 --> NOP
Y solucionado lo del Olly.

ACTIVAR EL BOTÓN
En VB podemos desactivar el botón de dos formas: una por defecto al diseñar nuestra interfaz, en las propiedades y la otra forma es utilizando código al ejecutar el programa.
Cuando es por defecto, se puede buscar con el Olly por ej. el nombre del botón y unas líneas más abajo uno de los bits 00 se pone a 01 y el botón aparecerá activado: enabled true. Sé que esto así no se entiende, pero hacer lo que hice yo: hice un programa con un botón activado y otro con el botón desactivado y véis el código y modificáis.

En este crackme modifiqué todos los botones que vi (que hay más de uno, no sé si para despistar) y los puse activados. Pero no resultó, así que decidí abrir el programa Numega SmartCheck 6.03. (A partir de aquí NSC).
Abres el crackme con el NSC, lo ejecutas, pulsas en el + del hola_Load y se observa esto:


XDDDDDDDD.Enabled <- False (Boolean)
AQUÍ ESTÁ.. aquí en el Load del form es donde desactiva el botón.. y se ve también que pone “Comprobar Serial” un poco antes.

A la derecha podemos ver: CRACKME1ORIGINAL.EXE!000031F9
Lo de CRACKME1ORIGINAL se lo puse yo.
Bueno lo que interesa es el 31F9. Le sumamos el 400000 y queda:
4031F9 y esta es la dirección a la que voy a ir en el Olly:


Subo un poco para ver los PUSH (pone en la pila los valores) y se ve rápidamente cómo en:
004031E7 --> PUSH 0
Lo sustituyo por PUSH 1 y arreglado lo del botón..

Ahora lo que hice es crear un nuevo crackme donde no reconociera al Olly y donde estuviera activado el botón, para hacerlo todo más cómodamente, como he explicado en los dos apartados anteriores.. Utilizando para esto último el Ultraedit.

Crackearlo es fácil, pues buscando referencias llegamos rápidamente a “Enhorabuena, lo conseguiste etc…”. Y de ahí solamente hay que mirar los cuatro saltos que hace el programa y modificarlos…

DESCIFRANDO LA ENCRIPTACIÓN
No lo he dicho antes pero con el NSC, se ven perfectamente las cadenas encriptadas…así que por este motivo decidí indagar desde el principio con el Olly…

Ejecuté el programa con el Olly, puse
nombre: abcd
serial: karmany
y pulsé en el botón “Comprobar serial” y caí aquí:
00403400
Analicé un poco el código y lo primero que encontré que me llamara la atención fue este código:


00403489 --> PUSH EAX
va a calcular el len de EAX, que es “abcd”

00403492 --> CMP EAX, 3
compara el len con 3

00403495 --> SETG CL
Activa un bit si es mayor..

004034B1 --> JE SHORT Crackme1.004034C5
Salta si el len del nombre es igual o menor que 3.

Es decir que el nombre tiene que tener más de 3 caracteres, y que la cifrado se hace en:
004034B7 --> CALL Crackme1.004038AO
voy a seguir esta CALL.

Me manda a dos subrutinas más y al final a una tercera que es donde lo hace todo:
004039E0 --> PUSH EBP
Este es el comienzo de la tercera subrutina..
Analizando el código llego a esto:


Donde se ve claramente un bucle.
SI toma el valor del len del nombre(lo hace un poco más arriba) y EAX=1. Cuando SI sea =0 saltará..
Este bucle lo que hace es poner el nombre al revés, es decir, abcd lo pone: dcba.
Lo puedes ver poniendo por ej. un BP en 00403BD9 y mira en EAX.

Después de esto hay una nueva llamada. Yo he entrado en ella y la he investigado. Esta llamada se repite también más abajo.
Después de probar también con varios nombres, llegué a la conclusión de que esta CALL lo que hace es codificar una cadena sumándole al valor hex. de un carácter un valor constante, y poner mediante otra call dentro de esta, el primero en mayúsculas, segundo minúsculas.. etc…
En el ej. que he puesto más abajo se entiende todo esto perfectamente.

Esta llamada es esta:
00403C1C --> CALL Crackme1.00403510
Puedes observar el resultado de esta primera CALL poniendo un BP en 00403C27 y mirando en EAX.
La cadena que utiliza es el nombre, al revés.
La constante es el len del nombre.
Me he fijado que aparecen dos cadenas dentro de esta CALL:
abcd
dcba
Después de descifrar todo ya me dí cuenta que la primera cadena abcd se le calcula el len y es la constante. La segunda cadena dcba es la que se utiliza para codificar.

Si el nombre es abcd el resultado que verás en EAX será: HgFe


Razonemos esto hasta aquí:
-Nombre: abcd
1º Le da la vuelta: dcba
2º Lo codifica sumándole el len a cada carácter:
d = 64 hex. + 4(len) = 68 que corresponde a --> h
c = 63 hex. + 4 = 67 --> g
b = 62 hex. + 4 = 66 --> f
a = 61 hex. + 4 = 65 --> e

3º Pone mayúsculas, minúsculas...
Resultado = HgFe

Continuemos…
Luego en 00403C39 Me despistó un montón el “abc”. No tenía ni idea de para qué podría servir…

Y después viene otra vez la CALL Crackme1.00403510
Esta vez la constante que le suma es 3, no como antes len del nombre.
Y la cadena que utiliza es el nombre.
Me he fijado también esta vez que utiliza estas dos cadenas:
abc
abcd
Aquí me extrañé al comprobar que aparecía “abc”.
(Como comento al final, y en la misma call de arriba, tras descifrar todo, supe que a la cadena abc se le calcula el len y es la constante, y la cadena abcd es la que se utiliza para codificar)

El resultado de esta segunda codificación se puede ver poniendo un BP en 00403CE5.
El resultado es DeFg.
Razonándolo igualmente:
-Nombre: abcd
1º Codifica sumándole 3.
    abcd --> defg
2º Pone mayúsculas, minúsculas.
    defg --> DeFg

Hasta aquí un resumen de lo que logré ver:
-Nombre: abcd
-Dos codificaciones: HgFe, DeFg
-Una cadena: abc

A partir de aquí, aparecen 4 saltos que nos mandan fuera del mensaje: “Enhorabuena, lo conseguiste…”
Entonces se trata únicamente de descifrar qué quieren decir esos saltos y así lograremos saber cómo codifica el serial…

Primer salto:
00403CE4 --> JNZ Crackme1.00403E59

Se ve claramente que en 00403C76 pone en pila el valor EAX, para calcularle el len.
En EAX se ve HgFe. El programa coge 4.
Después pone este 4 en memoria y seguidamente calcula el len a la cadena: DeFg. También 4.

Luego muy atentos, porque en:
00403C9A --> MOV DX, WORD PTR SS…
Lo que hace es poner en DX el valor del primer len que hemos cogido...el de HgFe que puso en memoria.
Es decir quedaría en DX el primer len y en AX el segundo len. Se entiende no?
Después en:
00403CA1 --> ADD DX,AX
Pone el DX la suma de los dos y en:
00403CAD --> ADD DX, 1
Le suma 1 a DX. El resultado de DX es por lo tanto: 9.

En este punto es donde me quedé un poco trabado.. Porque no sabía qué es lo que compara.. Sí, compara DX pero, con qué??
DX es el doble de caracteres del nombre más uno..
El problema es que no sé exactamente qué hace vbalenvar.
Aquí, frankener1986 sin quererlo me resolvió la duda, pero quise buscar la lógica.
Lo único lógico que se puede ocurrir en este momento es que el serial tenga de len=DX.
Es decir para abcd tendrá 9.. Así que volví a cambiar mi serial por: karmany12 y
Perfecto.. ya no salta.. eso era.

Segundo salto:
00403D84 JNZ Crackme1.00403E59
A primera vista se ve que utiliza la función Mid. A ver con qué…!!
Si haces un BP en la dirección 00403D1A, podrás observar que esa función Mid, lo que hace es coger los len(nombre) primeros caracteres del serial..
Ej. Nombre: abcd
      Serial:   karmany12
Cogerá : “karm”

La segunda función Mid, coge los últimos len(nombre) del serial. En este caso, lo puedes ver poniendo un BP en 0043D66. El resultado es:
“ny12”

Después en 00403D78 va a hacer una comparación de String.
Compara EAX con ECX.
Si pones un BP en 0043D78, verás que las cadenas que va a comparar son:
EAX --> “karm”
ECX --> “HgFe”
Es decir, va a comparar los cuatro primeros caracteres del serial con la primera codificación que hizo.. Eso quiere decir que mi serial karmany12 no es correcto.. Reinicio el programa pero esta vez pongo:
Nombre: abcd
Serial:    HgFeany12

Compruebo y veo que no salta!! :-). Vamos bien..

Tercer salto:
00403D96 --> JNZ Crackme1.00403E59

Muy sencillo igual.. La comparación la va a hacer entre los dos valores que ponemos en la pila: PUSH EDX y PUSH EAX.
Si ponemos un BP en 00403D92, podemos ver estos valores en la pila:
DeFg
ny12
Es decir, compara los últimos len(nombre) del serial con la segunda codificación..
Pues voy a probar de nuevo:
Nombre: abcd
Serial:    HgFeaDeFg

Pruebo y… no salta.. sigue la cosa bien, y ya solo queda un salto..

Cuarto y último salto:
Bueno, viendo el resultado del serial y viendo que el len del serial es doble más uno, lo único que se me ocurre es que este salto es para averiguar el carácter que va en medio del serial..
Repasé una y mil veces el código intentando ver  algo que me diera alguna solución, y no encontré nada… ya sólo me quedaba este último paso que es lo que puse en el foro que me quedaba…

Así que, como no sabía qué hacer hice un programa en VB y comparé un carácter utilizando la función Mid..
El programa se basa en un formulario, con un Textbox y un botón. Al pulsar el botón puse este código:

Private Sub Command1_Click()
Dim a As String
a = Text1.Text
a = Mid(a, 2, 1)
If a = "u" Then Stop
End Sub


Sencillo, muy sencillo. Escribo algo en el textbox y si el segundo carácter es una u, se detiene con un stop.
Me fui al Olly y empecé a ver dónde comparaba y dónde aparecía la “u” y por supuesto que la encontré..
Aparece cuando el programa intenta leer un valor en la memoria del programa..
Por ej. cuando pone en la pila el valor:
PUSH Proyecto1.004017D8

Para confirmarlo dumpeé la dirección 004017D8 y modifiqué la u por otra letra y el resultado fue perfecto.

Volví al crackme, e intenté ahora sí buscar dónde lee algún valor en su memoria y el único que hay es este:
00403DDF --> MOV DWORD PTR SS:[EBP-AC], Crackme1.00402930
Dumpeé esa dirección (00402930) y encontré: 2D que corresponde al carácter “-“.
Por supuesto lo modifiqué para comprobarlo y fue perfecto..


Con todo esto que acabo de explicar ahora ya es muy fácil hacer el keygen..

PD. Volviendo a leer mi tute, me dije… y qué era esa cadena que había por ahí (abc)??
Viendo la solución parece que no valiera para nada!! Como expliqué más arriba en la segunda codificación la hace sumando 3 que es el len de abc!! Me lo confirmó frankener1986.

Espero que a alguien le sirva de ayuda todo esto…ya que yo lo poco que sé lo he aprendido de leer tutoriales de otras personas..y por supuesto de poner en práctica la lógica..

Un saludo..
1049  Programación / Ingeniería Inversa / Crackmes / Tutoriales en: 16 Septiembre 2007, 13:33 pm
Crackmes / Tutoriales

En este post se irán añadiendo ordenadamente los enlaces a los distintos crackmes o tutoriales que propongan los usuarios de elhacker.
Los crackmes constarán de tres enlaces: Descarga del crackme,  post original y tutorial con la solución.
Si fallara la descarga, me he guardado una copia de todos los crackmes de este post. No dudar en pedirme cualquiera, que lo volveré a subir.

ROJO: Crackme todavía sin resolver
AMARILLO: Crackme resuelto por algún forero pero todavía pendiente de realizar el tutorial.
VERDE: Crackme resuelto con tutorial incluido.


TUTORIAL: modificar programas
Autor: karmany
Tutorial bastante completo donde se explica principalmente cómo modificar los recursos de un programa. Si estás buscando cómo modificar la interfaz, menús, cadenas de texto, habilitar algún control o modificar sus propiedades y un largo etc.., debes visitar este enlace.
Hay bastantes ejemplos y en distintos lenguajes de programación.
http://foro.elhacker.net/index.php/topic,134513.0.html



CRACKME:  Crackme1 de frankener1986
Autor: frankener1986
Nombre: Crackme1
Fecha: 12 de julio de 2006
Tamaño: 28,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:
    1º parchearlo para encender el boton
    2º encontrar la serial para un nombre, o ir al paso tres directamente xDD
    3º hacer un keygen ^^
Dificultad: 3 (1-10)
Descarga del crackme:
De momento lo descargaremos de aquí, es el crackme1.zip:
http://ricardonarvaja.info/WEB/CONCURSOS%202004-2006/CONCURSO%2095/CONCURSO%2095.rar
Post Original:
http://foro.elhacker.net/index.php/topic,131302.0.html
Tutorial con la solución:
Tutorial hecho por karmany el 15 de julio de 2006
http://foro.elhacker.net/index.php/topic,180728.0.html




CRACKME:  Crackme1 por Nitr0k1ller
Autor: Nitr0k1ller
Nombre: Crackme1
Fecha: 18 de agosto de 2007
Tamaño: 52,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:
     1- Activar un botón
     2- Encontrar un serial válido.
Dificultad: 2 (1-10).
Descarga del crackme:
https://mega.nz/#!HtBiAbqa!eReYrnW3UhG9J2MXtsREEu_wRwjYGdsV7qy7wwCpbJc
Contraseña del archivo zip: elhacker.net
Post Original:
http://foro.elhacker.net/index.php/topic,174863.0.html
(5ª respuesta)
Tutorial con la solución:
Tutorial realizado por Nanocity el 17 de agosto de 2007
http://foro.elhacker.net/index.php/topic,181144.0.html
Tutorial realizado por .:UND3R:.
http://foro.elhacker.net/ingenieria_inversa/tutorialcrackme1_por_nitr0k1ller-t337915.0.html





CRACKME:  Renascense de skapunky
Autor: skapunky
Nombre: Renascense 1
Fecha: 13 de septiembre de 2007
Tamaño: 80,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:
     Encontrar un ID/pass válidos
Dificultad: 1 (1-10) Para todo Newbie
Descarga del crackme:
https://mega.nz/#!L1AHVTjI!dMtiEw8cQJZSDVqIOouBqMcbZXthyGZ4GBIo2353tmw
Contraseña del archivo zip: elhacker.net

http://www.crackmes.de/users/skapunky/renascense_crackme/
Post Original:
http://foro.elhacker.net/index.php/topic,180354.0.html
Tutorial con la solución:
Tutorial realizado el día 20 de septiembre de 2007 por el mismo autor. (Por esta vez lo vamos a permitir...)
http://foro.elhacker.net/index.php/topic,181151.msg862539.html#msg862539




CRACKME:  Skrackme 1 de skapunky
Autor: skapunky
Nombre: Skrackme 1
Fecha: 18 de septiembre de 2007
Tamaño: 32,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:
     1- Eliminar una nag
     2- Activar un botón
     3- Encontrar un ID/pass válidos
Dificultad: 2 (1-10). La mayor dificultad es eliminar la nag. Cualquier duda, preguntar en el post original.
Descarga del crackme:
http://www.megaupload.com/?d=TECBE0N9
Post Original:
http://foro.elhacker.net/index.php/topic,180834.0.html
Tutorial con la solución:
Tutorial realizado por .:UND3R:.
http://foro.elhacker.net/ingenieria_inversa/tutorial_skrackme1-t335509.0.html





CRACKME:  Crack Me If You Can by Karman
TUTORIAL PENDIENTE          -          TUTORIAL PENDIENTE          -          TUTORIAL PENDIENTE          -          TUTORIAL PENDIENTE          -          TUTORIAL PENDIENTE          -          TUTORIAL PENDIENTEAutor: Karman
Nombre: Crack Me If You Can
Fecha: 24 de septiembre de 2007
Tamaño: 32,3 KB
Compilador y/o Packer: Dev-C++
Objetivos:
     Usuario-clave a partir de un serial
Dificultad: 3/4 (1-10) - Crackme curioso, no para recién iniciados, en donde para encontrar la clave correcta hay que analizar antes el código. Como todo... tiene su truco.
Descarga del crackme:
http://h1.ripway.com/karman/Files/crackme.rar
Post Original:
http://foro.elhacker.net/index.php/topic,181724.0.html
Tutorial con la solución:
Pendiente de hacer el tutorial.





CRACKME:  CraCKmE - Molesto por <~>FeRcHu<~>
Autor: <~>FeRcHu<~>
Nombre: CraCKmE - Molesto
Fecha: 04 de octubre de 2007
Tamaño: 20 KB
Compilador y/o Packer: Visual Basic
Objetivos:
     1º Conseguir user-pass (nombre-contraseña)
Dificultad: 2/3 (1-10)
Descarga del crackme:
http://www.gigasize.com/get.php?d=p8dg3hk0bjb
Post Original:
http://foro.elhacker.net/index.php/topic,182810.0.html
Tutorial con la solución:
El miniTutorial ha sido realizado por x4uth el 07 de octubre de 2007, está en el mismo post:
http://foro.elhacker.net/index.php/topic,182810.0.html





CRACKME:  CrackMe04 by x4uth
Autor: x4uth
Nombre: CrackMe04
Fecha: 08 de octubre de 2007
Tamaño: 284 KB
Compilador y/o Packer: Visual C++ 2005
Objetivos:
     Conseguir una combinación user/keycode válida
Dificultad: 4 (1-10) Un buen crackme para usuarios avanzados.
Descarga del crackme:
http://upload2.net/page/download/79CCTbxsbWBB6q1/CrackMe04.rar.html
Post Original:
http://foro.elhacker.net/index.php/topic,183308.0.html
Tutorial con la solución:
Tutorial realizado por karmany el 10 de noviembre de 2007.
http://foro.elhacker.net/index.php/topic,187779.0.html





CRACKME:       Crackmes 1 y 2

Autor: ^STR|DER^
Nombre: CrackMe#1 y CrackME#2
Fecha: 18 de octubre de 2007 (23 de mayo de 2006 en el enlace)
Tamaño: 9,50 KB y 12,0 KB
Compilador y/o Packer: Visual Basic 5
Objetivos:
     1.- Introducir una Contraseña de acceso
     2.- Número Clave - Contraseña de acceso
Dificultad:
     1.- 0 (1-10) Es tan sencillo que todo el mundo tendría que echarle un vistazo.
     2.- 1/2 (1-10) Es muy sencillo pero trabaja con variables Doubles que hacen utilizar los registros ST0-ST7 y puede despistar un poco.
Descarga de los 2 crackmes:
http://s7r1d3r.blogcindario.com/2006/05/00008-crackme.html
Post Original:
http://foro.elhacker.net/index.php/topic,184596.0.html
Tutorial con la solución:
Crackme#1: Solucionado por sempus y Vingilot el día 23-24 de diciembre de 2007, en el mismo post original.
Crackme#2: Solucionado por JSHN el día 17 de octubre de 2008:
http://foro.elhacker.net/ingenieria_inversa/resuelto_el_crackme2_de_strder-t231760.0.html;msg1149370#new




TUTORIAL: Mis trece tutoriales por AmeRiK@nO
Autor: AmeRiK@nO
Trece interesantes tutoriales, que explican de forma clara y sencilla cómo el autor ha conseguido vencer las limitaciones de varios programas.
PostOriginal:
http://foro.elhacker.net/index.php/topic,186599.0.html
Descarga (doc):
http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/901-1000/942-Trece%20Tutoriales_AmeRiK@nO_(.doc).rar



1050  Programación / Ingeniería Inversa / Re: Codigo asm, ensambla pero falla. en: 15 Septiembre 2007, 13:44 pm
Claro, porque estás intentando acceder a una librería que tu programa todavía no ha cargado con Import Table. Me imagino que estás intentando acceder a MessageBoxA en user32.dll..

Carga primero la librería user32.dll.

PD. Por cierto, es posible que si pones una dirección fija (7E3D058A) sólo funcione bien en tu ordenador.

Editado después:
Y llamas mal a la API: Sólo con que pongas Call EAX ya compilará bien.

Éste código te funcionará bien:
Código:
.386
.model flat, stdcall



include kernel32.inc
includelib kernel32.lib

.stack
.data
txt db "owned you", 0
cap db "p**a", 0
librery db "user32.dll", 0

.code
Inicio:
          invoke LoadLibrary, addr librery
  push 00h
          push offset cap
          push offset txt
          push 00h
          mov eax, 7e3d058ah
          call eax
          pop eax
          pop ebx
          leave
          ret
         
end Inicio
Páginas: 1 ... 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 [105] 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 ... 143
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines