Programmes Commerciaux De Protection De Logiciel


  Share  
|


En plus des programmes de freeware et de shareware, il y a un certain nombre de programmes commerciaux pour la protection de logiciel. Ceux-ci, aussi, changent de la qualité.

En écrivant cet article, j'ai eu l'intention d'écrire au sujet de toute la protection commerciale de logiciel que je pourrais trouver. J'ai rapidement appris, bien que, qu'il y ait eu lointain trop de paquets de film publicitaire à couvrir dans un espace raisonnable, ainsi j'aie taillé mon liste initiale vers le bas à environ quarante paquets (peut-être un tiers de ce qui est disponible). J'ai alors choisi ce qui a semblé être non seulement le plus connu, mais également, dans ma vue, les meilleurs paquets, et ont étudié chacun en détail. J'ai concentré tous les deux sur la conception de chaque paquet aussi bien que le code elle-même.

La majeure partie du logiciel commercial courant fonctionne comme le tatou, le SVKP, le Vbox, et l'ASProtect. Cependant, seulement quelques progiciels commerciaux contrôlent leur protection bien, et la plupart de ces programmes ne sont pas même protégées contre des changements du code, qui je trouve pour être très non professionnel.

Il y a tout à fait une gamme de la protection de logiciel disponible, et sa majeure partie a ses faiblesses. Comme réalisateur de logiciel, vous devriez comprendre les faiblesses dans les programmes que vous choisissez, et développez une bonne stratégie pour utiliser la protection de logiciel. Il y a de bonnes solutions dehors là, et une fois utilisé intelligemment, on est sûr de travailler pour vous, mais ne s'attend pas à n'importe quelle une solution au bout pour toujours.

ASProtect

ASProtect, du logiciel d'ASPack (http://www.aspack.com), n'est pas simplement un autre programme anti-fendant commercial ; c'est une avance véritablement révolutionnaire dans la protection de logiciel. Ce peut être la solution préemballée à la protection de logiciel pour ceux qui ne veulent pas passer de longues heures étudiant et programmant la protection douanière pour leur propre logiciel.

Le créateur Alexey Solodovnikov d'ASProtect a appris beaucoup de son travail sur ASPack et s'est appliqué cette expérience à ASProtect. Il réclame que parce que toutes les défenses anti-fendantes peuvent être défaites, la seule chose importante est dans quelles circonstances elles peuvent être cassé.

Tandis qu'elle était créée particulièrement pour des réalisateurs de shareware, ASProtect peut être aussi bien employé pour le logiciel professionnel. Tandis qu'il n'est pas aussi souple que FLEXlm, et cela fonctionne seulement sous Windows, I daresay que c'est actuellement la protection de logiciel commerciale la plus difficile à casser. Sa seulement faiblesse est qu'elle n'a pas les meilleurs tours d'anti-correction.

Comparé à l'autre protection commerciale de logiciel, ASProtect est simple et bien-programmé, reflétant l'idée simple mais merveilleuse derrière lui. Comme les programmes semblables, le programme original est comprimé et puis non comprimé par ASProtect avant qu'il soit couru.

La compression d'ASProtect est basée sur l'algorithme d'ASPack, qui est parmi le meilleur. Tandis qu'elle ajoute au sujet de 60KB de code au programme original, ce code additionnel n'importe pas du tout, puisque le programme comprimé résultant est beaucoup plus petit puis l'original.

La routine de la décompression d'ASProtect vérifie pour voir s'il y a eu des tentatives de changer le dossier, et il essaye d'empêcher des changements de mémoire. Naturellement, sans décompression, le programme original ne peut pas être démonté, et il n'est pas facile de décomprimer ASProtect parce qu'il essaye d'empêcher des décharges de mémoire par des programmes comme ProcDump. Une fois la section d'importation a été vidée de la mémoire, le dossier de PE ne sera pas correcte. Toujours, il y a une manière de décomprimer ASProtect (pas en vidant juste), mais ASProtect n'est toujours pas défait même après la décompression réussie.

Comme FLEXlm, ASProtect essaye d'empêcher l'utilisation de certaines fonctions dans le programme protégé quand il est non inscrit, et il tellement admirablement comparé à l'autre logiciel. Par exemple, si un programmeur veut neutraliser la prévision dans la version non inscrite, il doit seulement coder cette fonction avec ASProtect. Après enregistrement, la partie handicapée est décodée en utilisant une constante de la clef d'enregistrement, et il n'est pas possible de la décoder sans cette clef d'enregistrement. Le codage particulièrement fort d'ASProtect empêche même des attaques directes (de brute-force).

