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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 ... 313
711  Programación / Ingeniería Inversa / Re: Ayuda para modificar una dll .NET en: 8 Enero 2014, 07:43 am
Lo dejaré abierto por si se expira, en cuanto a la eliminación de la licencia es normal, mira lo siguiente:

Código
  1. // RapidDesignAddIn.Configuration.UcRegistration
  2. private void btnRemoveLicense_Click(object sender, EventArgs e)
  3. {
  4.   RegistrationData registrationData = RegistrationManager.GetRegistrationData(this.LicenseXml);
  5.   string text = string.Empty;
  6.   LicenseType licenseType = registrationData.LicenseType;
  7.   if (licenseType <= LicenseType.MultiUser)
  8.   {
  9.       if (licenseType != LicenseType.SingleUser)
  10.       {
  11.           if (licenseType == LicenseType.MultiUser)
  12.           {
  13.               text = "A multi-user license allows you to transfer license from one computer to another 6 times per year per user.";
  14.           }
  15.       }
  16.       else
  17.       {
  18.           text = "A single-user license allows you to transfer license from one computer to another 6 times per year.";
  19.       }
  20.   }
  21.   else
  22.   {
  23.       if (licenseType != LicenseType.Team)
  24.       {
  25.           if (licenseType == LicenseType.Corporate)
  26.           {
  27.               text = "A corporate license allows you to transfer license from one computer to another unlimited number of times.";
  28.           }
  29.       }
  30.       else
  31.       {
  32.           text = "A team license allows you to transfer license from one computer to another 60 times per year.";
  33.       }
  34.   }
  35.   DialogResult dialogResult = MessageBox.Show(string.Concat(new string[]
  36.   {
  37.       "Removing license allows you to register RapidDesign on another computer.",
  38.       Environment.NewLine,
  39.       text,
  40.       Environment.NewLine,
  41.       Environment.NewLine,
  42.       "Do you want to remove your license from this computer?"
  43.   }), "Removing license key", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
  44.   if (dialogResult == DialogResult.Yes)
  45.   {
  46.       try
  47.       {
  48.           int num;
  49.           if (RegistrationManager.WSUnregister(this.LicenseXml, out num))
  50.           {
  51.               this.LicenseXml = null;
  52.               this.OnProductRegistered(EventArgs.Empty);
  53.               this.ShowRegistrationInformation();
  54.               string str = string.Empty;
  55.               if (registrationData.LicenseType != LicenseType.Corporate)
  56.               {
  57.                   str = string.Concat(new object[]
  58.                   {
  59.                       Environment.NewLine,
  60.                       "You can transfer your license for another: ",
  61.                       num,
  62.                       " times this year."
  63.                   });
  64.               }
  65.               MessageBox.Show("Your license information has been successfuly removed." + str, "Remove license", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  66.           }
  67.           else
  68.           {
  69.               MessageBox.Show("Cannot remove your license. You have probably expired your transfer license limit.", "Remove license", MessageBoxButtons.OK, MessageBoxIcon.Hand);
  70.           }
  71.       }
  72.       catch (Exception ex)
  73.       {
  74.           MessageBox.Show(string.Concat(new string[]
  75.           {
  76.               "There has been an unexpected error while trying to remove RapidDesign license.",
  77.               Environment.NewLine,
  78.               "Please try again later, and if the problem still occours, contact the product vendor.",
  79.               Environment.NewLine,
  80.               Environment.NewLine,
  81.               "The error details: ",
  82.               ex.Message
  83.           }));
  84.       }
  85.   }
  86. }

Un Zoom:

Código
  1. if (registrationData.LicenseType != LicenseType.Corporate)
  2.               {
  3.                   str = string.Concat(new object[]
  4.                   {
  5.                       Environment.NewLine,
  6.                       "You can transfer your license for another: ",
  7.                       num,
  8.                       " times this year."
  9.                   });
  10.               }
  11.               MessageBox.Show("Your license information has been successfuly removed." + str, "Remove license", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  12.           }
  13.           else
  14.           {
  15.               MessageBox.Show("Cannot remove your license. You have probably expired your transfer license limit.", "Remove license", MessageBoxButtons.OK, MessageBoxIcon.Hand);
  16.           }

como vez la versión corporate no se puede eliminiar algo extraño  :rolleyes:

Y se cumplió lo que te comenté nunca se sabe que tan difícil puede ser un programa, aunque este me dio una impresión de que fuese fácil y terminé demorándome más de lo habitual.

Saludos

PD: Experto no soy, aquí considero 3 personas superiores años luz a mi nivel, yo solo pedí la moderación para limpiar el foro (barrendero)  :xD
712  Programación / Ingeniería Inversa / Re: Modificar exe mediante trainer en: 8 Enero 2014, 07:37 am
Actualmente existen nuevos thread en donde se explica todo esto:

http://foro.elhacker.net/ingenieria_inversa/tutorial_usar_cheat_engine_para_modificar_juegos_inyeccion_de_codigo-t382181.0.html

http://foro.elhacker.net/ingenieria_inversa/tutorial_wpe_pro_captura_modifica_y_envia_paquetes_tcp_cheats_juegos-t405121.0.html

http://foro.elhacker.net/ingenieria_inversa/videotutoriales_hacking_de_juegos_onlinelocal_cheat_engine_ollydbg-t406249.0.html

En ellos podrás preguntar libremente sin ser sancionado, cierro el post, saludos
713  Programación / Ingeniería Inversa / Re: Ayuda para modificar una dll .NET en: 8 Enero 2014, 07:20 am
Si intentamos registrar con un serial incorrecto, nos aparecerá lo siguiente:


Arrancamos SAE y buscamos métodos interesantes, uno de ellos es el encargado de checkear la licencia:


Este siempre debe devolver true, por lo cual si nopeamos todas las instrucciones y agregamos la mostrada en la imagen, siempre retornará true:


Buscamos por la string registered:


Una vez encontrado lo visualizamos en C#, desconozco este lenguaje pero se me hace muy familiar por Java:


NOTA: Notamos dos métodos muy interesantes, los cuales están marcados con un círculo rojo.

Si hacemos clic en el método WSRegister, veremos que retorna un archivo XML con contenido, siempre y cuando la String text no retorne vacío:


Si nos fijamos text, obtiene el valor de acuerdo a lo que retorna Register, por lo que nos dirigimos a el:


Si lo cambiamos a lenguaje MSIL/CIL veremos lo siguiente:


El método debe retornar una String, y como vimos este debe ser un XML así que Eleкtro me obligó!! a tener que aprender una sintaxis básica de XML junto con .NET miren que lindo, por lo que pongo la siguiente sintaxis (ya explicaré como descubrí que era esa):

Código
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <License>
  3. <UserName>UND3R</UserName>
  4. <CompanyName>UND3R</CompanyName>
  5. <LicenseType>40</LicenseType>
  6. <HardwareId>0123456789</HardwareId>
  7. <MachineName>UND3R</MachineName>
  8. <UserCount>100</UserCount>
  9. </License>

Quedándo más menos así:


Si nos vamos a GetRegistrationData (segundo método encerrado en rojo) veremos la estructura del xml (LicenseType parsea 40 por la licencia más cara  :silbar:):


Ya podremos registrarnos con cualquier serial (siempre y cuando tenga el tamaño correcto):




Link DLL:http://www.mediafire.com/download/bgyfn67ffis0mtj/RapidDesign.dll
Tipo Licencia: Corporate license
(No he probado esta DLL por favor dime si funciona)

Curiosidades:
- El programador se tomó la molestia de crear tan solo dos errores, los cuales eran lanzados cuando se producía una excepción, por lo cual cuando se crackeaba mal se producía una excepción, por lo cual estábamos forzados a recibir el XML.

- El proceso de validación era más menos el siguiente:
Se generaba un hardwareid o fingerprint, este se enviaba junto con la licencia introducida, si coincidían los datos, el servidor retornaba un archivo .xml junto con los datos correctos, ahora la validación de estos se hace por el método CheckLicence.

- Quise hacer el juego más divertido, tras algunas horas encontré lo siguiente:
Código
  1. public static int? CheckTrialDaysLeft(RapidDesignPackage package)
  2. {
  3.   int? result = null;
  4.   int num = 14;
  5.   RapidDesignHelpPage helpPage = package.HelpPage;
  6.   XmlDocument licenseXml = package.RegistrationConfigPage.LicenseXml;
  7.   if (!RegistrationManager.CheckLicense(licenseXml))
  8.   {
  9.       result = new int?(num);
  10.       if ((helpPage.FirstUseDate.HasValue && !string.Equals(helpPage.FirstUseDateVerify, helpPage.GetDateVerifyString(helpPage.FirstUseDate.Value))) || (!helpPage.FirstUseDate.HasValue && !string.IsNullOrEmpty(helpPage.FirstUseDateVerify)) || (helpPage.LastUseDate.HasValue && !string.Equals(helpPage.LastUseDateVerify, helpPage.GetDateVerifyString(helpPage.LastUseDate.Value))) || (!helpPage.LastUseDate.HasValue && !string.IsNullOrEmpty(helpPage.LastUseDateVerify)) || (helpPage.FirstUseDate.HasValue && helpPage.FirstUseDate.Value > DateTime.Now) || (helpPage.LastUseDate.HasValue && helpPage.LastUseDate.Value > DateTime.Now))
  11.       {
  12.           result = new int?(0);
  13.       }
  14.       else
  15.       {
  16.           if (helpPage.FirstUseDate.HasValue)
  17.           {
  18.               int days = (DateTime.Now.Date - helpPage.FirstUseDate.Value.Date).Days;
  19.               result = new int?(Math.Max(0, num - days));
  20.           }
  21.       }
  22.   }
  23.   return result;
  24. }

Destaco la siguiente línea:

Código
  1. int num = 14;
  :silbar:

Eso ha sido todo. Creo que debería funcionar a la perfección, en caso que no por favor coméntame.

Bueno todo esto lo he hecho por que (mi memoría no es una de las mejores pero si recuerda los buenos actos) una vez requería de un script muy puntual, sinceramente creo que era específicamente para mi servidor y tu me ayudaste sin problemas, sin contar que llevas años en el foro y estuvimos en el tiempo de guerra con los moderadores y el-brujo (las cuentas siempre estaban baneadas). Saludos.

No hacía un tutorial hace más de un año uff
714  Programación / Ingeniería Inversa / Lista de instrucciones CIL en: 7 Enero 2014, 18:13 pm
¿Alguien sabe a donde encontrar una lista detalla de instrucciones CIL?

Encontré estas:
http://en.wikipedia.org/wiki/List_of_CIL_instructions

http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf

Saludos

PD: CIL o MSIL ?

715  Seguridad Informática / Análisis y Diseño de Malware / Re: Virus dropbox en: 7 Enero 2014, 13:26 pm
Lo que el usuario quiere, es cómo obtener el PATH de instalación de dropbox debido a que es variable en cada equipo (carpeta asignada por el usuario), su idea es mover archivos dentro de esa carpeta, lo más probable es que sea el mismo batch, quizás cambiando el nombre. Mi idea sería obtener los cambios realizados por DropBox para luego identificar en que archivo o registro almacena el PATH configurado por el usuario, para luego leerlo y tomarlo como variable, el lado positivo de esto es que no es tan sencillo (al menos en batch) por lo cual te entretendrá un poco.
716  Programación / Ingeniería Inversa / Re: Videotutoriales de hacking de juegos en: 7 Enero 2014, 12:10 pm
Somos dos, por eso te lo pedí, quería complicarle a otro la vida  :xD
717  Programación / Ingeniería Inversa / Re: Videotutoriales de hacking de juegos en: 7 Enero 2014, 11:19 am
Ya deje un tema con chincheta sobre esto. Voy a cerrar este tema para que aquellos que tengan dudas, puedan postear sus inquietudes en el thread correcto

PD: Mad, haz un video tute también :)
718  Seguridad Informática / Seguridad / Re: Proteger archivo contra copia en: 5 Enero 2014, 02:04 am
Hola, la modificación que haz hecho es la correcta, en propiedades modificas los permisos de lectura y escritura. Veo que quieres que los usuarios puedan visualizar películas pero que no las puedan copiar, lamento decirte que la forma en que lo estás haciendo no es posible, lo que más puedes lograr es que los archivos sean solo de lecturas, por lo que los usuarios podrán acceder a ellos, pero no podrán realizar modificaciones, pero no puedes lograr que los usuarios puedan visualizar archivos sin que puedan ser copiados, ya que el equipo necesita almacenar el contenido de este para su reproducción (caché) y no puede quedar en el aire, debe pasar si o sí por el equipo que se está conectando.
719  Programación / Ingeniería Inversa / Re: Videotutoriales de hacking de juegos en: 3 Enero 2014, 23:22 pm
Excelente iniciativa blipi, esperamos verte más seguido, saludos  ;-)
720  Foros Generales / Noticias / Re: Un grupo ataca múltiples juegos en línea y webs de compañías en: 2 Enero 2014, 01:13 am
Curiosidad y medir sus límites
Páginas: 1 ... 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 [72] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 ... 313
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines