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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  El Crack Que faltaba : Ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: El Crack Que faltaba : Ayuda  (Leído 4,134 veces)
N0mada

Desconectado Desconectado

Mensajes: 19



Ver Perfil
El Crack Que faltaba : Ayuda
« en: 17 Febrero 2012, 19:39 pm »

Hola a todos,

he estado en la web de berypdf (con V) y por internet hay millones de serial keygen etc de sus productos, el caso que de uno en concreto,  ( doc 2 any) no; están de casi todos menos de ese.

Lo he bajado y veo que a diferencia del resto es que la mayoria son instalables de win32 este es un programa de consola sin GUI, tiene alguna dll y una subcarpeta con .jar de java.

Para intentar registrar le pones -$ 1234clave5678
pero si no es la correcta sin más te saca la ayuda por pantalla y ya está, no hay alert no hay más señal visible...
Cómo hago para llegar a la zona caliente ?
Que técnicas hay para estos casos, que no se por dónde tirar ...  >:(

Gracias !
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #1 en: 17 Febrero 2012, 20:19 pm »

por aquí;

<http://ricardonarvaja.info/WEB/OTROS/JAVA>
DPIIjava14.pdf
DPIIjava10.pdf
DPIIjava19.pdf
DPIIjava4.pdf.7z
DPIIjava2.pdf.7z
DPIIjava5.pdf
DPIIjava18.pdf
DPIIjava13.pdf
DPIIjava12.pdf
DPIIjava3.pdf.7z
DPIIjava9.pdf
DPIIjava7.pdf
DPIIjava17.pdf
DPIIjava6.pdf
CovertJava.rar
DPIIjava1.pdf.7z
DPIIjava16.pdf
DPIIjava8.pdf
DPIIjava15.pdf

Pone en el buscador:

http://ricardonarvaja.info/WEB/buscador.php

java



Una aplicación compilada en java es un conjuto de bytecodes, esto es muy diferente a un ejecutable PE, por lo tanto solo puede ser interpretado/entendido por la VM de java (JVM).

De todas maneras creo que debes empezar por aquí:
http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo-t345798.0.html


Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
w0nt0n

Desconectado Desconectado

Mensajes: 124



Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #2 en: 17 Febrero 2012, 20:54 pm »

Buenas.

Le he echado un ojo al programa y por lo que parece está programado en Visual C++ (peid). La parte caliente del programa es muy sencilla de encontrar, pero deberías pegarte un poco con él. Traceando "a mano" puedes llegar fácilmente y si no, te dejo una pista, que no es muy reveladora y que te lleva por un camino un poco más farragoso (a parte de quitarle toda la gracia).

Pista: Strings

Saludos!
En línea

No quisiera parecer marica, pero los unicornios son una *****.
N0mada

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #3 en: 18 Febrero 2012, 13:48 pm »

Buenas a todos,

a ver que me siento un poco como que tengo el pez pero sigo sin saber pescar.

He buscado "all references text strings" lo que el programa dice al convertir un archivo:
ASCII "You have %d time to evaluate this product, you may purchase a full version from...

Aparece esa y otra: ASCII "Thank you for choosing our product."

Voy a esa línea y veo:
Código:
0041BAB2  |. 68 D8316500    PUSH doc2anyO.006531D8                   ;  ASCII "Thank you for choosing our product."
y justo encima:
Código:
0041BA92  |. E8 C9E0FFFF    CALL doc2anyO.00419B60
0041BA97  |. 83C4 04        ADD ESP,4
0041BA9A  |. 85C0           TEST EAX,EAX
0041BA9C     74 21          JE SHORT doc2anyO.0041BABF
0041BA9E  |. 68 48E73201    PUSH doc2anyO.0132E748
0041BAA3  |. C705 50D83201 >MOV DWORD PTR DS:[132D850],1
0041BAAD  |. E8 DEF8FFFF    CALL doc2anyO.0041B390
el call de BAAD (irónicamente,jeje) escribe el valor correcto de la clave de registro.
(Por cierto WriteProfileString lo escribe en el win.ini y no en el registro! Win7 ya no cuenta con win.ini ?¿?¿)

Si subimos está el JE y el TEST y antes el CALL doc2anyO.00419B60
Si NOPeo ese 74 21 ya no me salta la parte buena y todo funciona bien, me quita hasta la marca de agua de publicidad.

Y aquí empiezan mis dudas:
a CALL doc2anyO.00419B60 se le llama: Local calls from 0041BA92, 0041C7AF
¿la segunda llamada para qué es? Aparentemente no afecta pero no me fío...
Otra cosa:
es mejor que NOPear hacer que la rutina de CALL doc2anyO.00419B60
haga MOV EAX,1
RETN

Si no lo he entendido mal el TEST EAX, EAX hace un AND pero no altera más que los flags, léase comprueba si EAX es 0.
JE salta si FZ = 0
así que si pongo un 1 en EAX con el TEST, FZ se queda a 0 y JE no salta.
es correcto ?

Ale voy a seguir, si alguien quiere perder un rato explicándome alguna de estas cosas se lo agradeceré.

Voy a buscarme otro programa para volver a tropezar y tostaros a dudas   :rolleyes:

Saludos !!

En línea

N0mada

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #4 en: 18 Febrero 2012, 14:04 pm »

Perdón por la errata,
donde dice:
JE salta si FZ = 0
quería decir
JE salta si el operando es CERO ( y por tanto FZ = 1)
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: El Crack Que faltaba : Ayuda
« Respuesta #5 en: 18 Febrero 2012, 16:21 pm »

Citar
Y aquí empiezan mis dudas:
a CALL doc2anyO.00419B60 se le llama: Local calls from 0041BA92, 0041C7AF
¿la segunda llamada para qué es? Aparentemente no afecta pero no me fío...
Otra cosa:
es mejor que NOPear hacer que la rutina de CALL doc2anyO.00419B60
haga MOV EAX,1
RETN

Para saber que función realiza cada call debes tracearlas y entenderlas.
En cuanto a entre nopear y modificar el return de la call siempre es más conveniente modificar de menor manera posible el código (evita posibles excepciones).


Citar
Si no lo he entendido mal el TEST EAX, EAX hace un AND pero no altera más que los flags, léase comprueba si EAX es 0.
JE salta si FZ = 0
así que si pongo un 1 en EAX con el TEST, FZ se queda a 0 y JE no salta.
es correcto ?

TEST realiza un AND si modificar el operando de destino. Por lo cual solo afecta a las banderas de registros (FLAGS).

Operación AND:
V V = V
V F =  F  ; Se ignora al ser tanto el operando de origen y de destino iguales
F F =  F

o

1 1 = 1
1 0 = 0 ; Se ignora al ser tanto el operando de origen y de destino iguales
0 0 = 0


Es decir que la única manera de activar la bandera cero (FZ) a través de la instrucción nemónica TEST es cuando EAX = 0

0 0 = 0

En caso de que sea 1 FZ=0

No logro entender la parte del código que me has enviado (lo entendería mejor con el programa completo debuggeado) pero si la solución general es invertir el némonico de instrucción de salto condicional JNE por JE o JE por JNE

Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
N0mada

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #6 en: 19 Febrero 2012, 21:58 pm »

Gracias por la info .:UND3R:.

Pues el código simplemente pretende hacer que una función a la que se llama salga siempre con 1.
Así el JE no salta porque FZ = 0

Lo de cambiar de JE a JNE no me parece opción porque entonces la clave correcta NO te registraría, y lo veo un poco chapuzilla.

Yo lo que menos me convence de mi forma de encontrar la zona caliente es lo de buscar por las cadenas de texto.
Cómo se puede hacer eso por ejemplo suponiendo que no tenemos esas cadenas de texto tan a mano?. Meter una clave 123456789 y parar la ejecución cuando el EAX tenga ese valor (123456789) es posible ?

Respecto a lo de tener el programa entero para debuguear incluyo el link (no lo puse al principio porque no se si se puede por las normas...) he usado el DOC to Any Converter Command Line
www.verydoc.com/doc-to-any.html

Por cierto w0nt0n  si la String-pista ;) es el camino farragoso, cuál era la otra aproximación ?