Il y a trois manières de fixer une application avec ASProtect. La première manière emploie la compression classique et n'est pas recommandée parce qu'il est relativement facile de décoder.

La deuxième possibilité est beaucoup plus intéressante, bien que toujours pas le meilleur. Avec cette méthode, la protection originale est d'abord authentifiée après que l'ASProtect api s'appelle avec une constante pour décoder la partie codée du programme. Vous pourriez employer cette méthode si, par exemple, le programme que vous voulez vous protéger déjà a sa propre commande d'enregistrement et vous ne voulez pas la changer. Cette méthode serait un choix faible si la protection originale est faible, puisqu'elle n'empêcherait pas le biscuit d'obtenir la constante correcte.

La troisième et meilleure possibilité n'ajoute aucune protection à votre programme (bien que les protections additionnelles sont possibles). Fondamentalement, en utilisant cette troisième méthode, vous indiquez dans l'étiquette de clefs d'enregistrement dans ASProtect que vous voulez que votre projet contienne une clef d'enregistrement. Le programme crée alors une constante de base qui servira de base à d'autres clefs, et qui sera également employée pour coder la partie protégée du programme. Vous pouvez produire des clefs selon des noms d'utilisateur, et vous pouvez également les sauver. En conclusion, vous déterminez où la clef d'enregistrement sera sauvée dans l'enregistrement après enregistrement.

Les dossiers principaux d'ASProtect de note ont les fins PRINCIPALES mais sont essentiellement des dossiers de repérage qui sont importés dans des registres une fois qu'elles ont étés double-cliquer. C'est un avantage, parce que les clefs de l'enregistrement d'ASProtect sont plutôt longues, et il serait pénible que les utilisateurs les présentent à la main.

La prochaine étape est de vérifier l'enregistrement. Si vous avez seulement une clef d'enregistrement, le programme imprimera le nom de l'utilisateur enregistré. Vous pouvez également indiquer les clefs qui ont été illégalement faites à public si vous ne voulez pas qu'elles fonctionnent dans de futures versions du programme. Les versions suivantes d'ASProtect pourront probablement produire des clefs pour seulement un ordinateur, qui empêchera la distribution illégale des clefs d'enregistrement.

En conclusion, dans le code de programme vous indiquez les parties du programme que vous voulez coder—ceci est un procédé simple qui peut être exécuté par presque n'importe quel programmeur. Actuellement ASProtect contient des exemples de code pour Delphes, C++ visuel, et de base visuel. Par exemple, voici un exemple court dans C++ visuel :

incluez < windows.h > 
# incluez le char d'"include\asprotect.h" * 
message ; 
videz RegisterAction() { 
REG_CRYPT_BEGIN 
message = "version enregistrée!" ; 
REG_CRYPT_END 
} 
WINAPI interne WinMain (hInstance de HINSTANCE, 
hPrevInstance de HINSTANCE, szCmdLine de PSTR, iCmdShow interne) 
{ 
message = "version Non inscrite!" ; 
RegisterAction() ; 
MessageBox (0,message, "",0) ; retour 0 ; 
} 

Vous devez ajouter REG_CRYPT_BEGIN au commencement du programme codé et REG_CRYPT_END à l'extrémité.

Au début de la partie codée du programme, vous devez ajouter les données suivantes :

0EBh, 04h, 0EBh, 05h, 89h, 89h, 0E9h, 0, 0, 0, 0 
Et les données suivantes sont ajoutées à 
l'extrémité : 
0EBh, 04h, 0EBh, 05h, 99h, 99h 

Ces données permettent à ASProtect de trouver les secteurs que vous voulez coder.

Après, vous devez seulement appeler le procédé et le repos sera fait pour vous. Si un programme n'est pas enregistré, la partie codée sera sautée, ou bien une erreur se produira. Si le programme est enregistré, la présente partie sera décodée au début du programme, et il sera employé plus tard quand il s'appelle.

Vous pouvez obtenir le nom de l'utilisateur avec la fonction de l'apiGetRegInfo() api.

Si vous devez créer beaucoup de clefs d'enregistrement immédiatement, ASProtect le rend facile en fournissant la bibliothèque keygen.dll. Vous pouvez produire des clefs d'enregistrement avec ses deux fonctions. La fonction de GenerateKeyAsRegFile() crée un dossier d'enregistrement basé sur l'information d'utilisateur. Alternativement, la fonction de GenerateKeyAsString() renvoie l'indicateur de mémoire à où la clef d'enregistrement a été créée.

