Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: mr.blood en 24 Marzo 2015, 18:46 pm



Título: [KeygenMe] Matrix
Publicado por: mr.blood en 24 Marzo 2015, 18:46 pm
Aquí os dejo un KeygenMe, espero que os guste. Está programado en C++ no sé que nivel de dificultad decir que tiene, para crackearlo será nivel 0, pero el reto es hacer un keygen :).

https://mega.co.nz/#!CBdAyZhS!nhpX7Mji2TzPJSk3JAGlSttlsxQFX-h_kVnSLa1r9Ag

SaluDoS


Título: Re: [KeygenMe] Matrix
Publicado por: Flamer en 25 Marzo 2015, 03:18 am
Descargado....

si esta fasil le are  tutorial y lo pondre en mi blog

saludos Flamer y me falta  crear tuto para el de cibergolen


Título: Re: [KeygenMe] Matrix
Publicado por: MCKSys Argentina en 25 Marzo 2015, 08:19 am
Aquí os dejo un KeygenMe, espero que os guste. Está programado en C++ no sé que nivel de dificultad decir que tiene, para crackearlo será nivel 0, pero el reto es hacer un keygen :).

https://mega.co.nz/#!CBdAyZhS!nhpX7Mji2TzPJSk3JAGlSttlsxQFX-h_kVnSLa1r9Ag

SaluDoS

Por lo poco que he visto, no hay solución posible.
El cálculo que hace es:

Código:
user[0] * pass[0] + user[1] * pass[1] + user[2] * pass[2] + user[3] * pass[3] + user[4] * pass[4] + user[5] * pass[5] + user[6] * pass[6] + user[7] * pass[7] + user[8] * pass[8] = 0x4CDFB

Lo anterior sería solucionable si se pudieran insertar chars con valores mayores a 127. Pero el programa usa MOVSX para copiar los bytes, por lo que extiende el signo del byte. Con esto, cualquier byte mayor a 0x7F se convierte en negativo y por eso no hay solución.

Aunque, bueno, lo he mirado muy rápidamente y puedo estar equivocado...  :P

Saludos!


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 25 Marzo 2015, 08:34 am
modifico...

lo siento, leí mal... creia que eran cuadrados...

como dice MCKSys Argentina no tiene resultado... aquí fallaron las matemáticas...

el maximo resultado es 133956 cuando el necesario debe ser 314875


Título: Re: [KeygenMe] Matrix
Publicado por: El Che Guevara en 25 Marzo 2015, 09:22 am
Aquí os dejo un KeygenMe, espero que os guste. Está programado en C++ no sé que nivel de dificultad decir que tiene, para crackearlo será nivel 0, pero el reto es hacer un keygen :).

https://mega.co.nz/#!CBdAyZhS!nhpX7Mji2TzPJSk3JAGlSttlsxQFX-h_kVnSLa1r9Ag

SaluDoS

para que puede servirme un keygeme?¿?  :P


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 25 Marzo 2015, 09:28 am
para que puede servirme un keygeme?¿?  :P

es un reto de ingenieria inversa... un usuario hace un programa y el reto es conseguir pasar su seguridad, en este caso el autor pide un programa que genere contraseñas validad para ganarle a su programa


Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 25 Marzo 2015, 14:20 pm
La verdad es que no pensé demasiado en como generar las claves, pero aseguro que al menos tiene un usuario y contraseña válidos, sólo con minúsculas.

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 25 Marzo 2015, 14:51 pm
estaba usado un charset de 92 caracteres :P miralo así... el mayor valor es 127 para un char (el cual por cierto es  "suprimir")...

127*127*9 = 145161... tu valor es 314875... nos quedamos a menos de mitad de camino... no se diga para "z" que es 122

para que de cerca tiene que mínimo tener un ascii 188


Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 25 Marzo 2015, 15:10 pm
No seré quien se meta con sus resultados, pero reitero que existe, al menos, una pareja usuario contraseña utilizando caracteres en el intervalo a-z en minúsculas.

Lo que puso MCKSys no concuerda con el código que yo hice.

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 25 Marzo 2015, 15:17 pm
No seré quien se meta con sus resultados, pero reitero que existe, al menos, una pareja usuario contraseña utilizando caracteres en el intervalo a-z en minúsculas.

Lo que puso MCKSys no concuerda con el código que yo hice.

Sa1uDoS

XD yo solo hago matemáticas y cálculos en c/c++ jejeje no se de ing inv, es posible que a MCKSys Argentina se le haya pasado algo :P


Título: Re: [KeygenMe] Matrix
Publicado por: tincopasan en 25 Marzo 2015, 15:31 pm
mr blood tiene razón,se puede hacer por ejemplo si usan como usuario zzzzzzzzz y clave zzzzzzzz ya sabemos que son 9 caracteres para cada uno, el valor obtenido al final es mucho mayor que el buscado, pero me da problemas para cualquier usuario, tiene que ser muy especifico ya que la diferencia entre los valores de los caracteres es de 138 14b y 13f lo cual dificulta encontrar un serial válido para cualquiera. yo usando tincopasa (ni siquiera puedo usar mi nick completo, con eeppnnppp me paso del valor buscado y después la convinación no me permite seguir porque me paso o me quedo corto con el valor final, así que tendré que inventar un usuario, pero ya deja de ser keygen

ahhhh y supongo que lo de matrix es por usar matrices para la resolución.


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 25 Marzo 2015, 15:36 pm
tincopasan pero no entiendo como con zzzzzzzzz te da más de lo buscado, el algoritmo es diferente que el de MCKSys Argentina?


Título: Re: [KeygenMe] Matrix
Publicado por: tincopasan en 25 Marzo 2015, 15:54 pm
el análisis de mcksys está incompleto, lo que el hizo es básicamente el principio, para mi es como resolver una matriz de a.b donde a y b tienen 9 elementos ubicados en cada matriz con 3 columnas y 3 filas, por lo que las operaciones se repiten 3 veces. soy muy malo para explicar.


Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 25 Marzo 2015, 15:55 pm
mr blood tiene razón,se puede hacer por ejemplo si usan como usuario zzzzzzzzz y clave zzzzzzzz ya sabemos que son 9 caracteres para cada uno, el valor obtenido al final es mucho mayor que el buscado, pero me da problemas para cualquier usuario, tiene que ser muy especifico ya que la diferencia entre los valores de los caracteres es de 138 14b y 13f lo cual dificulta encontrar un serial válido para cualquiera. yo usando tincopasa (ni siquiera puedo usar mi nick completo, con eeppnnppp me paso del valor buscado y después la convinación no me permite seguir porque me paso o me quedo corto con el valor final, así que tendré que inventar un usuario, pero ya deja de ser keygen

ahhhh y supongo que lo de matrix es por usar matrices para la resolución.

Eres el que más se ha acercado momento.

Y sí, por ahí van los tiros.

EDITO:

el análisis de mcksys está incompleto, lo que el hizo es básicamente el principio, para mi es como resolver una matriz de a.b donde a y b tienen 9 elementos ubicados en cada matriz con 3 columnas y 3 filas, por lo que las operaciones se repiten 3 veces. soy muy malo para explicar.

Cada vez afinas un poco más xD.

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: MCKSys Argentina en 25 Marzo 2015, 17:39 pm
No seré quien se meta con sus resultados, pero reitero que existe, al menos, una pareja usuario contraseña utilizando caracteres en el intervalo a-z en minúsculas.

Lo que puso MCKSys no concuerda con el código que yo hice.

Sa1uDoS
el análisis de mcksys está incompleto, lo que el hizo es básicamente el principio, para mi es como resolver una matriz de a.b donde a y b tienen 9 elementos ubicados en cada matriz con 3 columnas y 3 filas, por lo que las operaciones se repiten 3 veces. soy muy malo para explicar.

Como puse en mi post:

Aunque, bueno, lo he mirado muy rápidamente y puedo estar equivocado...  :P

Vi todo el tema de la matriz de 3x3 (La del User, la de la pass y la temporal). Pero me pareció que el cálculo final era el que puse...

En fin, está bueno que otros se animen a meterle mano a los retos.

Será que si me equivoco más seguido, habrá más participación???  :xD

Saludos!


Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 25 Marzo 2015, 17:44 pm
Venga, que una vez sacada la relación el Keygen es una estupidez, además hay como 3000 contraseñas válidas por usuario.

Quiero que me digáis si os ha gustado.

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: .:UND3R:. en 25 Marzo 2015, 20:35 pm
Como puse en mi post:

Vi todo el tema de la matriz de 3x3 (La del User, la de la pass y la temporal). Pero me pareció que el cálculo final era el que puse...

En fin, está bueno que otros se animen a meterle mano a los retos.

Será que si me equivoco más seguido, habrá más participación???  :xD

Saludos!

Comienza a decir que no se pueden crackear, así participarán todos jaja


Título: Re: [KeygenMe] Matrix
Publicado por: ViejoMajara en 26 Marzo 2015, 18:10 pm
¡Hola!

Con los datos que habéis ido reseñando, he comprobado que disponiendo el nombre y la clave en forma matricial de 3x3 y multiplicándolas, la suma de los valores de la matriz obtenida es el valor que se compara con 4CDFB.

Como ya lo habéis dicho, tanto el nombre como la clave deben de tener una longitud de 9 caracteres, y ambas deben ser de letras, mayormente minúsculas, ya que los números dan unos resultados bajos. No sé si al final se podrá poner algún número.

Por ejemplo: Nombre majarilla, Clave zurututza.

Matrices    maj     zur
                ari       utu
                lla        tza
Sustituimos cada letra por su valor ASCII y multiplicamos ambas matrices. Sumamos todos los elementos de la matriz resultante y el resultado es el valor a comparar. Yo lo he hecho en EXCEL y me concuerdan los resultados.

Ahora voy a repasar mis antiguos conocimientos de matrices para ver si, conociendo el valor del producto de dos matrices y una de ellas se puede sacar la otra.

Saludos




Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 26 Marzo 2015, 18:59 pm
¡Hola!

Con los datos que habéis ido reseñando, he comprobado que disponiendo el nombre y la clave en forma matricial de 3x3 y multiplicándolas, la suma de los valores de la matriz obtenida es el valor que se compara con 4CDFB.

...

Ahora voy a repasar mis antiguos conocimientos de matrices para ver si, conociendo el valor del producto de dos matrices y una de ellas se puede sacar la otra.

Saludos

Multiplicándolas en forma matricial, eso es :).

No se puede sacar la otra, es un sistema con muchas más incógnitas que ecuaciones, 3x3=9 incógnitas frente a una única ecuación, se da un sistema compatible indeterminado :P.

Sigue por ahí que ya has hecho lo más difícil, ya sólo te queda resolver la parafernalia matemática y crear un pequeño código que calcule las soluciones posibles :).

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: ViejoMajara en 27 Marzo 2015, 08:42 am
¡Hola!

Mediante tanteos en la hoja que había preparado en EXCEL he sacado la clave (o una de las posibles claves) para majarilla. Es abPyxzzzz, pero me he pasado un buen rato con ello.

He reducido las incógnitas a 3, cada una de ellas compuesta por la suma de los valores ASCII de cada fila de la matriz de la clave, pero no consigo dar con la formula mágica para poder preparar un keygen.

En este caso:
                    m a j                     a b P
                    a  r  i                     y x z
                    l   l  a                     z z z

(m+a+l).(a+b+P) + (a+r+l).(y+x+z)+(j+i+a).(z+z+z) = 4CDFB (Hexa)= 314875

Dejaré reposar el cerebro con otras cosas y, si no sale antes alguien por ahí con la solución, seguiré dandole vueltas a este endiablado problema matemático que nos has planteado, mr.blood.

Saludos



Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 27 Marzo 2015, 12:41 pm
Ahora solo tienes que hacer lo siguiente:
Como un keygen genera pass para un determinado usuario, ya sabes lo que valen las sumas del usuario.

Ahora tienes 9 incógnitas y una ecuación, dejas todo en función de 1 variable y generas las otras para sacar todas las soluciones.

Tienes que tener en cuenta que, para simplificar, todas las variables tienen que estar en el intervalo [97,122]

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: MCKSys Argentina en 27 Marzo 2015, 14:40 pm
¡Hola!

Mediante tanteos en la hoja que había preparado en EXCEL he sacado la clave (o una de las posibles claves) para majarilla. Es abPyxzzzz, pero me he pasado un buen rato con ello.

He reducido las incógnitas a 3, cada una de ellas compuesta por la suma de los valores ASCII de cada fila de la matriz de la clave, pero no consigo dar con la formula mágica para poder preparar un keygen.

En este caso:
                    m a j                     a b P
                    a  r  i                     y x z
                    l   l  a                     z z z

(m+a+l).(a+b+P) + (a+r+l).(y+x+z)+(j+i+a).(z+z+z) = 4CDFB (Hexa)= 314875

Dejaré reposar el cerebro con otras cosas y, si no sale antes alguien por ahí con la solución, seguiré dandole vueltas a este endiablado problema matemático que nos has planteado, mr.blood.

Saludos

Con lo anterior de mr.blood, ya tienes lo necesario!

Espero con ansias ese keygen... en python!!!  ;)

Saludos!


Título: Re: [KeygenMe] Matrix
Publicado por: tincopasan en 27 Marzo 2015, 16:04 pm
ViejoMajara:
                   en base a tu planteo : (m+a+l).(a+b+P) + (a+r+l).(y+x+z)+(j+i+a).(z+z+z) = 4CDFB (Hexa)= 314875   ¿no te parece una ecuación de solo tres incógnitas?  por ejemplo
(m+a+l)son valores conocidos. (a + b + P) será la suma de 3 valores entre 97 , 122  y esto repetido 3 veces, lo que lleva a : (109+97+108).x + (etc).y+ (etc).z= 314875, por supuesto que le puedo errar de acá a la luna! Saludos

Edito: me olvidé, insisto en que no se puede hallar el serial para cualquiera! porque la diferencia entre lel resultado de los productos y la diferencia con el resultado buscado  no se puede obtener.
Reversear el valor original deberia ser facil, ya que 314875 / 9 / 3 = 11662 y este es divisible por 119 por ejemplo. entonces user wwwwwwwww pass bbbbbbbbb es: 4CDFA por lo que se ve le falta 1 y no hay forma de obtenerlo, lo cual quiere decir que no todas las combinaciones de caracteres se podrán obtener.


Título: Re: [KeygenMe] Matrix
Publicado por: ViejoMajara en 28 Marzo 2015, 23:06 pm
¡Hola!

Por fin he conseguido hacer el keygen en Python. Lo presento a continuación. Como soy novato, me imagino que será manifiestamente mejorable.

En el keygen se pone el nombre de 9 letras y el programa devuelve una solución, así como la suma de los valores ASCII de las letras de la clave tomadas de tres en tres, por si se quieren calcular fácilmente otras soluciones a mano.

Es esto:

