elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Un Simple Crackme En VBScript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Un Simple Crackme En VBScript  (Leído 6,671 veces)
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Un Simple Crackme En VBScript
« en: 22 Mayo 2016, 20:45 pm »

hola amigos aquí les traigo un crackme hecho en vbscript ya que muchos usuarios no saben usar el ollydbg pues se me ocurrió hacerlo en vbscript

aqui el codigo

Código
  1. option explicit
  2. Randomize
  3. dim shell,pin,cn,un,x,z,a,b,c,pass,y,r,contra
  4.  
  5. Set shell=createobject("wscript.shell")
  6. pin = cstr(cint((9999-1000+1)*rnd+1000))
  7. msgbox "Su Numero PIN Es: " & pin,,"PIN"
  8. cn = Shell.ExpandEnvironmentStrings("%ComputerName%")
  9. un = Shell.ExpandEnvironmentStrings("%UserName%")
  10.  
  11. if len(cn)>len(un) then
  12.   z=len(cn)
  13.   for x=z to len(un)
  14.      un=un & chr(x)
  15.   next  
  16. end if
  17.  
  18. if len(cn)<len(un) then
  19.   z=len(un)
  20.   for x=z to len(cn)
  21.      cn=cn & chr(x)
  22.   next  
  23. else
  24.   z=len(un)
  25. end if
  26.  
  27. for x=1 to z
  28.   a = asc(mid(cn,x,1))
  29.   b = asc(mid(un,x,1))
  30.   c = c & "-" & (a xor b)
  31. next
  32.  
  33. contra=inputbox("Ingresa La Contraseña","Password")
  34. y=1
  35.  
  36. pass=split(contra,"-")
  37.  
  38. for x=0 to ubound(pass)
  39.   a = pass(x)
  40.   b = asc(mid(pin,y,1))
  41.   if y=len(pin) then
  42.      y=1
  43.   else
  44.      y=y+1  
  45.   end if
  46.   r = r & "-" & (a xor b)
  47. next
  48.  
  49. if r=c then
  50.   msgbox ":::EN HORA BUENA::: Felisidades Contraseña Correcta, Espero Que Te haya Gustado El Reto...",,"Reto Superado Saludos Flamer"
  51. else
  52.   msgbox "Si no sabes crackear esta porqueria de crackme, no presumas que eres un hacker mas bien eres un lamberucho...esto es para hackers principiantes QUE QUIEREN APRENDER",,"Medas lastima :("    
  53. end if
  54.  
  55.  



Reglas
1- Solo para novatos ya que es muy simple
2- Solo vale el keygen ya que no esta en un lenguaje compilado
3-No vale parchar modificando un if
4-Solo keygen por privado para que el reto dure y pondre lista



::::::LISTA DE GANADORES:::::::::

1-********
2-********
3-********

Saludos Flamer y codigo modificado ahora si llase puede crackear
« Última modificación: 14 Agosto 2016, 23:35 pm por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Un Simple Crackme En VBScript
« Respuesta #1 en: 5 Julio 2016, 04:43 am »

bueno, ha pasado mucho tiempo y no han posteado dudas o soluciones, y aunque puedo considerarme un novato (siempre aprendiendo) no voy a dar pistas de solución, pero te diré Flamer que has abusado de xor, lo cual lleva a que aveces no tenga solución real, ya que no hay forma de hacer valores no imprimibles y hasta nulos.Por ejemplo dos caracteres con valores 58 y 57 hasta dos con valores 56. Está bien para ver vbs y como reversear xor, pero... no es la mejor forma de realizarlo.
Saludos.
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: Un Simple Crackme En VBScript
« Respuesta #2 en: 14 Agosto 2016, 23:38 pm »

bueno, ha pasado mucho tiempo y no han posteado dudas o soluciones, y aunque puedo considerarme un novato (siempre aprendiendo) no voy a dar pistas de solución, pero te diré Flamer que has abusado de xor, lo cual lleva a que aveces no tenga solución real, ya que no hay forma de hacer valores no imprimibles y hasta nulos.Por ejemplo dos caracteres con valores 58 y 57 hasta dos con valores 56. Está bien para ver vbs y como reversear xor, pero... no es la mejor forma de realizarlo.
Saludos.

Hola tinco modificado el código ahora si ya se puede crackear

saludos Flamer y gracias por tu interés, ahora si lo puedes intentar
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

sadfud

Desconectado Desconectado

Mensajes: 25


Ver Perfil WWW
Re: Un Simple Crackme En VBScript
« Respuesta #3 en: 15 Agosto 2016, 02:56 am »

Buenas
lo primero gracias por el reto
llevo dando vueltas a este crackme ya bastante tiempo, mas de un mes, ahora que lo has modificado me animo a comentarte una cosa. se que debo estar cerca de resolverlo, pero a la conclusion que he llegado es que no es posible crear un keygen, dejo un codigo modificado y comentado a ver si me estoy equivocando al interpretar alguna instruccion
Código
  1. option explicit
  2. Randomize
  3. dim shell,pin,cn,un,x,z,a,b,c,pass,y,r,contra
  4.  
  5. Set shell=createobject("wscript.shell")
  6. pin = 9999
  7. ' pin = cstr(cint((9999-1000+1)*rnd+1000))
  8. msgbox "Su Numero PIN Es: " & pin,,"PIN"
  9. cn = "w"
  10. un = "t"
  11. 'cn = Shell.ExpandEnvironmentStrings("%ComputerName%")
  12. 'un = Shell.ExpandEnvironmentStrings("%UserName%")
  13.  
  14. if len(cn)>len(un) then ' si el nombre del pc es mas largo que el del usuario
  15.   z=len(cn) ' la z seria igual a la longitud del nombre del pc
  16.   for x=z to len(un) ' para x = z hasta la longitud del nombre de usuario en mi caso 5 (david)
  17.      un=un & chr(x) ' username = username concatenado a
  18.   next
  19. msgbox(z)  
  20. end if
  21.  
  22. if len(cn)<len(un) then
  23.   z=len(un)
  24.   for x=z to len(cn)
  25.      cn=cn & chr(x)
  26.   next  
  27. else
  28.   z=len(un)
  29. end if
  30.  
  31. for x=1 to z
  32.   a = asc(mid(cn,x,1)) 'a es 116
  33.   b = asc(mid(un,x,1)) 'b es 119
  34.   c = c & "-" & (a xor b) 'a xor b es 3 luego C = -3
  35. msgbox(a)
  36.   msgbox(b)
  37.   msgbox((a xor b))
  38. msgbox(c)
  39. next
  40.  
  41. contra=inputbox("Ingresa La Contraseña","Password") 'suponiendo una pass: 1234
  42. y=1
  43.  
  44. pass=split(contra,"-")
  45.  
  46. ' para que se culpa que r = c los nuevos a y b deberan ser iguales a los anteriores, asi que la contraseña deberia ser wt, pero si es wt da error, solo acepta numeros
  47. for x=0 to ubound(pass)
  48.   a = pass(x) 'le asigna a la a el valor de la contraseña que metas. ej 1234
  49.   b = asc(mid(pin,y,1)) ' devuelve el codigo ansi del primer caracter  Y = 1 de la cadena pin 4444. ej 57
  50.   msgbox(a)
  51.   msgbox(b)
  52.   if y=len(pin) then ' basura? para ser util deberia ir antes del for
  53.      y=1 'basura?
  54.   else ' basura?
  55.      y=y+1   'basura?
  56.   end if ' basura?
  57.   r = r & "-" & (a xor b) ' r es igual a r menos a xor b, a xor b es 1234 xor 57 = 1259 luego r es -1259.
  58.   ' aqui esta el problema si r es -1259 osea, el opuesto de a xor b, como es posible que en algun caso r sea igual a c? si c depende de un numero random.
  59.   'como c cambia en ccada equipo, como haces posible que R=C y mas cuando B (linea 49) que participa en el proceso depende de un pin aleatorio. no veo la forma de hacer R=C
  60.   msgbox((a xor b))
  61. msgbox(r)
  62. next
  63.  
  64. if r=c then
  65.   msgbox ":::EN HORA BUENA::: Felisidades Contraseña Correcta, Espero Que Te haya Gustado El Reto...",,"Reto Superado Saludos Flamer"
  66. else
  67.   msgbox "Si no sabes crackear esta porqueria de crackme, no presumas que eres un hacker mas bien eres un lamberucho...esto es para hackers principiantes QUE QUIEREN APRENDER",,"Medas lastima :("    
  68. end if
  69.  

En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Un Simple Crackme En VBScript
« Respuesta #4 en: 15 Agosto 2016, 03:33 am »

@ sadfud  estás cometiendo un error inmenso!
Citar
r = r & "-" & (a xor b) ' r es igual a r menos a xor b, a xor b es 1234 xor 57 = 1259 luego r es -1259.
   ' aqui esta el problema si r es -1259 osea, el opuesto de a xor b, como es posible que en algun caso r sea igual a c? si c depende de un numero random.
   'como c cambia en ccada equipo, como haces posible que R=C y mas cuando B (linea 49) que participa en el proceso depende de un pin aleatorio. no veo la forma de hacer R=C

Código
  1. r & "-" & (a xor b)

no es una operación de resta! lo que hace es concatenar el caracter - o sea: -23 -16 -etc.

igual el código tiene errores para mi gusto. pero es fácil obtener el serial
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: Un Simple Crackme En VBScript
« Respuesta #5 en: 15 Agosto 2016, 05:49 am »