ASProtect vous permet de placer le nombre de fois qu'un programme peut être couru ou le nombre de jours où il sera utilisable. À la différence des programmes commerciaux semblables, toute la protection est placée dans le dossier de PE, et pas dans les dossiers supplémentaires de DLL ou d'OCX.

En date de cette écriture, il est impossible que un biscuit enlève correctement la protection d'ASProtect. Pour faire ainsi, il devrait employer la clef correcte d'enregistrement pour décoder le programme et puis pour le vider de la mémoire. Naturellement, les créateurs du programme considèrent cette attaque, ils peuvent l'empêcher trop en ajoutant des protections additionnelles.

· Examinez l'original de dossier : 1.691.648 bytes

· Examinez le codage de dossier : 693.760 bytes

· Décodeur : AspackDie

FLEXlm

FLEXlm, du logiciel de Globetrotter (http://www.globetrotter.com) est l'un des programmes le plus fréquemment utilisés de protection pour le logiciel commercial plus pricier. Tandis qu'à l'origine utilisé la plupart du temps avec le logiciel d'Unix, en dernières années il a été aussi bien employé avec d'autres systèmes, particulièrement Windows. FLEXlm est employé par les plus grands producteurs de logiciel, y compris des systèmes d'adobe, des microsystèmes du soleil, Texas Instruments, Sybase, et SGI.

FLEXlm soutient la plupart des logiciels d'exploitation et beaucoup de protocoles de réseau, et il offre beaucoup de manières de protéger un produit. Je décrirai brièvement les plus importants. L'option de caractéristiques du produit d'activer/ est le plus fréquemment utilisé.

La Démo de démo (permis Temps-Limité) ou les programmes temps-limités peut neutraliser certains dispositifs trouvés dans le plein produit. Le délai peut être déterminé à une date où le permis expire, par un certain nombre de jours, ou par un certain nombre de débuts de programme.

Activer/ les caractéristiques du produit que cette option vous laisse neutraliser quelques dispositifs de programme et employer de divers types de permis. Par exemple, dans la version de "lite" d'un programme, quelques fonctions pourraient être handicapées et ont puis permis une fois qu'un utilisateur s'inscrit à l'"pro" version.

Flotter au-dessus d'un réseau cette option vous laisse déterminer le nombre maximum des utilisateurs qui peuvent employer un programme particulier au-dessus d'un réseau en même temps.

L'Appeler-Utilisateur cet arrangement indique que le programme peut être employé seulement sur les ordinateurs qui ont leurs noms de réseau indiqués dans une liste d'utilisateurs.

Noeud-Verrouillé cette option ferme le produit à un ordinateur particulier.

Noeud-Verrouillé a compté des serrures de cette option le programme à un ordinateur et seulement pour un nombre limité de débuts.

Temps-Limité cette option fixe une date après quoi le permis pour le produit expirera et le programme ne sera plus utilisable.

Le domaine seulement cette option limite l'utilisation du produit aux ordinateurs dans un domaine spécifique d'Internet.

Les produits protégés appellent la protection de FLEXlm en utilisant des fonctions d'api, et cette protection vérifie alors le permis dans un dossier, habituellement license.dat. Avant que le programme emploie une fonction protégée, il vérifie pour voir si un utilisateur particulier a un droit d'employer la fonction.

La protection de FLEXlm n'est pas incassable cependant. À cette écriture, il y a un générateur qui profite des manques dans FLEXlm de produire les dossiers corrects de permis. Naturellement, l'existence de ce générateur diminue l'efficacité de FLEXlm. D'autre part, bien que, une fois utilisé correctement et combiné avec d'autres protections, FLEXlm peut offre immobile une solution très bonne. Par exemple, si un autre programme est employé pour examiner le permis encore d'une autre manière une fois une fonction protégée a été employée, ce programme indiquera souvent un dossier illégalement créé de permis.

Il est parfois difficile de trouver toutes les fonctions protégées de FLEXlm, et il est absolument essentiel d'éviter de placer leurs noms directement dans le dossier d'EXE en forme lisible. Puisque les biscuits placent souvent un palier à l'appel de lc_checkout en recherchant des appels de fonction de FLEXlm, il vaut mieux de vérifier les fonctions protégées seulement quand elles sont employées, plutôt que de les vérifier toutes dès que le programme commencera. Soyez sûr, aussi, vérifier les paliers réglés à cet appel, et employer d'autres protections dans le programme.

Tandis que FLEXlm est cassable, il est facile d'employer. Son éventail d'options et soutien d'une variété de logiciels d'exploitation lui font une option attrayante de protection de logiciel.

InstallShield

Le logiciel d'InstallShield est conçu pour créer des paquets d'installation. N'importe qui qui travaille dans Windows a déjà vu probablement lui, et lui est le plus susceptible la meilleure application dans le domaine pour faire ainsi. Beaucoup de programmes ont essayé de concurrencer InstallShield, mais aucun ne l'a battu (bien que quelques uns viennent étroitement).

Puisqu'un paquet défectueux d'installation peut poser des problèmes énormes pour la distribution de produit, vous devriez employer le meilleur produit d'installation que vous pouvez trouver, même si c'est un peu plus cher. InstallShield a été intensivement examiné et employé pendant plusieurs années sans problèmes, que lui-même est un bon essai pour des erreurs.

InstallShield peut exécuter simple aussi bien que les installations fortement compliquées. Il peut même appeler les appels d'api des bibliothèques externes, qui est bon pour la protection. Et, il peut vérifier les diverses conditions d'enregistrement pendant l'installation. La clef de matériel est souvent examinée pendant l'installation, et l'installation est stoppée si la clef correcte de matériel est absente. La difficulté d'enlever cette protection dépend seulement de la qualité de la bibliothèque de DLL.

InstallShield emploie sa propre langue scripting simple, qui est probablement les la plupart comme C, et une fois que le paquet d'installation a été créé, les dossiers sont comprimés dans les dossiers spéciaux. En installant, tous les dossiers nécessaires pour l'installation sont décomprimés dans l'annuaire et puis la course de la température seulement de là. Ceci a l'avantage qui même lorsque la protection peut être enlevée, il n'est toujours pas facile de changer les dossiers dans le paquet d'installation. (à cette écriture, un décompresseur pour la version 5 d'InstallShield pourrait mettre ses dossiers comprimés, mais il ne restait rien comme lui pour la version 6.)

La partie de fendre la plus difficile InstallShield-a protégé des mensonges de dossiers en cassant la protection programmée dans la langue de manuscrit d'InstallShield. La correction de la langue est difficile parce qu'elle est très semblable à de base visuel dans le p-code. L'attaquant rencontrera un problème quand essayant de changer le dossier contenant le manuscrit que—le dossier est protégé par un contrôle de CRC, et il est très difficile d'exécuter le changement correctement parce que la structure de dossier est plutôt embrouillante et compliquée. Toujours, la protection peut être cassée.

Installez le bouclier est clairement le meilleur programme pour créer des paquets d'installation. Elle a été employée non seulement avec des jeux mais également avec les applications les plus chères.

ShareLock

ShareLock du logiciel de Nesbitt (http://www.nesbitt.com) est une protection commerciale qui emploie des appels de DLL api. Tandis qu'il a été discontinué par Nesbitt, il est encore employé aujourd'hui, ainsi laissez-nous vont voir lui.

La protection de ShareLock est plus complexe qu'un programme comme Vbox, exigeant de vous d'insérer un appel d'api dans le code pour examiner l'application protégée. Vous pouvez déterminer pour l'expiration d'un délai ou l'exactitude du numéro d'matricule écrit. La protection entière est fixée par un DLL ShareLk20.dll appelé par bibliothèque, qui doit être situé dans l'annuaire avec l'application protégée ou dans l'annuaire de système de Windows.

Le point le plus faible de ShareLock se situe dans la protection de la bibliothèque de DLL elle-même, il est très facile modifier que parce qu'elle n'a aucun contrôle de CRC. D'autre part, le calcul de numéro d'matricule est très bon, et il est difficile de trouver ; pour le trouver, un attaquant devrait corriger ShareLk20.dll et trouver un endroit pour le changement du code de programme, lequel au point le programme se comporterait comme si enregistré.

Malheureusement, si la protection peut être cassée ceci facilement, il n'y a aucune manière de protéger l'application contre l'attaque. (peut-être l'application protégée pourrait exécuter la somme de la bibliothèque de DLL pour détecter une attaque.) Toujours, les plus mauvaises nouvelles sont qu'une fois que la protection de ShareLk20.dll est cassée, il est possible d'employer (illégalement) toutes les applications qui emploient cette protection commerciale, qui peut jaillir soit pourquoi ce produit a été discontinué.

Le Système De Protection De Logiciel De Tatou

Le système de protection de logiciel de tatou est protection commerciale contre des royaumes Toolworks (www.siliconrealms.com/armadillo.htm) de silicium. Des programmes sont codés et comprimés au moyen d'une clef de codage aléatoirement produite.

Le tatou contient une en particulier fonction intéressante qui permet à des lotisseurs d'écrire des numéros d'matricule illégaux trouvés par des biscuits dans une base de données de sorte que de tels nombres soient non fonctionnels dans des versions suivantes. Le tatou contient également les tours d'anti-correction qui se protègent contre SoftICE.

Il est facile de contrôler le tatou, et nous regarderons quelques uns de ses dispositifs plus intéressants dans la liste suivante. Le tatou a un système d'aide très bon aussi ; pour apprendre plus au sujet d'une option particulière, choisissez-simplement la pour lire sa description ou pour accéder au système d'aide.

Le matériel fermant des options à clef (pro) avec le matériel fermant à clef, le numéro d'matricule change pour chaque ordinateur, selon les divers paramètres que vous placez ici.

Ne rapportez pas la vérification de protection d'Horloge-En arrière sera handicapé si le temps n'était pas tourné en arrière sur le système de l'utilisateur. Cette protection devrait être neutralisée seulement si votre programme a des problèmes avec lui.

Les certificats enferment dans une boîte définit des clefs pour la protection de produit quand des certificats sont employés, le programme peuvent être inscrits seulement à ces certificats. Vous pouvez placer de diverses options pour ces certificats dans les sous-menus.

Créez la clef de FixClock si un utilisateur casse la protection de temps et change la date, le programme protégé par Armadillo cessera de fonctionner. Quand l'utilisateur exécute le programme dans ce format : fixclock de program_name, il sera invité à écrire la prétendue clef d'"fixclock". S'il écrit la clef correcte, le programme commencera à fonctionner normalement.

Le tatou est un programme très bon, mais il est trop facile d'enlever d'un produit protégé. Par exemple, tout le biscuit doit faire doit attendre jusqu'à ce que le programme charge en la mémoire et se décode, lequel au point il peut vider le programme de la mémoire au disque et fait quelques petits changements pour que le programme soit entièrement fonctionnel. Le tatou lui-même facilite le travail du biscuit parce qu'il crée un processus dans la mémoire avec le même nom comme le programme protégé, excepté le suffixe, TMPO. Ce processus est entièrement décodé après chargement en la mémoire, et tout le biscuit doit faire doit la vider à la commande dure.

Le tatou peut être un bon choix pour les programmeurs de shareware qui ont moins d'expérience avec la programmation de protection. Cette application regarde vraiment professionnelle, et j'espère que ses créateurs trouveront une manière de l'améliorer dans de plus nouvelles versions. Actuellement, bien que, je ne puisse pas recommander le tatou parce qu'il est si facile d'enlever, quoique moins de biscuits expérimentés probablement ne fassent pas ainsi — à moins que, naturellement, ils utilisent un décodeur trouvé sur l'Internet.

· Examinez la compression de dossier : 1.007.806 bytes

· Décompresseur : Tueur d'Un-Tatou et de tatou

Vbox

Vbox des systèmes de la connaissance d'Aladdin (http://www.ealaddin.com) est l'un des programmes commerciaux de protection les plus anciens et le plus fréquemment utilisés pour Windows. Tandis qu'il est employé la plupart du temps pour le shareware, des versions de démo des programmes chers parfois sont aussi bien protégées avec lui.

La protection de Vbox est basée sur des délais. Une fenêtre apparaît chaque fois qu'un programme Vbox-protégé est lancé, et de cette fenêtre vous pouvez exécuter le programme lui-même jusqu'à ce que le délai expire.

Les premières versions de Vbox se sont appelées TimeLock et étaient très populaires. Pour la protection, TimeLock 2 appels des utilisations api contre la bibliothèque de tl32v20.dll, appelée du programme protégé. L'application protégée examine les valeurs de retour et décide si elle continuera à fonctionner ou pas. Elle ressemble à ceci dans le programme :

appel CallTimeLock 

Après que ceci retourne, le registre d'EAX devrait contenir une valeur de retour selon laquelle changera, que l'essai ait été réussi ou pas.

TimeLock 3.03 À 3.10

Les améliorations de ces versions de TimeLock incluent le codage de certaines parties du programme et d'une prévision qui place le point d'entrée (commencer) du programme. Cette prévision contient beaucoup du code de Vbox qui rend la correction difficile.

Un appel d'api au début du programme a un nom plutôt peu commun :

appel tl303inj.PleaseTraceIntoMe_MrCracker

La partie codée de l'application est décodée dans cette fonction, et la valeur de retour est le point d'entrée du programme protégé (ou en cas d'erreur, d'adresse pour l'appel d'ExitProcess api). La valeur de retour est dans le registre d'EAX encore, et la dernière instruction doit appeler l'eax, qui saute sur ce vrai point d'entrée du programme (ou à l'appel d'ExitProcess api en cas d'erreur).

TimeLock 3.13 À 3.15

Ces versions ont apporté plusieurs innovations :

·Codage de tout le code de programme

· Codage d'idata de section

· Calcul du CRC de la bibliothèque du DLL de la protection dans la mémoire

Le programme décodant avec ces versions n'est pas aussi facile qu'avec le précédent. Pour une chose, l'information de codage est sauvée dans une pièce codée d'idata. En outre, la commande de CRC du tl315inj.dll est dans la mémoire, qui fixe la protection contre des paliers (naturellement, ne pas corriger des paliers), aussi bien que contre des changements du code. (vous pouvez trouver les initiales du Li de Weijun dans le code ; il est probablement le programmeur de fil.)

Vbox 4.0 À 4.03

Dans cette version, Vbox est apparu la première fois comme nous le savons aujourd'hui. Cette version, parfois appelée TimeLock 4, contient beaucoup d'améliorations. L'EXE protégé est comprimé, et la section codée d'idata est dans un dossier séparé. La protection elle-même est située dans trois bibliothèques de DLL :

Vboxp4xx.dll décomprime et charge des dossiers de DLL

Vboxt4xx.dll contient la routine de base pour la protection du PreviewParadise_WJ

Vboxb4xx.dll charge vboxt4xx.dll et appelle PreviewParadise

Les deux dernières bibliothèques de DLL sont comprimées mais pas codées, et des informations sur les appels importés sont sauvées.

Deux parts dans le dossier, appelé prévision et WeijunLi, contiennent un bon peu de code et de données codées. La première partie contient le code normal, alors que la seconde est comprimée. Une fois qu'un programme protégé est lancé, le premier appel est à vboxpxx.PreviewExecGate_By_WeijunLi, qui décomprime le programme original dans la prévision.

Une fois que tout a été décodé, un petit morceau du code contient un appel à une fonction exportée de vboxbxx.dll. Cette fonction est également première décomprimée avec vboxpxx.PreviewExecGate_By_WeijunLi avant d'être lancé, et elle appelle vboxtxx.PreviewParadise_WJ. Cette fonction exécute également le CRC sur le dossier protégé, aussi bien que sur les dossiers de vboxt4xx.dll et de vboxb4xx.dll. Si le CRC est incorrect, le programme fonctionnera avec une clef fausse de décodage, et après le décodage incorrect, le CRC sera également incorrect pour les données décodées. Le programme montrera alors un message d'erreur.

Vbox 4.10

Cette version contient les nouveautés suivantes :

· CRCs pour tous les dossiers importants autorisent des signaux

· CRCs pour des copies de dossier de DLL sont calculés dans la mémoire

· Le programme essaye de détecter un programme de mise au point dans la mémoire

Si quelqu'un essaye de démonter le code de vboxp410.dll dans WinDasm, une erreur se produira dans le programme. IDA (démonteur interactif) fonctionnera très bien, mais il créera le code incorrect.

Vbox 4.3

Cette dernière version de Vbox offre la bonne protection, bien qu'elle soit vulnérable à vider de la mémoire (juste comme le tatou). N'importe comment étendu le code, vous ne doivent pas essayer de la comprendre toute pour la fendre. Tout que vous devez faire doit trouver le commencement du programme de codage et le vider de la mémoire. (si les auteurs résolvent ce problème dans de futures versions, Vbox sera certainement un des meilleure des paquets commerciaux de protection.) L'application de constructeur de Vbox de Vbox le rend très facile de créer une application protégée.

Il est très facile de créer une première zone de dialogue pour votre programme avec Vbox quand vous lancez le programme, vous a placé un chemin au dossier de privilège de Vbox, que chaque utilisateur obtient à partir de l'éditeur de logiciel. Pour obtenir ce dossier de privilège, cliquez le bouton de dossier de privilège d'obtenir. Votre navigateur montrera la page de l'éditeur, et vous devrez compléter un questionnaire. Dans quelques minutes, vous devriez recevoir un email contenant un dossier court avec la prolongation de prv. Cliquez après et écrivez un nom de fichier pour le dossier de l'information de permis de Vbox, et puis entrez un mot de passe pour empêcher les personnes non autorisées de travailler avec votre dossier de permis. Après, choisissez la langue dans laquelle vous voulez travailler, et écrivez le nom de l'auteur, le produit, la version, l'année, et le numéro d'identification de produit.

Dans les menus suivants, vous écrirez l'information la plus importante, y compris des limitations sur le nombre maximum des lancements ou des jours, ou une date l'où la période de l'essai de l'application expirera. Dans l'avançé

Des options menu, vous de sécurité placerez la protection de l'application. Si vous choisissez l'attache de logiciel, les utilisateurs ne pourront pas copier l'application à un autre ordinateur en raison des dossiers secrets sur la commande dure. Si vous choisissez l'attache de matériel, des informations sur le matériel d'ordinateur seront employées pour identifier la machine autorisée.

· Examinez la compression de dossier : 835.320 bytes

· Décompresseur : Vbox Unwrapper

Le Protecteur Slovaque (SVKP)

Il est particulièrement dur pour écrire au sujet de votre propre produit sans prévention et avec l'objectivité maximum, comme vous pourriez imaginer, et le protecteur slovaque est mon produit. Toujours, je promets de m'en tenir aux faits et d'être aussi objectif comme possible.

Le protecteur slovaque (SVKP) est le plus jeune des produits commerciaux de protection décrits ici. En développant le SVKP, j'ai adopté le meilleur des tendances les plus récentes et, en conséquence, le SVKP pourrait ressembler à ASProtect. Cependant, cette similitude se prolonge seulement à leur aspect et à quelques fonctions. La structure intérieure du SVKP est complètement différente d'ASProtect, et elle est la seule des protections que j'ai discutées qui est programmé en assembleur. Le fait qu'il est établi avec l'assembleur garantit la grande vitesse et tient compte de quelques techniques de programmation spéciales qui sont indisponibles à beaucoup d'autre des langages de programmation avancés.

Comme avec ASProtect, le SVKP peut coder des parties d'une application protégée, qui pourra alors être décodé seulement avec la bonne clef d'enregistrement. Il emploie des clefs de RSA de la longueur 2048-bytes', qui le rend impossible de produire des clefs fausses d'enregistrement. Pour faire ainsi, un biscuit devrait avoir fondé la clef privée, mais l'obtention de la clef privée d'une si longue longueur par calcul n'est simplement pas possible avec les systèmes informatiques courants.

On protège, des programmes compilés dans les executables de destination (EXE, DLL, OCX, ou thyristor). L'application protégée n'est pas comprimée, mais elle est codée par l'algorithme de Rijndael (également connu sous le nom d'aes). Cet algorithme se protège contre des attaques de brute-force, et le manque de compression garantit que le programme fonctionnera rapidement.

Ces types de protection d'application sont semblables à ceux utilisés dans ASProtect :

Codage de l'application compilée qui, tandis que cependant pas très bloquée, est proportionnée dans certains cas.

Les avantages de cette protection sont d'utilisation facile et à grande vitesse, et cela l'application peut employer sa propre commande d'enregistrement. L'application protégée emploie les clefs d'enregistrement de SVKP. Elle utilise des fonctions d'api pour déterminer si la bonne clef d'enregistrement est employée.

Des blocs (fonctions) dans l'application protégée sont décodés seulement avec le dossier droit d'enregistrement. Pour employer ces blocs, simplement endroits de marque ou parties de l'application que vous voulez empêcher des personnes d'employer sans bonne clef d'enregistrement, avant de compiler l'application à protéger. C'est une manière très facile de créer une version protégée de démo d'un programme. Par exemple, si vous marquez ÉCONOMISER pour être neutralisé avant compilation, on annoncera l'utilisateur (sans bonne clef d'enregistrement) que la fonction est neutralisée dans la version de démo. Une fois que le programme est inscrit à la clef correcte d'enregistrement, les fonctions marquées seront accessibles immédiatement.

Nous avons actuellement les revêtements très sérieux d'un problème nous quand il vient à la protection commerciale : l'édition des clefs d'enregistrement sur l'Internet. Si un biscuit achète un programme (employant habituellement une carte volée de degré de solvabilité) et obtient la bonne clef d'enregistrement, il a deux possibilités. D'abord, il peut essayer d'enlever la protection, qui n'est pas facile si le programme est protégé par le SVKP. En second lieu (et un possiblity beaucoup plus attrayant à lui), il peut éditer la clef volée d'enregistrement sur l'Internet. Dans ce cas-ci, n'importe qui qui emploie cet indicatif interne peut transformer leur version de démo en programme entièrement fonctionnel.

