Título: Introducción al crackeo manual de aplicaciones .NET Publicado por: 43H4FH44H45H4CH49H56H45H en 7 Septiembre 2010, 08:48 am Puesto que hasta ahora no vi este tema en el foro (y si es que se hizo no lo vi), mostrare a continuación como modificar prácticamente todo lo que se nos antoje de una aplicación .NET.
En el siguiente ejemplo luego de crear una aplicación .NET (http://img844.imageshack.us/img844/3156/62527770.jpg) con el sgte code: Código
La cual en el button1 compara una cadena con el contenido del textbox1 para indicar si la clave es correcta o no. En el button2 obtenemos el ID del procesador y ciframos utilizando MD5CryptoServiceProvider, luego comparamos el contenido del textbox2 con el resultado del cifrado si son iguales abrirá el form2 caso contrario mostrará un mensaje de error. Ahora necesitamos las siguientes herramientas: ilasm.exe http://msdn.microsoft.com/en-us/library/496e4ekx%28VS.80%29.aspx (http://msdn.microsoft.com/en-us/library/496e4ekx%28VS.80%29.aspx) ildasm.exe http://msdn.microsoft.com/es-es/library/f7dy01k1%28VS.80%29.aspx (http://msdn.microsoft.com/es-es/library/f7dy01k1%28VS.80%29.aspx) para facilitarnos las cosas creamos un par de archivos .bat (las rutas están de acuerdo a win XP probar modificaciones en Win7 o similar) con el siguiente contenido: Desensamblador.bat Código
Utilizando ildasm.exe desensamblamos el Crack Me.exe (ubicado en el escritorio) direccionado a una carpeta en el escritorio con el nombre "prueba", luego abrimos el Crack Me.exe con ildasm.exe para ver su estructura. (http://img829.imageshack.us/img829/191/69509287.jpg) Haciendo doble click sobre el button1_Click podemos ver las cadenas que indican cuando tiene la clave correcta y cuando no la tiene. (http://img10.imageshack.us/img10/6257/62367514.jpg) Antes de ellas podemos ver la comparación que realiza para indicar si es la clave correcta, tb podemos ver la cadena que compara en este caso "KODELIVE". Entramos en la carpeta prueba y abrimos con el block de notas "Crack Me.il" (nombre que pusimos en el Desensamblador.bat como archivo de salida) para facilitar las cosas copiamos la cadena "KODELIVE" o "Clave Correcta" o "bool [mscorlib]System.String::op_Equality(string" para utilizarla en el buscador del notepad (Ctrl + B) y modificamos las líneas que queramos. En la línea: Código
la cambiamos por: Código
así el nuevo password que compara será "CRACKEADO", ya no será "KODELIVE". Si queremos que acepte cualquier password, en la línea: Código
cambiamos a: Código
así cualquier contenido que tenga o no tenga el textbox1 nos dará siempre "Clave Correcta" excepto si es la clave que anteriormente era correcta ("KODELIVE" o "CRACKEADO") es decir en lugar de comparar si son iguales compara si son diferentes. (http://img3.imageshack.us/img3/6171/72622648.jpg) Ahora necesitamos guardar los cambios hechos en "Crack Me.il" en un nuevo ejecutable, para ello usamos: Ensamblador.bat Código
Ahora obtenemos un nuevo ejecutable con las modificaciones hechas que se guarda en la carpeta prueba con el nombre Crack Me.exe. (http://img707.imageshack.us/img707/7073/86758262.jpg) Ahora veamos la segunda parte (button2), la cual compara el ID del procesador cifrado con MD5 con el contenido del textbox2, borramos el contenido de la carpeta prueba (en el escritorio) y repetimos los pasos con el Desensamblador.bat, en este caso hacemos doble click en button2. (http://img413.imageshack.us/img413/9328/60585894.jpg) Localizamos la comparación en el ildasm.exe (http://img269.imageshack.us/img269/2962/85891845.jpg) Y luego la buscamos en "Crack Me.il", cambiamos la linea: Código
por: Código
y el resultado es el mismo que en el button1, volvemos a ensamblarlo con Ensamblador.bat y obtenemos el nuevo ejecutable modificado (en la carpeta prueba). Ahora ambos botones funcionan con o sin password que no sea el original. Si necesitamos saber cómo se genera el password o la clave basta con ver las líneas antes del mensaje de "Clave incorrecta" y podemos realizar un pequeño keygen para la aplicación "victima". Ahora supongamos que el primer formulario solo es de validación para luego entrar al 2do, podemos hacer que entre directamente al 2do formulario saltándonos el primero definitivamente, del sgte modo: Volvemos a utilizar Desensamblador.bat y localizamos: (http://img828.imageshack.us/img828/4082/90347749.jpg) es aquí donde se define que formulario carga al inicio (Program.cs) localizamos esta línea: Código
y luego la buscamos en "Crack Me.il" para reemplazarla con: Código
Utilizamos nuevamente Ensamblador.bat y el resultado obvio es que carga directamente el formulario2 (Form2) y ya no carga el form1 para la validación del password. Los nombres de Form1, Form2 obviamente cambian según la aplicación que abramos, tan solo es buscar la organización, nombres y métodos que utiliza. El cambiar algunos de los recursos que utiliza puede hacerse modificando el *.res de la aplicación. Asi nos evitamos estar buscando cracks o adquiriendo aplicaciones como Dis# que viendo cómo funciona supongo que debe basarse en estas 2 herramientas. Obtenemos un mayor aprendizaje de la plataforma .NET y mejoras en cuanto al nivel de protección. Quería mostrar esto puesto que lo utilicé para obtener el algoritmo de validación para facturas de cierto país, aunque el mismo utilizaba Salamander .NET obfuscator no fue difícil obtener dicho algoritmo y ... Bueno, lo que muestro es la parte sencilla, la parte interesante es automatizar todo este trabajo para modificar triales y demás basados en .NET en cuestión de segundos (eso porque ya tengo comprador para dicha aplicación), pero comparto el inicio del proyecto por si alguien quiere realizarlo por su cuenta. Adjunto el proyecto y los archivos de ejemplo (descomprimir en el escritorio para un funcionamiento directo). Descarga: http://www.4shared.com/file/dHWAGETI/CrackNET.html Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: [D4N93R] en 7 Septiembre 2010, 15:22 pm Buen post,
Añadido a la lista. +1 Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: NetStorm en 10 Septiembre 2010, 17:32 pm Pues, en definitiva no es la gran cosa, pero la verdad que despierta mucha curiosidad, en la actualidad muy pocos programadores a no ser que sean Nobs, colocarían la clave en modo cadena y luego la compararían, pero se le puede dar otros usos. ;-)
Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: 43H4FH44H45H4CH49H56H45H en 10 Septiembre 2010, 20:01 pm Solo use esa comparación para que cualquiera pueda entender el ejemplo, pero ya que tocaste el tema, porque no creas un "crack me" sin utilizar técnicas de protección de terceros y que tenga más de un formulario, subes el .exe y probamos este método.
Asi tb damos un ejemplo de protección de como NO lo haría alguien que no es parte de los "Nobs", eso lo haré yo al saltar tu protección y luego escribiré su respectiva explicación. Si estas de acuerdo, el serial o clave debe ser diferente para cada equipo. ;D Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: ☺BADMAN en 10 Septiembre 2010, 20:31 pm Estos son los Posts que me gusta Leer ;D igual si no es una cadena plana, se puede aislar el modulo que genera la clave, y romperla a fuerza bruta, y en caso de que sea un hash md5 lo que esta guardado de la clave igual se puede sustituir por un Hash de la nueva clave :) ....
Buen Aporte Men .... :P Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: 43H4FH44H45H4CH49H56H45H en 11 Septiembre 2010, 17:51 pm Gracias, lo interesante es que incluso se puede editar iconos, imágenes, texto y más cosas de manera rápida y sencilla, osea si fuera uns software en otro idioma se puede hacer la traducción de manera rápida.
Saludos Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: jackgris en 18 Junio 2011, 15:32 pm Muchas gracias, una sencilla explicacion para que cualquiera lo entienda, saludos ;-) ;-) ;-)
Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: .::IT::. en 19 Junio 2011, 16:53 pm La única solución para evitar esas cosas es usar un ofuscador, yo prefiero hacerlo todo portable con http://spoon.net/Studio/ así la cosa es más difícil.
Título: Re: Introducción al crackeo manual de aplicaciones .NET Publicado por: alhevar en 20 Junio 2011, 00:30 am Muchisimas gracias por el tuto, me fue de gran ayuda.
Nunca me había topado con un .net y fue muy sencillo de lograr, quitando el tiempo de navegación por el ejecutabla hasta que di con las direcciones de chico bueno, chico malo. Luego tan solo fue modificar un salto de linea y vuoiala o como se diga. De nuevo muchas gracias, un saludo |