[KeygenMe] Matrix

Iniciado por mr.blood, 24 Marzo 2015, 18:46 PM

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

mr.blood

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

MCKSys Argentina

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!
MCKSys Argentina

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


tincopasan

#22
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.

ViejoMajara

#23
¡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 (python) [Seleccionar]
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

mr.blood

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

MCKSys Argentina

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!
MCKSys Argentina

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


ViejoMajara

¡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.

engel lex

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

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ViejoMajara

¡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