Le SVKP, l'ASProtect, et le tatou toute l'offre que les types principaux spéciaux protégés d'application ont produite pour un ordinateur spécifique aux utilisateurs entendant s'enregistrer. Un avantage de ces clefs est qu'ils ne peuvent pas être déplacés entre les ordinateurs ; ainsi, leur publication sur l'Internet pas menace la protection de l'application.

Naturellement, il y a quelques inconvénients, aussi bien. Pour un, l'enregistrement exige de l'utilisateur d'envoyer des données au sujet de son ordinateur à un serveur avant que la clef soit produite, mais non chaque utilisateur aime faire cela. Aussi, aucune des protections énumérées ne fonctionne en ligne, ainsi un enregistrement pourrait être fait directement en utilisant ses fonctions d'api. (le développement ultérieur se dirigera probablement vers permettre et payer l'enregistrement directement par un programme de protection, sans devoir aller au site Web d'enregistrement ou à l'emplacement du producteur.)

Le plus grand problème, cependant, surgit avec un changement de matériel. Si l'utilisateur change son matériel, la clef cesse de fonctionner, et nouvelle doit être produite. C'est pour cette raison que la plupart des réalisateurs permettent à des clefs d'être transférées entre les ordinateurs.

Le SVKP inclut quelques autres technologies progressives aussi, le plus important de ce qui sont des appels d'api qui permettent à une application protégée de communiquer avec sa protection, à savoir la fonction SVKP_GetRegistrationInformation. À la différence d'autres protections, le SVKP contient également des fonctions d'api avec la protection active, y compris SVKP_LockKeybord, SVKP_KillDebugger, les noms qui indiquent leur but.

En plus des blocs codés classiques, qui sont décodés seulement avec la bonne clef d'enregistrement, le SVKP inclut deux autres types de bloc. Le premier type est décodé bien avant que la mise en train et, après exécution, le code de programme qui contient le bloc soit immédiatement supprimée. Je recommande que vous employez ce premier bloc saisissez les pièces initiales de code.

Le deuxième type de bloc est également décodé bien avant mise en train, mais elle est codée encore juste après l'exécution. Employez ce type de bloc pour les pièces critiques de code.

Athough tout des technologies ci-dessus se protègent contre vider, et les SVKP et toute autre protection commerciale contiennent la protection active contre vider contre la mémoire, il ne sont pas assez. Cette technologie offre une protection très efficace contre vider un programme contre la mémoire et puis le démonter.

Jetons un autre coup d'oeil à une partie de la technologie établie dans le SVKP et considérons-la manière lui des adresses les problèmes des traceurs et des programmes de mise au point, comme la manière qu'elle essaye d'incorporer le métamorphisme pour augmenter la protection.

Traceurs

Un traceur est un programme que les biscuits emploient pour essayer pour analyser l'application protégée sur la mise en train ou tandis qu'elle fonctionne. Le traceur le plus connu est IceDump, qui est une connexion à Soft-ICE.

Le traceur analyse des instructions directement en code machine, qui signifie que c'est un programme vraiment simple. Mais quand un traceur est bien projeté il peut être employé par une multitude de moyens, dépendant seulement de l'imagination du biscuit. Traceurs d'utilisation de biscuits la plupart du temps pour réparer les tables d'importation, qui sont fréquemment employées par des protections commerciales pour empêcher un programme simplement d'être vidé contre la mémoire. Des traceurs sont également employés pour décoder des applications protégées en analysant le code et l'attente jusqu'à ce que l'application soit décodée. Une fois que le traceur constate que l'application a été décodée, elle la vide de la mémoire. Le SVKP est l'une de quelques protections seulement commerciales qui combat des traceurs.

Programmes de mise au point

Les programmes de mise au point sont encore un autre problème. Le SVKP emploie quelques tours nouveaux pour détecter des programmes de mise au point, et c'est la seule protection capable détecter et enlever tous les types de paliers employés par des programmes de mise au point.

Métamorphisme

Le métamorphisme est une technologie avec un futur très prometteur, bien qu'il soit rarement employé. Le plus jeune (et les plus compliqués) de toutes les technologies énumérées, métamorphisme essaye de résoudre le problème de la répétabilité protégée de code, qui provient du fait que les protections courantes sont plus ou moins semblables. Une fois qu'un biscuit figure hors de la façon casser un type d'arrangement de protection, il est facile pour qu'il le casse à plusieurs reprises et dans de moins en moins le temps. Le métamorphisme essaye d'empêcher ceci en changeant la protection chaque fois que il est employé, de ce fait le rendant plus dur pour que le biscuit casse la protection. Aucune des protections n'a actuellement offert à utilisation le plein métamorphisme, bien que le SVKP vienne étroitement, puisqu'il est beaucoup plus facile d'employer le métamorphisme en assembleur que dans des langages de programmation avançés.

Je vous le soin laisse pour décider si la protection du SVKP est meilleur (ou plus mauvais) que tout autre, et j'espère que vous démuni avez trouvé mon avis à polariser trop.

un article a soumis par Paquel Mason


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions