comment sont-série de générateurs / fissures se sont développées?
Je veux dire, j'étais toujours demandé comment l'enfer quelqu'un peut développer des algorithmes pour pause/cheat les contraintes d'utilisation légale dans de nombreux programmes shareware là.
Juste pour la curiosité.
- Dang, j'allais poser la même question. Good ol' ALORS!
Vous devez vous connecter pour publier un commentaire.
En plus d'être illégal, c'est une tâche très complexe.
Parlant seulement à l'publications niveau de la façon la plus commune est de démonter le programme de craquer et d'essayer de trouver l'emplacement de la clé ou de la serialcode est cochée.
Plus facile à dire qu'à faire comme tout sérieux régime de protection permettra de vérifier les valeurs dans de multiples endroits et aussi obtiendra des informations critiques à partir de la clé de série pour une utilisation ultérieure, de sorte que lorsque vous pense que vous l'aurez deviné, le programme crash.
Pour créer une fissure que vous avez à identifier tous les points où un contrôle est effectué et modifier le code assembleur de manière appropriée (souvent inverser la valeur d'un saut conditionnel ou du stockage de costants dans les emplacements mémoire).
Pour créer un keygen vous devez comprendre l'algorithme et écrire un programme de re-faire exactement le même calcul (je me souviens d'une ancienne version de MS Office dont la série avait une règle très simple, la somme des chiffres qui aurait dû être un multiple de 7, de sorte que l'écriture le keygen a été plutôt trivial).
Les deux activités vous oblige à suivre l'exécution de l'application dans un débogueur et essayer de comprendre ce qui se passe. Et vous avez besoin de savoir le faible niveau de l'API de votre Système d'Exploitation.
Certains fortement protégée de l'application du code chiffré de sorte que le fichier ne peut pas être démonté. Il est déchiffré, lorsqu'il est chargé dans la mémoire, mais ensuite, ils refusent de démarrer si ils détectent qu'un débogueur mémoire a commencé,
En substance, c'est quelque chose qui nécessite une très profonde connaissance, d'ingéniosité et beaucoup de temps! Oh, ai-je mentionné que c'est illégal dans la plupart des pays?
Si vous voulez en savoir plus, Google pour les +ORC Fissuration des Tutoriels, ils sont très vieux et probablement inutile de nos jours, mais vous donnera une bonne idée de ce que cela signifie.
De toute façon, une très bonne raison à tout savoir, c'est si vous voulez écrire votre propre système de protection.
Le mauvais gars de recherche pour le code de vérification à l'aide d'un désassembleur. C'est relatif facile si vous savez comment faire cela.
Ensuite vous traduire la clé de vérification de code C ou une autre langue (cette étape est facultative). Inverser le processus de la clé de vérification vous donne un générateur de clé.
Si vous connaissez assembleur, il faut environ un week-end pour apprendre comment faire cela. Je l'ai fait juste il y a quelques années (jamais sorti quelque chose de bien. C'était juste la recherche de mon jeu-développement de l'emploi. Pour écrire un dur à cracker la clé, vous devez comprendre comment les gens s'approchent de la fissuration).
Nils post traite avec des générateurs de clés. Pour les fissures, en général, vous trouverez un point de ramification et de l'inverser (ou supprimer) la logique. Par exemple, vous vais le tester pour voir si le logiciel est enregistré, et le test de retour à zéro si oui, et ensuite passer en conséquence. Vous pouvez changer le "saut si est égal à zéro (je)" à "saut si non égal à zéro (jne)" par la modification d'un seul octet. Ou vous pouvez écrire n'-les opérations sur les différentes parties du code qui font des choses que vous ne voulez pas le faire.
Programmes compilés peuvent être démontés et avec assez de temps, déterminé les gens peuvent développer des correctifs binaires. Une fissure est tout simplement un correctif binaire pour obtenir le programme à se comporter différemment.
Tout d'abord, la plupart des régimes anti-copie ne sont pas terriblement bien avancé, c'est pourquoi vous ne voyez pas beaucoup de gens rouler leurs propres ces jours-ci.
Il existe quelques méthodes utilisées pour ce faire. Vous pouvez parcourir le code dans un débogueur, qui ne nécessitent généralement un décent connaissance de l'assemblée. L'aide que vous pouvez obtenir une idée de l'endroit où dans le programme de protection contre la copie/keygen méthodes sont appelées. Avec cela, vous pouvez utiliser un désassembleur comme IDA Pro d'analyser le code de plus près et d'essayer de comprendre ce qui se passe, et comment vous pouvez l'ignorer. J'ai craqué limitée dans le temps Bêtas avant par l'insertion, NOOP instructions sur la date de la vérification.
- Il vraiment tout se résume à une bonne compréhension de logiciels et d'une compréhension de base de l'assemblée. Hak5 fait une série en deux parties sur les deux premiers épisodes de cette saison sur la nature des notions de base de l'ingénierie et de la fissuration. C'est vraiment de base, mais c'est probablement exactement ce que vous cherchez.
Un cracker démonte le programme et regarde pour la "protection contre la copie" bits, spécifiquement pour l'algorithme qui détermine si un numéro de série est valide. À partir de ce code, vous pouvez souvent voir ce motif de bits est nécessaire pour débloquer la fonctionnalité, puis d'écrire un générateur pour créer des numéros à ces schémas.
Une autre alternative est de regarder pour les fonctions qui renvoie "true" si le numéro de série est valide et "false" si ce n'est pas, puis de développer un correctif binaire, de sorte que la fonction renvoie toujours la valeur "true".
Tout le reste est en grande partie une variante de ces deux idées. Protection contre la copie est toujours fragiles par définition - à un certain point, vous devez vous retrouver avec le code de l'exécutable ou le processeur ne pouvais pas l'exécuter.
Le numéro de série, vous pouvez simplement extrait de l'algorithme et de lancer des "Conjectures" et chercher une réponse positive. Les ordinateurs sont puissants, ne prend généralement que peu de temps avant qu'il commence à cracher hits.
Comme pour le piratage, je l'ai utilisé pour être en mesure d'intervenir par le biais de programmes à un niveau élevé et de chercher un point où il a cessé de travailler. Puis vous revenez à la dernière "Appel" qui a réussi et l'étape en elle, puis de les répéter. À l'époque, la protection contre la copie est généralement écrit sur le disque et de voir si une lecture ultérieure réussi (le Cas échéant, la protection contre la copie a échoué parce qu'ils ont utilisé pour graver le cadre de la disquette avec un laser de sorte qu'il ne pouvait pas être écrit).
Puis c'était juste une question de trouver le bon appel et le coder en dur la bonne valeur de retour de cet appel.
Je suis sûr que c'est toujours similaire, mais ils passent par beaucoup d'efforts pour cacher l'emplacement de l'appel. Dernier que j'ai essayé, j'ai abandonné, car il gardé code de chargement sur le code que j'était pas à pas à travers, et je suis sûr que c'est devenu beaucoup plus compliqué depuis.
Je me demande pourquoi ils ne se contentent pas de distribuer personnalisé binaires, où le nom de la propriétaire est stocké quelque part (chiffré et crypté) dans le binaire ou mieux réparties sur l'ensemble du binaire.. autant que je sache, Apple est en train de faire cela avec les fichiers de Musique sur l'iTunes store, mais là c'est beaucoup trop facile, pour supprimer le nom de fichiers.
Je suppose que chaque fissure est différent, mais je suppose dans la plupart des cas, quelqu'un passe
beaucoup de temps dans le débogueur de traçage de l'application en question.
La série générateur prend encore plus loin en analysant l'algorithme
vérifie le numéro de série pour la validité et à l'inverse ingénieurs-il.