La Red de Conocimientos Pedagógicos - Currículum vitae - Papel CPL

Papel CPL

Una breve discusión sobre el craqueo y la protección del software

La protección de los derechos de propiedad intelectual y la resistencia al software pirateado es una cuestión urgente que enfrenta la industria del software china. La mayoría del software actual utiliza tecnología de cifrado para manejarlo. Analiza varios términos técnicos importantes y métodos de descifrado de software comúnmente utilizados en el descifrado de software, e introduce en detalle la tecnología de cifrado suave y duro.

Palabras clave: propiedad intelectual, cifrado de software, craqueo de software

1. Introducción

Al desarrollar software, especialmente cuando se utiliza con fines comerciales, el código de registro. y el código de activación son muy importantes. Los usuarios no registrados tendrán ciertas restricciones, como días de uso, retrasos, pantallas no registradas, etc. Sin embargo, la tecnología actual para descifrar software es muy poderosa. Varios programas de software a gran escala en el país y en el extranjero tienen mecanismos de registro, pero al mismo tiempo se descifran constantemente. El Estado ha intensificado repetidamente sus esfuerzos para acabar con la publicación ilegal de software y apoyar el software legítimo, pero los resultados reales no son los ideales. La mayoría de los proveedores de software optan por comprar productos de cifrado o tecnología de cifrado para proteger su software. La protección del software generalmente se divide en cifrado suave y cifrado duro.

2. Métodos comunes de craqueo de software

Primero, echemos un vistazo a algunos términos profesionales importantes en craqueo.

(1) Punto de interrupción, el llamado punto de interrupción es el lugar donde se interrumpe el programa. Interrupción significa que la computadora suspende la tarea actual, realiza otra tarea en su lugar y luego regresa a la tarea original para continuar la ejecución. El proceso de descifrado consiste en esperar hasta que el programa obtenga el código de registro que ingresamos y prepararnos para compararlo con el código de registro correcto. Luego podemos encontrar el código de registro correcto analizando el programa.

(2) El espacio aéreo, el llamado espacio aéreo del programa, es el territorio del programa en sí, que es donde se encuentra el código del programa que queremos descifrar. No existe un patrón fijo para escribir cada programa, por lo que si queremos interrumpir el programa al cortarlo, debemos establecer puntos de interrupción independientemente del programa específico. Es decir, los puntos de interrupción que establecemos deben ser utilizados por cada programa.

(3) API, abreviatura de Interfaz de programación de aplicaciones, es una gran colección de funciones definidas por el sistema que proporciona métodos para acceder a las funciones del sistema operativo. La API contiene cientos de funciones llamadas por aplicaciones que realizan todas las operaciones necesarias relacionadas con el sistema operativo, como asignación de memoria, salida de pantalla y creación de ventanas. Los programas WINDOWS se basan en sistemas de procesamiento API. No importa qué tipo de aplicación sea, su capa inferior finalmente implementa varias funciones llamando a varias funciones API.

Después de comprender los tres términos profesionales anteriores, echemos un vistazo a los métodos básicos de descifrado de software.

2.1 Método de craqueo por fuerza bruta. Este es el método de craqueo más común y simple. El cracker utiliza directamente herramientas de edición para modificar el archivo ejecutable, es decir, modifica el archivo fuente del programa de atributos para lograr el propósito del craqueo. Cuando algunos componentes verifican la información de registro del usuario y el código de registro, si la información ingresada por el usuario es igual al código de registro generado por el algoritmo pasado por el software, el registro del programa es exitoso; de lo contrario, el registro falla.

2.2 Utilizar la máquina de registro de algoritmos. La máquina de registro de algoritmos es un programa que genera automáticamente códigos de registro de software basándose en el análisis de algoritmos de códigos de registro de software. Por lo tanto, el algoritmo del software es muy importante. Generalmente, los autores del software lo escriben ellos mismos para facilitar la venta y el uso del software. La característica de este cifrado de software es que un código de registro solo se puede utilizar en una computadora, como si estuviera vinculado a la computadora uno a uno. Los pasos de uso son los siguientes: primero ejecute el software de prueba para obtener el código de máquina del software de la máquina, luego use la máquina de registro de algoritmos para registrarse, luego use la máquina de registro de algoritmos para calcular directamente el código de registro apropiado y finalmente use el calculado código de registro para registrarse directamente.

2.3 Utilizar la memoria para crackear. Sabemos que todos los datos para ejecutar programas deben cargarse en la memoria. Cuando el software se autentica con un código de registro, habrá un proceso de comparación, por lo que solo necesitamos saber la dirección de memoria del código de registro del software que se va a descifrar. para lograr nuestro objetivo. La ventaja de este método es que no requiere demasiado esfuerzo para dominar el algoritmo del código de registro del software y ahorra tiempo al escribir la máquina de registro de memoria. El paso es cargar primero la máquina de registro de memoria y luego usarla para obtener el código de registro real del software en la memoria, o modificar algunos datos relacionados con el software en la memoria para lograr el propósito de descifrar el software. Hay dos formas principales: la primera es obtener el código de registro directamente de la memoria y la segunda es simular el entorno de ejecución del programa de registro en la memoria.

