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
Descargado....
si esta fasil le are tutorial y lo pondre en mi blog
saludos Flamer y me falta crear tuto para el de cibergolen
Cita de: 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
Por lo poco que he visto, no hay solución posible.
El cálculo que hace es:
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!
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
Cita de: 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
para que puede servirme un keygeme?¿? :P
Cita de: TronKozo555 en 25 Marzo 2015, 09:22 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
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
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
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
Cita de: 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
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
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.
tincopasan pero no entiendo como con zzzzzzzzz te da más de lo buscado, el algoritmo es diferente que el de MCKSys Argentina?
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.
Cita de: 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.
Eres el que más se ha acercado momento.
Y sí, por ahí van los tiros.
EDITO:
Cita de: 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.
Cada vez afinas un poco más xD.
Sa1uDoS
Cita de: 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
Cita de: 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.
Como puse en mi post:
Cita de: MCKSys Argentina en 25 Marzo 2015, 08:19 AM
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!
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
Cita de: MCKSys Argentina en 25 Marzo 2015, 17:39 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
¡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
Cita de: 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.
...
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
¡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
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
Cita de: 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
Con lo anterior de
mr.blood, ya tienes lo necesario!
Espero con ansias ese keygen... en python!!! ;)
Saludos!
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.
¡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:
_______________________________________________________
print 'El nombre y la clave deben tener 9 letras cada uno'
print 'No se admiten acentos, diéresis ni letras especiales'
print 'Se pueden poner mayusculas o minusculas mezcladas'
def longEntrada(n):
c= str(n).__len__()
return c
long =5
while long != 9:
nombre = raw_input('Introduce un nombre de 9 letras: ')
long = longEntrada(nombre)
c1nom = int(ord(nombre[0]) + ord(nombre[3]) + ord(nombre[6]))
c2nom = int(ord(nombre[1]) + ord(nombre[4]) + ord(nombre[7]))
c3nom = int(ord(nombre[2]) + ord(nombre[5]) + ord(nombre[8]))
n=1
x=1
while (n != 314875 and x != 367):
for x in range(195,368):
if n==314875:
break
y = 195
for y in range(195,367):
if n==314875:
break
z = 366
while (z >= 195 and n != 314875):
if n==314875:
break
n = c1nom*x + c2nom*y + c3nom*z
z = z-1
if x == 367:
print n, 'No tiene clave'
else:
print n, 'Las sumas de claves son:'
print x-1, y-1, z+1
x=x-1
y=y-1
z=z+1
def sacaClaves(a):
if a % 3 == 0:
m=n=p= a/3
else:
m=n=a//3
p=a-m-n
if ((97>m>90) or (97>p>90)):
m=n=m-10
p=p+20
u=chr(m)
v=chr(n)
w=chr(p)
cla=u+v+w
return cla
clave1= sacaClaves(x)
clave2= sacaClaves(y)
clave3= sacaClaves(z)
clave = clave1+clave2+clave3
print 'La clave para %s es:'%nombre
print clave
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
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
Cita de: ViejoMajara en 28 Marzo 2015, 23:06 PM
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!
¡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 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.
Cita de: 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 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)
¡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