Programas Comerciales De la Protección Del Software
Además de los programas del freeware y del shareware, hay un número de programas comerciales para la protección del software. Éstos, varían también en calidad. Al escribir este artículo, me prepuse escribir sobre toda la protección comercial del software que podría encontrar. Aprendí rápidamente, aunque, que había lejano también muchos paquetes comerciales a cubrir en un espacio razonable, así que corté mi lista inicial abajo a cerca de cuarenta paquetes (quizás una mitad de cuál está disponible). Entonces seleccioné qué se parecía ser no solamente el más conocido, pero también, en mi opinión, los mejores paquetes, y estudiaron cada uno detalladamente. Me centré ambos en el diseño de cada paquete así como el código sí mismo. La mayoría del software comercial actual trabaja como armadillo, SVKP, Vbox, y ASProtect. Sin embargo, solamente algunas paquetes de software comerciales manejan su protección bien, y la mayoría de estos programas incluso no se protegen contra cambios en el código, que encuentro para ser mismo unprofessional. Hay absolutamente una gama de la protección del software disponible, y la mayor parte tiene sus debilidades. Como revelador del software, usted debe entender las debilidades en los programas que usted elige, y desarrolla una buena estrategia para emplear la protección del software. Hay buenas soluciones hacia fuera allí, y cuando está utilizado inteligente, uno es seguro trabajar para usted, pero no cuenta con ninguna una solución al último por siempre. ASProtectASProtect, del software de ASPack (http://www.aspack.com), no es justo otro programa contra-que se agrieta comercial; es un avance verdaderamente revolucionario en la protección del software. Puede ser la solución preembalada a la protección del software para los que no deseen pasar las largases horas que estudian y que programan la protección de encargo para su propio software. El creador Alexey Solodovnikov de ASProtect aprendió mucho de su trabajo sobre ASPack y aplicó esa experiencia a ASProtect. Él demanda que porque todas las defensas contra-que se agrietan pueden ser derrotadas, la única cosa importante está bajo qué circunstancias pueden estar rotas. Mientras que fue creada especialmente para los reveladores del shareware, ASProtect se puede utilizar para el software profesional también. Mientras que no es tan versátil como FLEXlm, y trabaja solamente bajo Windows, I daresay que es actualmente la protección comercial más difícil del software a romperse. Su solamente debilidad es que no tiene los mejores trucos el contra-eliminar errores. Comparado a la otra protección comercial del software, ASProtect es simple y bien-programado, reflejando la idea simple pero maravillosa detrás de él. Como programas similares, el programa original es comprimido y entonces sin comprimir por ASProtect antes de que se funcione. La compresión de ASProtect se basa en el algoritmo de ASPack, que está entre el mejor. Mientras que agrega sobre 60KB del código al programa original, este código adicional no importa en todos, puesto que el programa comprimido que resulta es mucho más pequeño entonces el original. La rutina de la descompresión de ASProtect comprueba para considerar si haya habido tentativas de cambiar el archivo, e intenta prevenir cambios en memoria. Naturalmente, sin la descompresión, el programa original no puede ser desmontado, y no es fácil descomprimir ASProtect porque intenta prevenir descargas de memoria por programas como ProcDump. La sección de la importación se ha descargado una vez de memoria, el archivo del PE no estará correcta. No obstante, hay una manera de descomprimir ASProtect (no apenas descargando), pero ASProtect todavía no se derrota incluso después de la descompresión acertada. Como FLEXlm, ASProtect intenta prevenir el uso de ciertas funciones en el programa protegido cuando es sin registrar, y comparado tan maravillosamente con el otro software. Por ejemplo, si un programador desea inhabilitar la inspección previo en la versión sin registrar, él necesita solamente codificar esta función con ASProtect. Después del registro, se descifra la parte lisiada usando una constante de la llave del registro, y no es posible descifrarla sin esta llave del registro. La codificación excepcionalmente fuerte de ASProtect previene incluso ataques directos (de la bruto-fuerza). Hay tres maneras de asegurar un uso con ASProtect. La primera manera utiliza la compresión clásica y no se recomienda porque es relativamente fácil descifrar. La segunda posibilidad es mucho más interesante, aunque aún no el mejor. Con este método, la protección original primero se authentica después de que el ASProtect API se llame con una constante para descifrar la parte codificada del programa. Usted puede ser que utilice este método si, por ejemplo, el programa que usted desea proteger ya tiene su propio control del registro y usted no desea cambiarlo. Este método sería una opción pobre si la protección original es débil, puesto que no evitaría que la galleta consiguiera la constante correcta. La tercera y mejor posibilidad no agrega ninguna protección a su programa (aunque las protecciones adicionales son posibles). Básicamente, al usar este tercer método, usted especifica en la lengüeta de las llaves del registro en ASProtect que usted quisiera que su proyecto contuviera una llave del registro. El programa entonces crea una constante básica que sirvan como base para otras llaves, y que también será utilizada para codificar la parte protegida del programa. Usted puede generar las llaves según nombres del usuario, y usted puede también ahorrarlos. Finalmente, usted se determina dónde la llave del registro será ahorrada en el registro después del registro. Los archivos dominantes de ASProtect de la nota tienen conclusiones DOMINANTES pero son esencialmente los archivos del registro que se importan en los registros que doble-se han chascado una vez. Esto es una ventaja, porque las llaves del registro de ASProtect son algo largas, y sería aburrido que los usuarios los inscriban a mano. El paso siguiente es verificar el registro. Si usted tiene solamente una llave del registro, el programa imprimirá el nombre del usuario registrado. Usted puede también especificar las llaves que ilegal se han hecho público si usted no quisiera que funcionaran en las versiones futuras del programa. Las versiones subsecuentes de ASProtect podrán probablemente generar las llaves para solamente una computadora, que prevendrá la distribución ilegal de las llaves del registro. Finalmente, en el código del programa usted especifica las partes del programa que usted desea codificar—esto es un procedimiento simple que se puede realizar por casi cualquier programador. ASProtect contiene actualmente los ejemplos del código para Delphi, C++ visual, y básico visual. Por ejemplo, aquí está un ejemplo corto en C++ visual: incluya < windows.h > # incluya el carbón de "include\asprotect.h" * mensaje; anule RegisterAction() {
REG_CRYPT_BEGIN mensaje = "versión registrada!"; REG_CRYPT_END } WINAPI interno WinMain (hInstance de HINSTANCE, hPrevInstance de HINSTANCE, szCmdLine de PSTR, iCmdShow interno) {
mensaje = "versión sin registrar!"; RegisterAction(); MessageBox (0,message, "",0); vuelta 0; } Usted debe agregar REG_CRYPT_BEGIN al principio del programa codificado y REG_CRYPT_END al extremo. Al principio de la parte codificada del programa, usted debe agregar los datos siguientes: 0EBh, 04h, 0EBh, 05h, 89h, 89h, 0E9h, 0, 0, 0, 0 Y los datos siguientes se agregan en el extremo: 0EBh, 04h, 0EBh, 05h, 99h, 99h Estos datos permiten a ASProtect encontrar las áreas que usted desea codificar. Después, usted necesita solamente llamar el procedimiento y el resto será hecho para usted. Si un programa no se coloca, la parte codificada será saltada, o bien un error ocurrirá. Si se coloca el programa, esta parte será descifrada en el comienzo del programa, y será utilizado más adelante cuando se llama. Usted puede conseguir el nombre del usuario con la función del API del apiGetRegInfo(). Si usted necesita crear muchas llaves del registro inmediatamente, ASProtect hace fácil proveiendo la biblioteca keygen.dll. Usted puede generar llaves del registro con sus dos funciones. La función de GenerateKeyAsRegFile() crea un archivo del registro basado en la información del usuario. Alternativomente, la función de GenerateKeyAsString() vuelve el indicador de memoria a donde la llave del registro fue creada. ASProtect permite que usted fije el número de las épocas que un programa puede ser funcionado o el número de días que será usable. Desemejante de programas comerciales similares, toda la protección se pone en el archivo del PE, y no en archivos agregados del DLL o de OCX. En fecha esta escritura, es imposible que una galleta quite correctamente la protección de ASProtect. Para hacer así pues, él necesitaría utilizar la llave correcta del registro para descifrar el programa y después para descargarlo de memoria. Por supuesto, los creador del programa consideran este ataque, pueden prevenirlo también agregando protecciones adicionales. · Pruebe la original del archivo: 1.691.648 octetos · Pruebe la codificación del archivo: 693.760 octetos · Decodificador: AspackDie FLEXlmFLEXlm, del software de Globetrotter (http://www.globetrotter.com) es uno de los programas lo más con frecuencia posible usados de la protección para el software comercial más pricier. Mientras que está utilizado originalmente sobre todo con el software de Unix, en los últimos años se ha utilizado con otros sistemas también, especialmente Windows. FLEXlm es utilizado por los productores más grandes del software, incluyendo sistemas del adobe, microsystems del sol, Texas Instruments, Sybase, y el SGI. FLEXlm apoya la mayoría de los sistemas operativos y muchos protocolos de red, y ofrece muchas maneras de proteger un producto. Describiré brevemente los más importantes. La opción de las características de producto del enable/Disable es usado lo más con frecuencia posible. La versión parcial de programa de la versión parcial de programa (licencia Tiempo-Limitada) o los programas tiempo-limitados puede inhabilitar ciertas características encontradas en el producto lleno. El límite de tiempo se puede determinar por una fecha en que la licencia expira, por un número de días, o por un número de comienzo del programa. Enable/Disable las características de producto que esta opción le deja inhabilitar algunas características del programa y utilizar varios tipos de licencias. Por ejemplo, en la versión del "lite" de un programa, algunas funciones pudieron ser lisiadas y después permitieron una vez que un usuario se coloque para la "favorable" versión. La flotación sobre una red esta opción le deja determinar el número máximo de los usuarios que pueden utilizar un programa particular sobre una red contemporáneamente. El Nombrar-Usuario este ajuste especifica que el programa se puede utilizar solamente en las computadoras que tienen sus nombres de la red especificados en una lista de usuarios. Nodo-Bloqueado esta opción traba el producto a una computadora particular. Nodo-Bloqueado contó las cerraduras de esta opción el programa a una computadora y solamente para un número limitado del comienzo. Tiempo-Limitado esta opción fija una fecha después de lo cual la licencia para el producto expirará y el programa quiere sea no más de largo usable. El dominio solamente esta opción restringe el uso del producto a las computadoras en un dominio específico del Internet. Los productos protegidos llaman la protección de FLEXlm usando funciones del API, y esta protección entonces comprueba la licencia en un archivo, generalmente license.dat. Antes de que el programa utilice una función protegida, comprueba para considerar si un usuario particular tenga una derecha de utilizar la función. La protección de FLEXlm no es irrompible sin embargo. En esta escritura, hay un generador que capitaliza en faltas en FLEXlm de producir archivos correctos de la licencia. Naturalmente, la existencia de este generador disminuye la eficacia de FLEXlm. Por otra parte, aunque, cuando está utilizado correctamente y combinado con otras protecciones, puede FLEXlm oferta inmóvil una solución muy buena. Por ejemplo, si otro programa se utiliza para probar la licencia otra vez de una cierta otra manera una vez se ha utilizado una función protegida, ese programa revelará a menudo un archivo ilegal creado de la licencia. Es a veces difícil encontrar todas las funciones protegidas de FLEXlm, y es absolutamente esencial evitar de poner sus nombres directamente en el archivo de EXE en forma legible. Porque las galletas fijan a menudo un límite de facturación en la llamada del lc_checkout al buscar para las llamadas de función de FLEXlm, es mejor comprobar las funciones protegidas solamente cuando se utilizan, más bien que comprobarlas todas tan pronto como el programa haya comenzado. Sea seguro, también, comprobar los límites de facturación fijados a esta llamada, y utilizar otras protecciones en el programa. Mientras que FLEXlm es frágil, es fácil utilizar. Su amplia gama de opciones y la ayuda para una variedad de sistemas operativos le hacen una opción atractiva de la protección del software. InstallShieldEl software de InstallShield se diseña para crear los paquetes de la instalación. Cualquier persona que trabaja en Windows ha visto probablemente ya lo, y lo es más probable el mejor uso del campo para hacer tan. Muchos programas han procurado competir con InstallShield, pero ningunos lo han batido (aunque vienen algunos cerca). Porque un paquete culpable de la instalación puede causar los problemas enormes para la distribución del producto, usted debe utilizar el mejor producto de la instalación que usted puede encontrar, incluso si es un pedacito más costoso. InstallShield se ha probado y se ha utilizado extensivamente por varios años sin los problemas, que sí mismo es una buena prueba para los errores. InstallShield puede realizar simple así como instalaciones altamente complicadas. Puede incluso llamar las llamadas del API de bibliotecas externas, que es bueno para la protección. Y, puede comprobar para saber si hay varias condiciones del registro durante la instalación. La llave del hardware se prueba a menudo durante la instalación, y se para la instalación si la llave correcta del hardware falta. La dificultad de quitar esta protección depende solamente de la calidad de la biblioteca del DLL. InstallShield utiliza su propia lengua scripting simple, que es probablemente la mayoría como C, y una vez que se ha creado el paquete de la instalación, los archivos se comprimen en ficheros especiales. Al instalar, todos los archivos necesarios para la instalación se descomprimen en el directorio y entonces el funcionamiento de la temperatura solamente de allí. Esto tiene la ventaja que incluso cuando la protección puede ser quitada, él todavía no es fácil cambiar los archivos dentro del paquete de la instalación. (en esta escritura, un descompresor para la versión 5 de InstallShield podría poner al día sus archivos comprimidos, pero todavía no había nada como él para la versión 6.) La parte más difícil de agrietarse InstallShield-protegio' mentiras de los archivos en romper la protección programada en la lengua de la escritura de InstallShield. Eliminar errores de la lengua es difícil porque es muy similar a básico visual en el p-co'digo. El atacante encontrará un problema al intentar cambiar el archivo que contiene la escritura que—el archivo es protegido por un cheque del CRC, y es muy difícil realizar el cambio correctamente porque la estructura de archivo es algo confusa y complicada. No obstante, la protección puede estar rota. Instale el protector es claramente el mejor programa para crear los paquetes de la instalación. Se ha utilizado no solamente con los juegos pero también con los usos más costosos. ShareLockShareLock del software de Nesbitt (http://www.nesbitt.com) es la protección comercial que utiliza llamadas del DLL API. Mientras que ha sido continuado por Nesbitt, todavía se utiliza hoy, así que déjenos tienen una mirada en ella. La protección de ShareLock es más compleja que un programa como Vbox, requiriéndole insertar una llamada del API en el código para probar el uso protegido. Usted puede probar para la expiración de un límite de tiempo o para la corrección del número de registro incorporado. La protección entera es asegurada por un DLL ShareLk20.dll llamado biblioteca, que se debe situar en el directorio con el uso protegido o en el directorio del sistema de Windows. El punto más débil de ShareLock miente en la protección de la biblioteca del DLL sí mismo, que es muy fácil de modificarse porque no tiene ningún cheque del CRC. Por otra parte, el cálculo del número de registro es muy bueno, y es duro encontrar; para encontrarlo, un atacante tendría que eliminar errores de ShareLk20.dll y encontrar una localización para el cambio en el código del programa, en que punto el programa se comportaría como si estuvo colocado. Desafortunadamente, si la protección se puede romper esto fácilmente, no hay manera de proteger el uso contra ataque. (quizás el uso protegido podría realizar la suma de comprobación de la biblioteca del DLL para detectar un ataque.) No obstante, las noticias peores son que una vez que la protección de ShareLk20.dll esté quebrada, es posible utilizar (ilegal) todos los usos que utilicen esta protección comercial, que puede manar sea porqué se ha continuado este producto. El Sistema de protección Del Software Del ArmadilloEl sistema de protección del software del armadillo es protección comercial contra los reinos Toolworks (www.siliconrealms.com/armadillo.htm) del silicio. Los programas se codifican y se comprimen por medio de una llave de codificación aleatoriamente generada. El armadillo contiene una particularmente función interesante que permita que los reveladores incorporen los números de registro ilegales encontrados por las galletas en una base de datos de modo que tales números sean no funcionales en versiones subsecuentes. El armadillo también contiene los trucos el contra-eliminar errores que protegen contra SoftICE. Es fácil manejar el armadillo, y miraremos algunas de sus características más interesantes en la lista siguiente. El armadillo tiene un sistema de ayuda muy bueno también; para aprender más sobre una opción particular, selecciónela simplemente para leer su descripción o para tener acceso al sistema de ayuda. El hardware que traba las opciones (favorables) con el hardware que se traba, el número de registro cambia para cada computadora, según los varios parámetros que usted fija aquí. No divulgue la comprobación de la protección del Reloj-Detra's será lisiado si el tiempo no fue dado vuelta detrás en el sistema del usuario. Esta protección debe ser inhabilitada solamente si su programa tiene problemas con él. Los certificados encajonan definen las llaves para la protección del producto cuando se utilizan los certificados, el programa se pueden colocar solamente con estos certificados. Usted puede fijar las varias opciones para estos certificados en sub-menus. Cree la llave de FixClock si un usuario rompe la protección del tiempo y cambia la fecha, el programa protegido por Armadillo dejará de funcionar. Cuando el usuario funciona el programa en este formato: fixclock del program_name, le pedirán incorporar la llave supuesta del "fixclock". Si él incorpora la llave correcta, el programa comenzará a trabajar normalmente. El armadillo es un programa muy bueno, pero es demasiado fácil quitar de un producto protegido. Por ejemplo, toda la galleta necesita hacer debe esperar hasta que el programa carga en memoria y se descifra, en que punto él puede descargar el programa de la memoria al disco y realiza algunos cambios pequeños para que el programa sea completamente funcionales. El armadillo sí mismo hace el trabajo de la galleta más fácil porque crea un proceso en memoria con el mismo nombre que el programa protegido, a excepción del sufijo, TMPO. Este proceso se descifra completamente después de cargar en memoria, y toda la galleta necesita hacer debe descargarla a la impulsión dura. El armadillo puede ser una buena opción para los programadores del shareware que tienen menos experiencia con la programación de la protección. Este uso parece realmente profesional, y espero que sus creador encuentren una manera de mejorarla en más nuevas versiones. Actualmente, aunque, no puedo recomendar el armadillo porque es tan fácil quitar, aunque menos galletas experimentadas no podrán probablemente hacer tan — a menos que, por supuesto, utilicen un decodificador encontrado en el Internet. · Pruebe la compresión del archivo: 1.007.806 octetos · Descompresor: Asesino del Un-un-Armadillo y del armadillo VboxVbox de los sistemas del conocimiento de Aladdin (http://www.ealaddin.com) es uno de los más viejos y lo más con frecuencia posible usados programas comerciales de la protección para Windows. Mientras que se utiliza sobre todo para el shareware, las versiones de la versión parcial de programa de programas costosos se protegen a veces con él también. La protección de Vbox se basa en límites de tiempo. Una ventana aparece cada vez que se lanza un programa Vbox-protegido, y de esta ventana usted puede funcionar el programa sí mismo hasta que expira el límite de tiempo. Las primeras versiones de Vbox fueron llamadas TimeLock y eran muy populares. Para la protección, TimeLock 2 llamadas del API de las aplicaciones contra la biblioteca de tl32v20.dll, llamada del programa protegido. El uso protegido prueba los valores de vuelta y decide a si continuará funcionando o no. Parece esto en el programa: llamada CallTimeLock Después de que esto vuelva, el registro de EAX debe contener un valor de vuelta dependiendo de el cual varíe si la prueba era acertada o no. TimeLock 3.03 A 3.10 Las mejoras en estas versiones de TimeLock incluyen la codificación de ciertas partes del programa y de una inspección previo que fije el punto de entrada (el comenzar) del programa. Esta inspección previo contiene los muchos del código de Vbox que hace eliminar errores difícil. Una llamada del API al principio del programa tiene un nombre algo inusual: llamada tl303inj.PleaseTraceIntoMe_MrCracker La parte codificada del uso se descifra en esta función, y el valor de vuelta es el punto de entrada del programa protegido (o en caso de que de un error, de la dirección para la llamada de ExitProcess API). El valor de vuelta está en el registro de EAX otra vez, y la instrucción pasada es llamar el eax, que salta en este punto de entrada verdadero del programa (o en la llamada de ExitProcess API en caso de que de un error). TimeLock 3.13 A 3.15 Estas versiones trajeron varias innovaciones: ·Codificación de todo el código del programa · Codificación del idata de la sección · Cálculo del CRC de la biblioteca del DLL de la protección en memoria El programa que descifra con estas versiones no es tan fácil como con los anteriores. Para una cosa, la información de codificación se ahorra en una pieza codificada del idata. También, el control del CRC del tl315inj.dll está en la memoria, que asegura la protección contra límites de facturación (por supuesto, no eliminar errores de límites de facturación), así como contra cambios en el código. (usted puede encontrar las iniciales del li de Weijun en el código; él es probablemente el programador del plomo.) Vbox 4.0 A 4.03 En esta versión, Vbox primero apareció como lo sabemos hoy. Esta versión, a veces llamada TimeLock 4, contiene muchas mejoras. Se comprime El EXE protegido, y la sección codificada del idata está en un archivo separado. La protección sí mismo está situada en tres bibliotecas del DLL: Vboxp4xx.dll descomprime y carga archivos del DLL Vboxt4xx.dll contiene la rutina básica para la protección del PreviewParadise_WJ Vboxb4xx.dll carga vboxt4xx.dll y llama PreviewParadise Se comprimen pero no se codifican las dos bibliotecas pasadas del DLL, y la información sobre las llamadas importadas se ahorra. Dos porciones en el archivo, llamado inspección previo y WeijunLi, contienen un buen pedacito del código y de datos codificados. La primera parte contiene código normal, mientras que se comprime el segundo. Una vez que se lance un programa protegido, la primera llamada está a vboxpxx.PreviewExecGate_By_WeijunLi, que descomprime el programa original en la inspección previo. Una vez que se haya descifrado todo, un pedazo pequeño del código contiene una llamada a una función exportada de vboxbxx.dll. Esta función es también primera descomprimida con vboxpxx.PreviewExecGate_By_WeijunLi antes de ser lanzado, y llama vboxtxx.PreviewParadise_WJ. Esta función también realiza el CRC en el archivo protegido, así como en los archivos de vboxt4xx.dll y de vboxb4xx.dll. Si el CRC es incorrecto, el programa trabajará con una llave incorrecta el descifrar, y después de descifrar incorrecto, el CRC también será incorrecto para los datos descifrados. El programa entonces exhibirá un mensaje de error. Vbox 4.10 Esta versión contiene las novedades siguientes: · CRCs para todos los archivos importantes están autorizando señales · CRCs para las copias de archivo del DLL se calculan en memoria · El programa intenta detectar una depuración en memoria Si alguien intenta desmontar el código de vboxp410.dll en WinDasm, un error ocurrirá en el programa. IDA (desensamblador interactivo) trabajará muy bien, solamente él creará código incorrecto. Vbox 4.3 Esta versión más última de Vbox ofrece la buena protección, aunque es vulnerable a descargar de memoria (apenas como armadillo). No importa cómo es extenso el código, usted no tiene que intentar entenderla toda para agrietarla. Todo lo que usted tiene que hacer debe encontrar el principio del programa de codificación y descargarlo de memoria. (si los autores solucionan este problema en las versiones futuras, Vbox será definitivamente uno del mejor de los paquetes comerciales de la protección.) El uso del constructor de Vbox de Vbox hace muy fácil crear un uso protegido. Es muy fácil crear una caja de diálogo inicial para su programa con Vbox cuando usted lanza el programa, usted fijó una trayectoria al archivo del privilegio de Vbox, que cada usuario obtiene del editor del software. Para obtener este archivo del privilegio, chasque el botón del archivo del privilegio del conseguir. Su browser exhibirá la página del editor, y usted tendrá que completar un cuestionario. Dentro de algunos minutos, usted debe recibir un email que contiene un archivo corto con la extensión del prv. Chasque después e incorpore un nombre del archivo para el archivo de información de la licencia de Vbox, y después incorpore una contraseña para evitar que la gente desautorizada trabaje con su archivo de la licencia. Después, seleccione la lengua en la cual usted desea trabajar, e incorpore el nombre del autor, el producto, la versión, el año, y el número de identificación del producto. En menús siguientes, usted incorporará la información más importante, incluyendo limitaciones en el número máximo de lanzamientos o los días, o una fecha en la cual expirará el período de prueba del uso. En el avanzado Las opciones menú, usted de la seguridad fijará la protección del uso. Si usted selecciona el atascamiento del software, los usuarios no podrán copiar el uso a otra computadora debido a archivos secretos en la impulsión dura. Si usted elige el atascamiento del hardware, la información sobre el hardware será utilizada para identificar la máquina licenciada. · Pruebe la compresión del archivo: 835.320 octetos · Descompresor: Vbox Unwrapper El Protector Eslovaco (SVKP)Es especialmente resistente escribir sobre su propio producto sin predisposición y con objetividad máxima, como usted puede ser que se imagine, y el protector eslovaco es mi producto. No obstante, prometo pegarme a los hechos y ser tan objetivo como sea posible. El protector eslovaco (SVKP) es el más joven de los productos comerciales de la protección descritos aquí. Al desarrollar el SVKP, adopté el mejor de las tendencias más últimas y, consecuentemente, el SVKP pudo parecer ASProtect. Sin embargo, esa semejanza extiende solamente a su aspecto y a algunas funciones. La estructura interna del SVKP es totalmente diferente de ASProtect, y es la única de las protecciones que he discutido que se programa en ensamblador. El hecho de que está construido con el ensamblador garantiza velocidad y permite algunas técnicas de programación especiales que sean inasequibles a mucho otra los lenguajes de programación avanzados. Como con ASProtect, el SVKP puede codificar partes de un uso protegido, que entonces podrá ser descifrado solamente con la llave derecha del registro. Utiliza llaves de RSA de la longitud 2048-bytes', que hace imposible generar llaves falsas del registro. Para hacer así pues, una galleta tendría que haber encontrado la llave privada, pero la obtención de la llave privada de una longitud tan larga por el cálculo no es simplemente posible con los sistemas informáticos actuales. Se protege, los programas compilados en los executables de la destinación (EXE, DLL, OCX, o SCR). El uso protegido no se comprime, sino que es codificado por el algoritmo de Rijndael (también conocido como AES). Este algoritmo protege contra ataques de la bruto-fuerza, y la carencia de la compresión garantiza que el programa funcionará rápidamente. Estos tipos de protección del uso son similares a ésos usados en ASProtect: Codificación del uso compilado que, mientras que sin embargo no muy es seguro, es adecuado en algunos casos. Las ventajas de esta protección son de empleo fácil y de alta velocidad, y ésa el uso puede utilizar su propio control del registro. El uso protegido utiliza las llaves del registro de SVKP. Utiliza funciones del API para determinarse si la llave derecha del registro está utilizada. Los bloques (funciones) en el uso protegido se descifran solamente con el archivo derecho del registro. Para utilizar estos bloques, simplemente lugares de la marca o partes del uso que usted desea evitar que la gente use sin la llave derecha del registro, antes de compilar el uso que se protegerá. Esto es una manera muy fácil de crear una versión protegida de la versión parcial de programa de un programa. Por ejemplo, si usted marca EXCEPTO para ser inhabilitado antes de la compilación, notificarán al usuario (sin la llave derecha del registro) que la función DE AHORRO está inhabilitada en la versión de la versión parcial de programa. Una vez que el programa se coloque con la llave correcta del registro, las funciones marcadas serán accesibles inmediatamente. Tenemos actualmente revestimientos muy serios de un problema nosotros cuando viene a la protección comercial: el publicar de las llaves del registro en el Internet. Si una galleta compra un programa (que usa generalmente una tarjeta de crédito robada) y obtiene la llave derecha del registro, él tiene dos posibilidades. Primero, él puede procurar quitar la protección, que no es fácil si el programa es protegido por el SVKP. En segundo lugar (y un possiblity mucho más atractivo a él), él puede publicar la llave robada del registro en el Internet. En este caso, cualquier persona que utiliza esta llave real puede dar vuelta a su versión de la versión parcial de programa en un programa completamente funcional. El SVKP, el ASProtect, y el armadillo toda la oferta que los tipos dominantes especiales protegidos del uso generaron para una computadora específica a los usuarios que se preponían colocarse. Una ventaja de estas llaves es que no pueden ser movidos entre las computadoras; así, su publicación en el Internet no amenaza la protección del uso. Por supuesto, hay algunas desventajas, también. Para uno, el registro requiere a usuario enviar datos sobre su computadora a un servidor antes de que se genere la llave, pero no cada usuario tiene gusto de hacer eso. También, ningunas de las protecciones mencionadas trabajan en línea, así que un registro se podría hacer directamente usando sus funciones del API. (el desarrollo adicional dirigirá probablemente hacia permitir y pagar el registro directamente con un programa de la protección, sin necesitar ir al Web site del registro o al sitio del productor.) El problema más grande, sin embargo, se presenta con un cambio del hardware. Si el usuario cambia su hardware, la llave para el trabajar, y brandnew necesita ser generado. Es por esta razón que la mayoría de los reveladores permiten que las llaves sean transferidas entre las computadoras. El SVKP incluye algunas otras tecnologías progresivas también, el más importante de cuáles son las llamadas del API que permiten a un uso protegido comunicarse con su protección, a saber la función SVKP_GetRegistrationInformation. Desemejante de otras protecciones, el SVKP también contiene funciones del API con la protección activa, incluyendo SVKP_LockKeybord, SVKP_KillDebugger, los nombres que revelan su propósito. Además de los bloques cifrados clásicos, que se descifran solamente con la llave derecha del registro, el SVKP incluye dos otros tipos del bloque. El primer tipo se descifra a la derecha antes de que el start-up y, después de la ejecución, el código del programa que contiene el bloque se suprima inmediatamente. Recomiendo que usted utiliza este primer bloque mecanografía adentro piezas iniciales del código. El segundo tipo del bloque también se descifra a la derecha antes de start-up, pero se cifra otra vez inmediatamente después de la ejecución. Utilice este tipo del bloque para las piezas críticas del código. Athough todo de las tecnologías antedichas protege contra descargar, y los SVKP y la otra protección comercial contienen la protección activa contra descargar contra la memoria, él no es bastantes. Esta tecnología ofrece una protección muy eficaz contra descargar un programa contra memoria y después desmontarlo. Tomemos otra mirada en algo de la tecnología construida en el SVKP y considerémosle la manera las direcciones los problemas de trazalíneas y de depuraciones, tan bien como la manera que procura incorporar metamorfismo para aumentar la protección. Trazalíneas Un trazalíneas es un programa que las galletas utilizan intentar para analizar el uso protegido en start-up o mientras que está funcionando. El trazalíneas más conocido es IceDump, que es un plug-in a Soft-ICE. El trazalíneas analiza instrucciones directamente en el código automático, que significa que es un programa realmente simple. Pero cuando un trazalíneas está bien diseñado puede ser utilizado en una variedad de maneras, dependiendo solamente de la imaginación de la galleta. Trazalíneas del uso de las galletas sobre todo para reparar las tablas de la importación, que son utilizadas con frecuencia por protecciones comerciales para evitar que un programa simplemente sea descargado contra la memoria. Los trazalíneas también son utilizados para descifrar usos protegidos analizando el código y esperando hasta que se descifra el uso. Una vez que el trazalíneas encuentre que se ha descifrado el uso, lo descarga de memoria. El SVKP es una solamente de algunas protecciones comerciales que lucha trazalíneas. Depuraciones Las depuraciones son otro problema. El SVKP utiliza algunos trucos brandnew para detectar las depuraciones, y es la única protección capaz de detectar y de quitar todos los tipos de límites de facturación usados por las depuraciones. Metamorfismo El metamorfismo es una tecnología con un futuro muy prometedor, aunque se utiliza raramente. El más joven (y el más complicados) de todas las tecnologías mencionadas, metamorfismo intenta solucionar el problema de la capacidad de repetición protegida del código, que proviene el hecho de que las protecciones actuales son más o menos semejantes. Una vez que una galleta calcule fuera de cómo romper un tipo de esquema de la protección, es fácil que él lo rompa repetidas veces y adentro menos y menos tiempo. El metamorfismo intenta prevenir esto cambiando la protección cada vez que se utiliza, así haciéndolo más duro para que la galleta rompa la protección. Ningunas de las protecciones actualmente ofrecieron a uso metamorfismo completo, aunque viene el SVKP cerca, puesto que es mucho más fácil utilizar metamorfismo en ensamblador que en lenguajes de programación avanzados. Le lo dejo para decidir si la protección del SVKP soy mejor (o peor) que cualquier otro, y espero que usted no haya encontrado mi opinión que se predispondrá también. esto es un artículo agregado por Paquel Mason
|
|||
|