ayuda con el crackme 8 de enigmagroup

Iniciado por Flamer, 8 Mayo 2019, 04:40 AM

0 Miembros y 1 Visitante están viendo este tema.

tincopasan

#10
hola Flamer:
                   estaba con poco tiempo, así que me quede esperando que pusieran el serial, pero como nadie lo hizo y estuve un poco aburrido me puse a terminar este crackme.
En fin el serial es: +"9%9*I;``iyo'
ahora, si lo llegas a encontrar por fuerza bruta, pues te felicito, pero en realidad es mucho más simple. Yo soy muy perro y como no automatizo todas las funciones me demoré 2 hs a puro lápiz y papel, alguien con más conocimientos lo hace en muho menos.
Por lo menos lo resolví.
Saludos.

Edito:por las dudas, no todo a lápiz y papel jeje Espero que lo leas antes que otro suba el resultado final.

Flamer

Cita de: tincopasan en 19 Mayo 2019, 06:44 AM
hola Flamer:
                    estaba con poco tiempo, así que me quede esperando que pusieran el serial, pero como nadie lo hizo y estuve un poco aburrido me puse a terminar este crackme.
En fin el serial es: +"9%9*I;``iyo'
ahora, si lo llegas a encontrar por fuerza bruta, pues te felicito, pero en realidad es mucho más simple. Yo soy muy perro y como no automatizo todas las funciones me demoré 2 hs a puro lápiz y papel, alguien con más conocimientos lo hace en muho menos.
Por lo menos lo resolví.
Saludos.

Edito:por las dudas, no todo a lápiz y papel jeje Espero que lo leas antes que otro suba el resultado final.

Guau gran trabajo te felicito yo creía que no se podía a puros cálculos, creía que era por fuerza bruta pero me sorprendistes   ;-)


solo realice el algoritmo de fuerza bruta y a los 2 minutos de ejecución lo detuve me di por vencido creí que era un tontería hacerlo así y lo deje....y ahora veo que la clave tiene 14 dígitos hay me hubieran hallado jajajaja......de 8 a 10 dígitos son muchos para hacer fuerza bruta no se puede ahora 14 nombre

me gustaría saber como lo lograstes ya que yo me di por vencido por que el valor a encontrar era fraccionario y con un valor así se me hizo imposible


saludos Flamer y no se cuando haga vídeo ya que me estoy desanimando en hacerlos.....pero si algún día lo hago te mencionare

tincopasan

Flamer: en realidad como dije es relativamente fácil, puntos a tener en cuenta:
1) 112000.0636339199991 es un decimal que los sistemas te muestran redondeado si lo querés trabajar tal cual se ve, o sea te lo mostrarán como : 112000.06363392 que difiere con el valor buscado.
2)cada lenguaje tiene módulos para trabajar con estos decimales, en mi caso uso decimal en python y te lo muestra así:112000.063633919999119825661182403564453125, que es el valor a buscar
3)Como planteaste, una de las operaciones es multiplicar por un número dividido en 100, o sea lo que en realidad hace es correr el punto decimal, por lo tanto se puede trabajar como un entero.
4)esto me llevo a que para obtener un redondeo del valor buscado es necesario dividir por 100 ** 14, es decir 100 elevado a la 14, por lo tanto por ahí debe estar la cantidad de caracteres del serial.
5)para comparar el serial la rutina solo múltiplica los resultados de las operaciones con los caracteres, o sea que lo contrario sería dividir el total por los posibles valores de los caracteres.
6)lo que hay que hacer es factorizar el número entero, pero como es bastante grande habría que reducirlo, y bueno dos cosas me llaman la atención:
a)sin la parte decimal del módulo  termina en 91, por lo tanto es divisible por 7 o 13 o por 91
b)con el módulo la parte decimal termina en 25 o sea es divisible por 25 o 5
c)5 ,7 , 13 son números primos, como a cualquiera que le guste la criptografía sabe que una de las complicaciones de las claves son los números primos, así que pensé que debe usar algunos de ellos.
7)después de reducirlo y haciendo un par de pruebas de factoreo llegué a que:
2**13 *3**3 *5**5 * *7 *11 *41 *73 *79* 89  dan la mejor aproximaión a lo buscado y por cierto son todos primos,salvo claro está el buscar los múltiplos de ellos.
8)una de las operaciones es restar al valor decimal del caracterer 32 por lo tanto hay que buscar valores que sumados a 32  den caracteres imprimibles, por los tanto 73,79,89 son valores inmodificables.
9)lo que resta es buscar con esos valores y sus múltiplos queden comprendidos en valores de 1 a 90 basicámente. Después de unas pruebas vi que así no daba nunca el resultado, es necesario multiplicar por 10 para correr el punto decimal.
10)en definitiva hay que obtener un valor de 522, sabiendo que 10,73,79 y 89 no se pueden modificar y que si quedan valores de 1 digito solo pueden multiplicar sin ser divididos por 100. deben ubicarse en lugares pares.
11) por último ya obtenidos los caracteres hay que ubicarlos en el lugar correcto, ya que no parece(el orden de los productos no altera el resultado), en este caso lo hace.
12)simple pero me llevo un tiempo encontrar el lugar adecuado para cada caracter, pero como dije soy un perro, seguro otro lo hace en minutos.
Fácil de resolver si vas por otro lado y no por un brute-force. Seguro hay más soluciones pero no voy a perder tiempo en buscarlas.
Saludos