Buenas
lo primero gracias por el reto
llevo dando vueltas a este crackme ya bastante tiempo, mas de un mes, ahora que lo has modificado me animo a comentarte una cosa. se que debo estar cerca de resolverlo, pero a la conclusion que he llegado es que no es posible crear un keygen, dejo un codigo modificado y comentado a ver si me estoy equivocando al interpretar alguna instruccion
Código
  1. option explicit
  2. Randomize
  3. dim shell,pin,cn,un,x,z,a,b,c,pass,y,r,contra
  4.  
  5. Set shell=createobject("wscript.shell")
  6. pin = 9999
  7. ' pin = cstr(cint((9999-1000+1)*rnd+1000))
  8. msgbox "Su Numero PIN Es: " & pin,,"PIN"
  9. cn = "w"
  10. un = "t"
  11. 'cn = Shell.ExpandEnvironmentStrings("%ComputerName%")
  12. 'un = Shell.ExpandEnvironmentStrings("%UserName%")
  13.  
  14. if len(cn)>len(un) then ' si el nombre del pc es mas largo que el del usuario
  15.   z=len(cn) ' la z seria igual a la longitud del nombre del pc
  16.   for x=z to len(un) ' para x = z hasta la longitud del nombre de usuario en mi caso 5 (david)
  17.      un=un & chr(x) ' username = username concatenado a
  18.   next
  19. msgbox(z)  
  20. end if
  21.  
  22. if len(cn)<len(un) then
  23.   z=len(un)
  24.   for x=z to len(cn)
  25.      cn=cn & chr(x)
  26.   next  
  27. else
  28.   z=len(un)
  29. end if
  30.  
  31. for x=1 to z
  32.   a = asc(mid(cn,x,1)) 'a es 116
  33.   b = asc(mid(un,x,1)) 'b es 119
  34.   c = c & "-" & (a xor b) 'a xor b es 3 luego C = -3
  35. msgbox(a)
  36.   msgbox(b)
  37.   msgbox((a xor b))
  38. msgbox(c)
  39. next
  40.  
  41. contra=inputbox("Ingresa La Contraseña","Password") 'suponiendo una pass: 1234
  42. y=1
  43.  
  44. pass=split(contra,"-")
  45.  
  46. ' para que se culpa que r = c los nuevos a y b deberan ser iguales a los anteriores, asi que la contraseña deberia ser wt, pero si es wt da error, solo acepta numeros
  47. for x=0 to ubound(pass)
  48.   a = pass(x) 'le asigna a la a el valor de la contraseña que metas. ej 1234
  49.   b = asc(mid(pin,y,1)) ' devuelve el codigo ansi del primer caracter  Y = 1 de la cadena pin 4444. ej 57
  50.   msgbox(a)
  51.   msgbox(b)
  52.   if y=len(pin) then ' basura? para ser util deberia ir antes del for
  53.      y=1 'basura?
  54.   else ' basura?
  55.      y=y+1   'basura?
  56.   end if ' basura?
  57.   r = r & "-" & (a xor b) ' r es igual a r menos a xor b, a xor b es 1234 xor 57 = 1259 luego r es -1259.
  58.   ' aqui esta el problema si r es -1259 osea, el opuesto de a xor b, como es posible que en algun caso r sea igual a c? si c depende de un numero random.
  59.   'como c cambia en ccada equipo, como haces posible que R=C y mas cuando B (linea 49) que participa en el proceso depende de un pin aleatorio. no veo la forma de hacer R=C
  60.   msgbox((a xor b))
  61. msgbox(r)
  62. next
  63.  
  64. if r=c then
  65.   msgbox ":::EN HORA BUENA::: Felisidades Contraseña Correcta, Espero Que Te haya Gustado El Reto...",,"Reto Superado Saludos Flamer"
  66. else
  67.   msgbox "Si no sabes crackear esta porqueria de crackme, no presumas que eres un hacker mas bien eres un lamberucho...esto es para hackers principiantes QUE QUIEREN APRENDER",,"Medas lastima :("    
  68. end if
  69.  


hola sadfud gracias por el interés, el anterior no se podía por que había unos conflictos al intentar convertir los caracteres con el comando CHR de vbs y no daban los valores que deberian de aver dado así que ahora lo modifico y  la clave correcta lleva este formato xx-xx-xx-xx-xx-xx  las xx representan dígitos numéricos concatenados
« Última modificación: 15 Agosto 2016, 06:03 am por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Requiero crackme simple para novatos
Ingeniería Inversa
LATINO 1 2,635 Último mensaje 2 Septiembre 2003, 17:34 pm
por byebye
VBScript: Angry Birds Pong in VBScript [HTA + VBS] (100% Notepad) by JohnConnor
Scripting
JohnConnor 1 5,350 Último mensaje 4 Marzo 2013, 23:34 pm
por dato000
* Crackme Simple 2014 *
Ingeniería Inversa
RDGMax 4 3,201 Último mensaje 20 Octubre 2014, 01:23 am
por .:UND3R:.
[Reto] RDG Simple Crackme .NET v5 2015
Ingeniería Inversa
RDGMax 6 3,860 Último mensaje 21 Mayo 2015, 14:32 pm
por Ninfrock
Código simple para hacer La Quiniela (VBScript,VB, VB.Net, C#)
Programación General
okik 0 5,241 Último mensaje 10 Diciembre 2016, 15:43 pm
por okik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines