hola muy buenos dias a todos quisiera saber si es posible hacerle un keygen a un programa que pide un numero de serie pero muestra el serial el disco duro y apartir de este es que se debe ingresar el serial. la cuestion es se puede hacer el serial o si hay me podrian ilustrar con un tutorial aqui dejo el link del programa : http://www.isnotas.com/web/downversion.php?vers=Q0QgSVNOT1RBUyAtIDIwMTcuMDguMDVBIC0gTlUucmFy
espero sus opiniones o respuestas prontamente
el programa esta hecho en delphi y lo mas concreto es si se puede hacer un keygen?
Mod: No hacer doble post.
Cita de: young316 en 27 Abril 2019, 17:37 PM
hola muy buenos dias a todos quisiera saber si es posible hacerle un keygen a un programa que pide un numero de serie pero muestra el serial el disco duro y apartir de este es que se debe ingresar el serial. la cuestion es se puede hacer el serial o si hay me podrian ilustrar con un tutorial aqui dejo el link del programa : http://www.isnotas.com/web/downversion.php?vers=Q0QgSVNOT1RBUyAtIDIwMTcuMDguMDVBIC0gTlUucmFy
espero sus opiniones o respuestas prontamente
el programa esta hecho en delphi y lo mas concreto es si se puede hacer un keygen?
Mod: No hacer doble post.
Hola!
Es
probable que se pueda hacer un keygen o parche. Habría que ver el programa. Ahora, las reglas impiden que pidas lo anterior, pero no que aprendas a hacerlo.
Ya has colocado que está hecho en Delphi. Ahora, qué más has averiguado? Tiene Packer? Usaste alguna de las tooles para analizar Delphi (IDR, DeDe)? Abriste el programa en un debugger? En qué parte te trabas?
Si no tienes una base, puedes consultar el FAQ de este subforo (link en mi firma) y encontrarás lo necesario para iniciarte.
Saludos!
hola como estas
bueno te cuento que lo analice con DeDe y encontré la parte del registro ademas me pude dar cuenta que esta protegido con un componente que se llama mxprotector ayer hice un keygen en el mismo Delphi usando este componente y el serial del disco duro que muestra el programa pero el serial que me genera no es el correcto por que lo divide en 8 caracteres cada serie y creo debe ser de 4 caracteres cada serie espero un poco de ayuda
Cita de: young316 en 28 Abril 2019, 17:54 PM
... espero un poco de ayuda
Y que ayuda precisas exactamente? Haz analizado el codigo?
Para que podamos ayudarte, debes hacer preguntas concretas.
Saludos!
Si el lenguaje es Delphi, necesitas utilizar un Debugger e interpretar en el assembly.
Si conoce el Assembly tan bien para volver a escribir las funciones a la inversa, usted hace el keygen.
Saludos.
lo estuve mirando y en realidad es muy simple de registrar, ahora, ¿por qué hacer un keygen?si estás aprendiendo debe alcanzarte con poder registrarlo.
Con respecto al registro, hay dos opciones muy fáciles:
1)evitar el salto de chico malo
2)copiar el serial tal cual lo muestra el debugger
después si haces cualquiera de esas dos ya podés pensar en otras opciones:
a)parchar el exe
b)un self keygen
c)un loader
d)un keygen
no tengo ni ganas ni tiempo de hacer un tuto por esta huevada, pero la dirección clave para debugear comienza en 009CD071 y el salto respectivo, con estos saltas después de la verificación.
O sino en 0057BB95 podés ver tu serial correcto directamente y en base a esa dirección hacer un selfkeygen o un loader-debuger o lo que se te ocurra.
En todo caso unos call anteriores tienen lo necesario para el keygen, pero no te lo diré, porque no le veo sentido.
Simplemente con lo anterior ya lo registras.
Saludos
estoy barado aqui en olly trato de bloquera el salto y no he podido
009CD06C |. B8 10D19C00 MOV EAX,ISNotas.009CD110 ; ASCII "Digite el registro..."
009CD071 |. E8 6A26A7FF CALL ISNotas.0043F6E0
009CD076 |. 84C0 TEST AL,AL
009CD078 |. 74 28 JE SHORT ISNotas.009CD0A2
009CD07A |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
009CD07D |. 8B83 A8030000 MOV EAX,DWORD PTR DS:[EBX+3A8]
009CD083 |. E8 04EABAFF CALL ISNotas.0057BA8C
009CD088 |. 84C0 TEST AL,AL
009CD08A 74 0C JE SHORT ISNotas.009CD098
009CD08C |. B8 30D19C00 MOV EAX,ISNotas.009CD130 ; ASCII "El programa ha sido registrado correctamente. Gracias"
009CD091 |. E8 2626A7FF CALL ISNotas.0043F6BC
009CD096 |. EB 0A JMP SHORT ISNotas.009CD0A2
009CD098 |> B8 70D19C00 MOV EAX,ISNotas.009CD170 ; ASCII "El numero de registro no es correcto."
009CD09D |. E8 1A26A7FF CALL ISNotas.0043F6BC
009CD0A2 |> 8B83 A8030000 MOV EAX,DWORD PTR DS:[EBX+3A8]
009CD0A8 |. E8 E7ECBAFF CALL ISNotas.0057BD94
009CD0AD |. 84C0 TEST AL,AL
009CD0AF |. 74 0E JE SHORT ISNotas.009CD0BF
009CD0B1 |. BA A0D19C00 MOV EDX,ISNotas.009CD1A0 ; ASCII "IS-Notas"
009CD0B6 |. 8BC3 MOV EAX,EBX
009CD0B8 |. E8 53E7ABFF CALL ISNotas.0048B810
009CD0BD |. EB 0C JMP SHORT ISNotas.009CD0CB
009CD0BF |> BA B4D19C00 MOV EDX,ISNotas.009CD1B4 ; ASCII "IS-Notas - EL SOFTWARE NO HA SIDO REGISTRADO."
Hola
009CD083 |. E8 04EABAFF CALL ISNotas.0057BA8C
009CD088 |. 84C0 TEST AL,AL
009CD08A 74 0C JE SHORT ISNotas.009CD098
009CD08C |. B8 30D19C00 MOV EAX,ISNotas.009CD130 ; ASCII "El programa ha sido registrado correctamente. Gracias"
009CD091 |. E8 2626A7FF CALL ISNotas.0043F6BC
009CD096 |. EB 0A JMP SHORT ISNotas.009CD0A2
009CD098 |> B8 70D19C00 MOV EAX,ISNotas.009CD170 ; ASCII "El numero de registro no es correcto."
CALL ISNotas.0057BA8C Aquí hay una rutina que verifica la contraseña.
Sin embargo, para eliminar la protección, debe saber dónde verificó la licencia antes de saltar aquí.
Debe haber alguna comparación, que comprueba si ya está registrado, si no, salta a esta región de registro.
Saludos.
no he podido me quede barado
Hola young316, le he echado un vistazo al programa y no tiene ninguna protección, aqui te dejo una posible solución:
0057BB3A | E8 71EEE8FF | call <isnotas.sub_40A9B0>
0057BB3F | 8945 E4 | mov dword ptr ss:[ebp-1C],eax
0057BB42 | 837D E4 FF | cmp dword ptr ss:[ebp-1C],FFFFFFFF
0057BB46 | 0F84 DA000000 | je isnotas.57BC26
0057BB98 | E8 9F98E8FF | call <isnotas.sub_40543C>
0057BB9D | 75 43 | jne isnotas.57BBE
Dirección 0057BB98: Es donde se compara el serial que introduces con el verdadero, el serial esta en texto plano, a si que solo tienes que copiarlo e introducirlo.
Dirección 0057BB46: Asegurate de que ejecutas el programa en modo administrador, de lo contrario el programa tomara este salto y nunca llegara a la rutina de validación, aunque introduzcas un serial bueno, te dira que es erroneo.
Espero haberte ayudado.
Cita de: young316 en 27 Febrero 2020, 01:24 AMno he podido me quede barado
Si todavía seguís sin poder resolver hay una función que como te dijeron verifica la clave, habría que analizar por dentro dicha función a ver que realiza internamente y ver que termina guardando en el registro...
(https://i.imgur.com/ihrCLYx.png)
B#