Flamer

orale buen trabajo excelente explicación me dejastes sin palabras ;-)    eres un perro como dises jajajaja

y por otra parte ahora estoy calando el programa HTA que puse al principio con la clave que me distes y esto es lo que me da



522


112000.06363392

no me da el numero completo que es 112000.0636339199991 pero en fin son errores de lenguaje


saludos Flamer y como dije yo me rendí por que era numero fraccionario

tincopasan

#14
ahh, me olvidé, el número correcto en python, difiere con el que toma crakme, así que busqué el valor siguiente superior, eso me dí cuenta debuggeando el programa y revisando la comparación de los registros. Supongo que es por el lenguaje de compilación que da una desviación de 182 en la parte decimal.
Como dije, distintos lenguajes dan distintas formas en ese decimal, no tengo idea porque, ya que los otros los uso solo como hobbies.
Con respecto a lo que soy un perro, es una forma de decir que soy medio animal(con perdón de los animales) y a veces no veo cosas simples u obvias.

Geovane

"estaba con poco tiempo"

Con esta línea de pensamiento.
¿Quién resuelve es un desocupado?

Apenas eso, Saludos
Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019

tincopasan

#16
jajaja hablo solo por mí, quien piense distinto y se sienta atacado, problema de él. Si tuviese más tiempo y ganas ponía el serial cuando hice la primer pregunta, es muy facil, no más de unas horas para resolverlo

Geovane

Cita de: tincopasan en 30 Mayo 2019, 00:03 AM
jajaja hablo solo por mí, quien piense distinto y se sienta atacado, problema de él. Si tuviese más tiempo y ganas ponía el serial cuando hice la primer pregunta, es muy facil, no más de unas horas para resolverlo

Lamentável.

Vou explicar, a questão é, toda vez que existe um desafio sempre os participantes dizem, "estaba sem tempo", "não tive tempo".
Mas então com isso, o que significa? Quem resolve é desocupado?

Então, ou participa ou não, resolve ou não, sem desculpa de tempo.
Caso contrário é desmotivador participar de desafios.

Apenas isso.
Saludos
Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019

MCKSys Argentina

Cita de: Geovane en 30 Mayo 2019, 01:49 AM
Lamentável.

Vou explicar, a questão é, toda vez que existe um desafio sempre os participantes dizem, "estaba sem tempo", "não tive tempo".
Mas então com isso, o que significa? Quem resolve é desocupado?

Então, ou participa ou não, resolve ou não, sem desculpa de tempo.
Caso contrário é desmotivador participar de desafios.

Apenas isso.
Saludos

Primero: Esto es un foro en Español. Como no todos podemos leer el portugués, pasa tu mensaje por Google Translator. Puedes incluir el mensaje ambos idiomas si lo prefieres.

Segundo: Las personas que participan en un reto, pueden disponer de tiempo o no. Cada uno le dedica el tiempo libre a lo que le interesa. Si alguien dice que tiene poco tiempo, es sólo eso: tiene poco tiempo para dedicarle a este reto.
Si no pudo solucionarlo o si pudo hacerlo en parte, es muy probable que sea por falta de tiempo.

Por supueto, si alguien lo resuelve, no es que sea un desocupado: simplemente lo resolvió. Y quizás el tiempo no tuvo nada que ver en el tema.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Geovane

MCKSys Argentina, ¿Cómo se convirtió en el moderador de este forun?

Estoy demostrando un punto muy importante.
Entre otros puntos, existe el de los desafíos.

Cuando se afirma, no lo hice antes porque no tenía tiempo ...
Es lo mismo que decir que él hace antes de quien tiene tiempo de sobra, no de conocimiento.


Esto es una mala cosa, en casi todos los desafíos de este foro, no he tenido tiempo ....
Si como moderador, usted encuentra eso normal, todo bien, no participo de tal cosa.

Piense en eso.
Saludos.
Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019