2.4 Método de craqueo de parches y método de registro de archivos. El método de descifrado de parches se refiere a modificar el software con parches relevantes para lograr el propósito de descifrar el software. Este método generalmente implica descifrar el código de registro de verificación o la hora del software y básicamente modifica la sentencia de juicio del programa original. Por ejemplo, el período de prueba del programa es de un mes y puedes modificarlo para lograr un uso ilimitado. El método de registro de archivos consiste en colocar el contenido de registro del software en un archivo para facilitar el registro por parte de usted o de otros. Hay dos formas principales: guía de registro y guía de archivo de registro. 3. Métodos comunes de protección de software

3.1 Código de registro. El código de registro del software generalmente es uno para cada máquina y no se puede repetir. Echemos un vistazo a cómo lograr esto.

El primer paso es generar código de máquina basado en la etiqueta de volumen del disco duro y el número de serie de la CPU. Primero, escriba la función getdiskvolumeSerialnum-ber () de cadena estática pública para obtener la etiqueta de volumen del disco duro del dispositivo, luego escriba la función getCpu () de cadena estática pública para obtener el número de serie de la CPU y finalmente genere el código de máquina. Estas funciones son las siguientes:

Número de cadena; Cadena cadena estática pública getsoftNum()

{ strNum-= getCpu GetDiskVolumeSerial-strsoftNum = strNum. Substring (0, 24); //Toma los primeros 24 caracteres de la cadena generada como código de máquina y devuelve strsoftNum}

El segundo paso es generar el código de registro basado en el código de máquina, que debe ser Para lograrlo, escriba una función pública estática String getRegistNum().

Paso tres. Consultar estado de registro. Si no estás registrado, podrás personalizar los días de prueba, retraso, pantalla de baja, etc. , y se puede lograr escribiendo el número de vacío privado CheckRegist0 Cpl.

3.2 Cifrado suave. El llamado cifrado suave es una tecnología que no depende de ningún software especial de protección de hardware. Actualmente, el software más utilizado en el mundo utiliza cifrado suave, como el sistema Windows de Microsoft y el software antivirus. Su mayor ventaja es el coste de cifrado extremadamente bajo. En la actualidad, existen principalmente métodos de criptografía, métodos de verificación de hardware informático, métodos de disco clave, etc. Actualmente, los shells más populares se dividen en shells de compresión y shells cifrados. La protección de los shells de compresión es relativamente débil, por lo que generalmente se utilizan shells de cifrado. El principio es utilizar el principio de equilibrio de pila para modificar el código del programa de modo que salte al código de shell para ejecutar el programa de descifrado. Después de descifrar el código del programa original, regrese al OEP del programa original para continuar. ejecución. Actualmente, los shells de cifrado potentes utilizan códigos de descifrado dinámicos y tecnologías de cifrado SMC e IAT. El programa descifra dinámicamente el código durante la operación, lo elimina inmediatamente después de la ejecución y cifra el IAT. Cuando se llama a una API, utiliza un algoritmo de descifrado para calcular la dirección real de la API para llamarla. Es más, todavía hay un caparazón dentro del caparazón. Los cinco shells fuertes comunes actualmente son: (I) EncryptPE, caracterizado por un cifrado fuerte IAT (2) una protección, caracterizada por el uso de SEH multicapa, que es fácil de marear a las personas (3) ACP rect, caracterizado; por el uso de código robado; (4) armadillo, caracterizado por dos procesos que se detectan entre sí; Un buen cifrado hace que los piratas paguen un precio enorme, gasten mucho tiempo y energía en descifrar el software protegido y, finalmente, se vean obligados a abandonar el ataque.

3.3 Cifrado duro. El cifrado duro es lo que llamamos dongle o bloqueo de cifrado, que es una combinación de software y hardware que se conecta al puerto USB o al puerto paralelo de una computadora. En la actualidad, la mayoría de ellos tienen forma de puertos USB y se basan en tecnología de protección de hardware. Su propósito es prevenir el uso ilegal de los derechos de propiedad intelectual mediante la protección del software y los datos. Es una herramienta poderosa para garantizar que el software de alta gama no sea pirateado durante su ciclo de vida en el mercado. Los dongles generalmente tienen decenas o cientos de bytes de espacio de almacenamiento no volátil para lectura y escritura, y ahora los dongles más nuevos también incluyen un microcontrolador. Los desarrolladores de software pueden intercambiar datos con el software dog a través de funciones de interfaz y verificar si el software dog está insertado en la interfaz. El microcontrolador incorporado del dongle contiene un software de algoritmo dedicado al cifrado, que no se puede leer después de haber sido escrito por el microcontrolador. Esto garantiza que el hardware del dongle no se pueda copiar.

Al mismo tiempo, los algoritmos de cifrado son impredecibles e irreversibles. El algoritmo de cifrado puede convertir números o caracteres en números enteros, como dconvert (6) = 67876, dconvert (x) = 345670.

4. Conclusión

El craqueo de software y el cifrado de software son contradictorios y contradictorios. El buen efecto de cifrado es que los piratas pagaron un precio enorme al descifrar el software protegido, gastaron mucho tiempo y energía y finalmente se vieron obligados a abandonar el ataque. Finalmente, debemos darnos cuenta de que el craqueo de software no es ético y viola las normas de protección de software. La popularización, la comercialización y el bajo precio del software ahora también nos brindan la oportunidad de utilizar software genuino, por lo que debemos crear conciencia, hacer todo lo posible para no utilizar la piratería y apoyar el desarrollo de la industria del software de China con acciones prácticas.