Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: ameise_1987 en 1 Septiembre 2013, 08:00 am



Título: [ayuda]Crear Keygen
Publicado por: ameise_1987 en 1 Septiembre 2013, 08:00 am
hola, escribo para ver si me pueden ayudar a generar un keygen, resulta que llevo 3 días
con los tutoriales de ricnar y he aprendido bastante, lo que no he logrado es hacer el keygen al crackme de cruhead, he logrado pasar los dos algoritmos a python, pero no he logrado generar
2 claves similares con distintos algoritmos.


dejo el algoritmo por si alguien me ayuda, la idea es generar un usuario y una clave que al ser
ingresada en estos dos algoritmos den igual número es decir si ingreso :

usuario = AUTO
clave    = 123

si al pasar el usuario por el algoritmo que valida el usuario como número me da 324324 luego cuando
pase la clave por el algoritmo que valida la clave debe dar igual número 324324 , no sé si me explico.

Código
  1. import sys
  2.  
  3. usuario=""
  4. clave=""
  5. sumatoria=0
  6.  
  7. try:
  8.    usuario=sys.argv[1]
  9.    clave=sys.argv[2]
  10. except:
  11.    print "Error debe ingresar 2 argumentos."
  12.  
  13. """
  14.    Comrpobamos que el usuario se encuentre escrito en mayusculas.
  15. """
  16. print "---> Comprobando USUARIO"
  17. for letra in usuario:
  18.    sumatoria+=int(ord(letra))
  19.    if letra == "":
  20.        print "salta hacia 0040139c"
  21.    else:
  22.        if int(ord(letra)) < 65:
  23.            print "salta hacia 004013ac"
  24.        else:
  25.            if ( int(ord(letra)) > 90 ) or ( int(ord(letra)) == 90 ):
  26.                print "salta hacia 00401494"
  27.  
  28.  
  29. print "sumatoria => " + str(sumatoria)
  30. sumatoria=sumatoria^22136
  31. print "sumatoria + xor => " + str(sumatoria)
  32.  
  33. print "Comprobando CLAVE"
  34. const=10
  35. tmp=0
  36.  
  37. for letra in clave:
  38.    if letra=="":
  39.        print "salta hacia 004013f5"
  40.    else:
  41.        tmpl = int(ord(letra))-48
  42.        tmp  = (tmp*const)
  43.        tmp  = tmp+tmpl
  44.  
  45. tmp=tmp^4660
  46.  
  47. print "\n\nDatos : "
  48. print "usuario => " + str(sumatoria)
  49. print "clave   => " + str(tmp)
  50.