Saludos !


En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: El Crack Que faltaba : Ayuda
« Respuesta #7 en: 20 Febrero 2012, 13:10 pm »

Claro si se invierte por lógica los serial correctos serán considerados como incorrectos, para permitir cualquiera la solución sería OR EAX,ECX o OR EAX,EDX
el operando de origen debe ser distinto de cero así supongamos que EAX es cero:

EAX = 0 0 0 0 0 0 0 0
ECX = 1 0 1 0 1 1 1 1
R=      1 0 1 0 1 1 1 1 ZF=0

Si introdujeras un serial correcto:

EAX = 0 1 0 1 1 1 1 1
ECX = 1 0 1 0 1 1 1 1
R=      1 1 1 1 1 1 1 1 ZF=0

En cuanto a las maneras de acercarse a la "zona caliente" (funciones encargadas de comprobar la validación de un serial). Depende del programa.

Puede ser con la API MessageBox, GetDlgItem, GetDlgItemText
Verificar en memoria si está la función de verificación
Tracear

Hay demasiadas formas, la diferencia entre un programa seguro e inseguro por así decirlo a mi criterio sin considerar packer es que la solución se limita a menos métodos que funcionan.

Saludos



En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
N0mada

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: El Crack Que faltaba : Ayuda
« Respuesta #8 en: 20 Febrero 2012, 16:37 pm »

Ya pero es que este programa no tiene GUI, es de consola. Así que ni alerts ni diálogos ni nada.
Para estos casos que métodos típicos hay? (algunos como esos que me has dicho para el API de Win32)

Lo que te decía, meter una clave 123456789 y parar la ejecución cuando el EAX tenga ese valor (123456789) es posible ? Cómo se hace?

Gracias !
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda crack¡¡¡
Juegos y Consolas
lhc 1 1,559 Último mensaje 9 Octubre 2006, 07:37 am
por ¤ Nerviozzo ¤
No faltaba mas XD... ademas de scope una cam jaaja
Foro Libre
flacc 0 1,350 Último mensaje 23 Marzo 2011, 04:01 am
por flacc
¡Lo que nos faltaba!, científicos aseguran que podemos enamorarnos de un ...
Noticias
wolfbcn 0 1,725 Último mensaje 3 Marzo 2014, 13:45 pm
por wolfbcn
Lo que nos faltaba: llegan a WhatsApp los emoticonos pornográficos
Noticias
wolfbcn 1 2,292 Último mensaje 29 Noviembre 2014, 04:25 am
por Wickown
Este software de sincronización labial es justo lo que le faltaba a las fake ...
Noticias
wolfbcn 0 1,472 Último mensaje 14 Julio 2017, 15:01 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines