Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: young316 en 27 Abril 2019, 17:37 pm



Título: keygen para programa hecho en delphi
Publicado por: 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.


Título: Re: keygen para programa hecho en delphi
Publicado por: MCKSys Argentina en 27 Abril 2019, 22:01 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!


Título: Re: keygen para programa hecho en delphi
Publicado por: young316 en 28 Abril 2019, 17:54 pm
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


Título: Re: keygen para programa hecho en delphi
Publicado por: MCKSys Argentina en 28 Abril 2019, 19:51 pm
... espero un poco de ayuda

Y que ayuda precisas exactamente? Haz analizado el codigo?

Para que podamos ayudarte, debes hacer preguntas concretas.

Saludos!


Título: Re: keygen para programa hecho en delphi
Publicado por: Geovane en 28 Abril 2019, 21:01 pm
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.


Título: Re: keygen para programa hecho en delphi
Publicado por: tincopasan en 30 Abril 2019, 06:32 am
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


Título: Re: keygen para programa hecho en delphi
Publicado por: young316 en 12 Septiembre 2019, 03:50 am
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."


Título: Re: keygen para programa hecho en delphi
Publicado por: shin-elhacker en 12 Septiembre 2019, 17:04 pm
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.



Título: Re: keygen para programa hecho en delphi
Publicado por: young316 en 27 Febrero 2020, 01:24 am
no he podido me quede barado


Título: Re: keygen para programa hecho en delphi
Publicado por: novato1 en 8 Marzo 2020, 17:04 pm
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.


Título: Re: keygen para programa hecho en delphi
Publicado por: BloodSharp en 9 Marzo 2020, 14:13 pm
no 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#