_______________________________________________________
Código
  1. print 'El nombre y la clave deben tener 9 letras cada uno'
  2. print 'No se admiten acentos, diéresis ni letras especiales'
  3. print 'Se pueden poner mayusculas o minusculas mezcladas'
  4.  
  5.  
  6. def longEntrada(n):
  7.    c= str(n).__len__()
  8.    return c
  9.  
  10. long =5
  11.  
  12. while long != 9:
  13.    nombre = raw_input('Introduce un nombre de 9 letras: ')
  14.    long = longEntrada(nombre)
  15.  
  16. c1nom = int(ord(nombre[0]) + ord(nombre[3]) + ord(nombre[6]))
  17. c2nom = int(ord(nombre[1]) + ord(nombre[4]) + ord(nombre[7]))
  18. c3nom = int(ord(nombre[2]) + ord(nombre[5]) + ord(nombre[8]))
  19.  
  20. n=1
  21. x=1
  22.  
  23. while (n != 314875 and x != 367):
  24.  
  25.    for x in range(195,368):
  26.        if n==314875:
  27.            break        
  28.        y = 195
  29.        for y in range(195,367):
  30.            if n==314875:
  31.                break  
  32.            z = 366
  33.            while (z >= 195 and n != 314875):
  34.                if n==314875:
  35.                    break                
  36.                n = c1nom*x + c2nom*y + c3nom*z
  37.                z = z-1
  38.  
  39. if x == 367:
  40.    print n, 'No tiene clave'
  41.  
  42. else:
  43.    print n, 'Las sumas de claves son:'
  44.    print x-1, y-1, z+1
  45.    x=x-1
  46.    y=y-1
  47.    z=z+1
  48.  
  49. def sacaClaves(a):
  50.    if a % 3 == 0:
  51.        m=n=p= a/3
  52.    else:
  53.        m=n=a//3
  54.        p=a-m-n
  55.  
  56.    if ((97>m>90) or (97>p>90)):
  57.        m=n=m-10
  58.        p=p+20
  59.    u=chr(m)
  60.    v=chr(n)
  61.    w=chr(p)
  62.  
  63.    cla=u+v+w
  64.    return cla
  65.  
  66. clave1= sacaClaves(x)
  67. clave2= sacaClaves(y)
  68. clave3= sacaClaves(z)
  69.  
  70. clave = clave1+clave2+clave3
  71.  
  72. print 'La clave para %s es:'%nombre
  73. print clave
  74.  
  75. input()
_____________________________________________________________

Efectivamente hay nombres que no tienen clave, pero los que la tienen es múltiple. En el keygen sólo saco una.

Por fin respiro.

Saludos.

PS. MCKSys, espero haberme ganado el  fuente del cracme4.

Mod: los codigos deben ir en etiquetas GeSHi


Título: Re: [KeygenMe] Matrix
Publicado por: mr.blood en 28 Marzo 2015, 23:40 pm
Ahí va el código del KeygenMe :).

http://pastebin.com/dV100yjg

Muy buen trabajo ViejoMajara, me gustaría ver un tutorial.

¿Opiniones? Os ha gustado? Ingenioso? Difícil?

Sa1uDoS


Título: Re: [KeygenMe] Matrix
Publicado por: MCKSys Argentina en 29 Marzo 2015, 05:32 am
PS. MCKSys, espero haberme ganado el  fuente del cracme4.

Pero el keygen del crackme4 aún no lo has posteado.  ;D

Te prometí el source por el keygen de ese crackme...

Saludos!


Título: Re: [KeygenMe] Matrix
Publicado por: ViejoMajara en 29 Marzo 2015, 08:43 am
¡Hola!

Me he llevado una agradable sorpresa al ver esta mañana la presentación del código. Veo una nota en la que me indica que los códigos deben ir en etiquetas GeSHi. Me imagino que será esta
Código:
print 'esto es código'
.La próxima vez irá así.

MCKSys, tienes razón. En cuanto vuelva del paseo matinal la pongo en aquél foro.

Saludos.


Título: Re: [KeygenMe] Matrix
Publicado por: engel lex en 29 Marzo 2015, 11:43 am
¡Hola!

Me he llevado una agradable sorpresa al ver esta mañana la presentación del código. Veo una nota en la que me indica que los códigos deben ir en etiquetas GeSHi. Me imagino que será esta
Código:
print 'esto es código'
.La próxima vez irá así.

MCKSys, tienes razón. En cuanto vuelva del paseo matinal la pongo en aquél foro.

Saludos.

hola! ;) fui yo quien lo modificó... y no esa es la etiqueta de código simple... a GeSHi es esta, que es lo mismo que la de código, pero escoges el lenguaje

(http://i.imgur.com/c8wy5q0.png)


Título: Re: [KeygenMe] Matrix
Publicado por: ViejoMajara en 29 Marzo 2015, 12:37 pm
¡Hola!

Engel lex, muchas gracias por la explicación.

Resulta que le he enviado a MCKSys lo prometido en mi comunicado anterior, pero lo he hecho antes de leer tu explicación, o sea con el formato simple.

Se lo voy a repetir ahora mismo con colorines y números de línea.

Saludos