Título: interpetar keygen Publicado por: General Dmitry Vergadoski en 8 Abril 2017, 14:43 pm hola amigos aqui les traigo un codigo de como genera el serial un programa ahora mi duda es como interpretarlo para generar el keygen:
Código
muchas gracias de antemano. Título: Re: interpetar keygen Publicado por: engel lex en 8 Abril 2017, 15:17 pm nunca he hecho esto para ensamblador (no me llevo con ASM), pero si en otros lenguajes
armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello... esto no es mecanico, esto no es lineal, esto es hacerlo poco a poco... te recomiendo empezar con validaciones simples... por ejemplo generar una tarjeta de credito valida: el primer digito indica la marca de la tarjeta (visa, amex, etc) los otros 3 hacen referencia al banco para revisar si un numero es valido cada impar se multiplica por 2 (con modulo 10) luego se suman todos los numeros, si el resultado modulo 10 es 0, el numero es valido has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052 en serio, te reto, arma un generador de algo tan simple como esto, puedes usar cualquier lenguaje... la unica regla es que no debes usar fuerza bruta, debes generar un numero y este debe ser valido de buenas a primeras Título: Re: interpetar keygen Publicado por: General Dmitry Vergadoski en 8 Abril 2017, 16:43 pm nunca he hecho esto para ensamblador (no me llevo con ASM), pero si en otros lenguajes armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello... esto no es mecanico, esto no es lineal, esto es hacerlo poco a poco... te recomiendo empezar con validaciones simples... por ejemplo generar una tarjeta de credito valida: el primer digito indica la marca de la tarjeta (visa, amex, etc) los otros 3 hacen referencia al banco para revisar si un numero es valido cada impar se multiplica por 2 (con modulo 10) luego se suman todos los numeros, si el resultado modulo 10 es 0, el numero es valido has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052 en serio, te reto, arma un generador de algo tan simple como esto, puedes usar cualquier lenguaje... la unica regla es que no debes usar fuerza bruta, debes generar un numero y este debe ser valido de buenas a primeras el codigo que coloque es del programa en ollydbg en la parte cuando el genera el serial, no es el codigo de mi keygen, ando buscando es como interpretar el codigo para poder hacer mi keygen... Título: Re: interpetar keygen Publicado por: engel lex en 8 Abril 2017, 16:53 pm Citar armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello... eso te respondí... con todo y ejemplo... Citar has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052 te di un algoritmo de validación y te recomendé hacer un keygen (has un algoritmo que generer numeros validos) que lo rompiera, para que tuvieras una primera experiencia simple Título: Re: interpetar keygen Publicado por: PalitroqueZ en 8 Abril 2017, 18:16 pm a juzgar por las repetidas llamadas a MSVBVM60 se trata de un código programado en visual basic 6.0, bastante dificil analizarlo en assembler.
es preferible trazarlo desde un debbuger para para visual basic. por la red se consiguen varios desensambladores para vb Título: Re: interpetar keygen Publicado por: MCKSys Argentina en 8 Abril 2017, 18:31 pm Como han dicho, es código VB6.
Por lo que veo, entender lo que hace es programa es relativamente sencillo si lo debugeas con olly. No debería ser mayor problema el interpretar lo que hace y menos reversearlo para hacer un keygen. Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje. Por ej., un tip sería que te centres en las funciones "raras" (__vbaStrVarVal, __vbaStrI2, __vbaStrCat, etc, etc.) y no le des importancia a las funciones "propias" de vb6 (__vbaHresultCheckObj, __vbaFreeObj, __vbaFreeStr, __vbaFreeVarList). Debes saber que vb6 maneja todas las variables como variant, por lo que no verás los valores directamente en los registros a menos que esté trabajando con ellos directamente (como en la zona donde hace los XORs y donde saca el valor ANSI del string). En fin, tracea con olly. Analiza. Tómate el tiempo de entender lo que hace el programa. Saludos! Título: Re: interpetar keygen Publicado por: General Dmitry Vergadoski en 9 Abril 2017, 19:43 pm Como han dicho, es código VB6. Por lo que veo, entender lo que hace es programa es relativamente sencillo si lo debugeas con olly. No debería ser mayor problema el interpretar lo que hace y menos reversearlo para hacer un keygen. Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje. Por ej., un tip sería que te centres en las funciones "raras" (__vbaStrVarVal, __vbaStrI2, __vbaStrCat, etc, etc.) y no le des importancia a las funciones "propias" de vb6 (__vbaHresultCheckObj, __vbaFreeObj, __vbaFreeStr, __vbaFreeVarList). Debes saber que vb6 maneja todas las variables como variant, por lo que no verás los valores directamente en los registros a menos que esté trabajando con ellos directamente (como en la zona donde hace los XORs y donde saca el valor ANSI del string). En fin, tracea con olly. Analiza. Tómate el tiempo de entender lo que hace el programa. Saludos! lo veo complicado, hasta ahora lo que se es que estos son los codigos que utiliza para hacer el calculo del serial, pero hasta ahi no se mas nada C746 34 0DF0D1BA mov dword ptr ds:[esi+34],BAD1F00D 00404E8B . C746 38 01ADDE10 mov dword ptr ds:[esi+38],10DEAD01 00404E92 . C746 3C EFBE1010 mov dword ptr ds:[esi+3C],1010BEEF 00404E99 . C746 40 D0BA0110 mov dword ptr ds:[esi+40],1001BAD0 Título: Re: interpetar keygen Publicado por: engel lex en 9 Abril 2017, 19:57 pm te estás trancando en algo complejo sin conocimientos... así no, vas a avanzar muy lento (si logras avanzar en lo absoluto), busca cosas más simples y luego sube el nivel...
a menos que estés acostumbrado a hacer esto, estás tratando de mater un elefante con salvas... insisto... primero acostúmbrate a reversar algoritmos, (y ahora veo) tambien a entender el lenguaje que estás manejando y tus herramientas (olly) todavía te estoy dando ejemplos e ignoras y sigues de largo tambien te lo dice MCKSys Argentina que en este ámbito es uno de los mejores aquí. Citar Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje. pero tu sigues ignorando y de largo todavia si sacas el algoritmo en claro, te podría a ayudar a ver que los pasos a seguir para armar un keygen Título: Re: interpetar keygen Publicado por: tincopasan en 9 Abril 2017, 21:10 pm como ya te han dicho deberías entender más del uso de olly y en este caso de las funciones propias de vb en esta parte que supongo es la que te referís:
52 push edx 00404E83 . 56 push esi 00404E84 . C746 34 0DF0D1BA mov dword ptr ds:[esi+34],BAD1F00D 00404E8B . C746 38 01ADDE10 mov dword ptr ds:[esi+38],10DEAD01 00404E92 . C746 3C EFBE1010 mov dword ptr ds:[esi+3C],1010BEEF 00404E99 . C746 40 D0BA0110 mov dword ptr ds:[esi+40],1001BAD0 00404EA0 . FF91 2C070000 call ds:[ecx+72C] hace un llamado a lo que haya en esa dirección 00404EA6 . 3BC7 cmp eax,edi compara el valor de los registros 00404EA8 . DBE2 fclex basicamente limpia las excepciones 00404EAA . 7D 12 jge short T0RNAD0'.00404EBE salta si es más grande etc... usando olly, sabiendo lo mínimo de asm y de vb6 podrías entender que hace. Título: Re: interpetar keygen Publicado por: abelnav12 en 12 Abril 2017, 06:24 am lo veo complicado, hasta ahora lo que se es que estos son los codigos que utiliza para hacer el calculo del serial, pero hasta ahi no se mas nada C746 34 0DF0D1BA mov dword ptr ds:[esi+34],BAD1F00D 00404E8B . C746 38 01ADDE10 mov dword ptr ds:[esi+38],10DEAD01 00404E92 . C746 3C EFBE1010 mov dword ptr ds:[esi+3C],1010BEEF 00404E99 . C746 40 D0BA0110 mov dword ptr ds:[esi+40],1001BAD0 Mira bro ,si intentas hacer un keygen sin estudiar o leer sobre Cracking ,no lo podrás hacer .te recomiendo que leas el curso de ollydbg desde cero de Ricardo Narvaja ,es excelente |