Hola amigos hoy veremos el crackme 7 de enigmagroup, este es un poco más complicado, ya que es más dificil por donde atacar, ya que al principio yo no le hallaba por donde entrar, ya que no muestra en los string el mensaje correcto, pero bueno yo los guiaré por donde primero lo abrimos con el x32dbg y buscamos en las string y vemos esto
Vemos la palabra PAUSE que es la que nos guiara al mensaje correcto o incorrecto así que le damos doble clic y nos lleva a esta zona
Yo puse un breakpoint en ese último CALL antes de que se ejecute el PAUSE y entraremos a el con F7 para eso primero lo ejecutamos con F9 y se detiene justo donde le indicamos y nos vamos traceando con F7 y nos pide que ingresemos el serial en la línea 00401AD8 asi que ingresamos como serial "polomones" y presionamos enter
Seguimos traceando y entraremos en el CALL 00401AE7 con F7, si se preguntan como encontré el camino al serial es porque yo ya anduve traceando con F7 cada CALL bueno seguimos no manda a esta zona
Entramos al CALL de la línea 00401BE8 y nos muestra el esto
Lo que hace esa función es que recorre el serial que ingresamos y al final pregunta si es mayor o igual a 6, ya que antes de llegar a preguntar eso pregunta si es mayor a 5 en la línea 00401C47 y si es menor el salto JG se cumple, esto nos lleva a concluir que el serial tiene que ser mayor a 5 digitos o mejor dicho mayor o igual a 6, así que salimos de ese CALL y nos vamos traceando con F8 y nos encontramos con un salto JG el de la línea 00401BF2 y se cumple la condición así que seguimos.... no salta, ya que si el serial fuera menor o igual a 5 nos rebota, así que entramos y seguimos hasta la línea 00401BFA que es un CALL y entraremos con F7
Y llegamos hasta la línea 00401CA1 donde toma el primer dígito que es "p" que vale 70 en hexadecimal y le resta 60 en hexadecimal y aguarda el resultado en memoria después brinca al segundo y lo suma con el resultado anterior para después restarle 60 de nuevo aquí la foto
El resultado de esto tiene que dar 2C que en decimal es 44, bueno parece que encontramos la segunda condición, ya que la primera era que tenía que ser mayor a 5 dígitos, así que salimos de ese CALL y nos dirigimos a la línea
Así como dice la imagen presionamos la bandera ZF para que sea cero y entrar al siguiente CALL y nos lleva hasta aquí
Como dice toma el primer dígito le resta 60 en hexadecimal y después lo multiplica por el resultado anterior al principio es 1, luego toma el segundo le resta 60 y lo multiplica por el resultado anterior y así sucesivamente y el resultado tiene que ser 3F48 que en decimal es 16200 así que salimos de ese CALL y vemos que es el último....así que ya sabemos las condiciones para crear nuestro keygen yo le pedí a chatgpt que me hiciera un programa por fuerza bruta para encontrar un serial y me dio este
Pero no seme hizo que dejaba varias claves sin dar así que yo hice el mío con ciclos for anidados este
Para probarlos solo copean, pegan en bloc de notas y lo aguardan como "fuerzabruta.js" y lo ejecutan con node si no tienen node lo bajan e instalan aquí les hice un tutorial
Para ejecutarlo ponemos así
Nota: para la foto yo probare mi código esto nos muestra
Así que copiamos cualquier clave como esta "aajocdai" y nos arroja esto en el crackme
Bueno amigos creo que eso es todo espero les haya gustado saludos Flamer...A una coda que se me estaba olvidando, si se preguntan por qué solo minúsculas y no incluir números o mayúsculas es porque al restar 60 que es 96 en decimal es porque si lo hacía iba a dar números negativos












No hay comentarios.:
Publicar un comentario