Méthodes et algorithmes de protection d'AppFuscator
Vous trouverez ci-dessous les méthodes de protection ainsi que les algorithmes d'extraction de code et de ressources mis en œuvre dans notre service :
Renommer
Obfuscation des classes et de leurs membres, avec support complet des génériques, de l'héritage, de la surcharge des méthodes virtuelles, analyse des attributs d'obfuscation standard.
Fusion d'assemblages
Fusion d'assemblages - fusion du code de plusieurs assemblages protégés par des sources en un seul.
Décomposition
Décomposition de la structure des classes en représentation procédurale (Decomposition) - notre propre idée originale basée sur l'idée de convertir le programme de la forme orientée objet (facile à rétro-ingénierie) en style procédural avec une destruction maximale de toutes les informations disponibles stockées dans les métadonnées (mais en gardant le collecteur de déchets entièrement opérationnel).
Masquage des appels de méthodes externes
La dissimulation d'appels de méthodes externes consiste à remplacer les appels de méthodes explicites provenant d'assemblages externes (y compris les appels du Common Language Runtime) par des appels implicites au moyen de pointeurs non gérables, extraits des métadonnées sur la base d'un identifiant crypté.
Cryptage des chaînes de caractères
Cryptage des chaînes de caractères, basé sur un algorithme propriétaire. Utilise des variables dynamiques et des blocs de données cryptées pour maximiser la complexité d'une éventuelle désobfuscation automatique.
Analyse de la réflexion
L'analyse de Reflection est un ensemble d'algorithmes qui surveillent les appels aux méthodes de Reflection (tant les méthodes d'appel par nom explicite que les énumérations de membres de classe). Il trace automatiquement les relations et ajuste les noms dans le code source.
Analyse de WPF
Exclut automatiquement de l'obfuscation les types, méthodes et champs référencés par Windows Presentation Foundation (WPF Analyzing) - décompilation et analyse des ressources BAML dans les assemblages. Prise en charge complète des extensions syntaxiques WPF, y compris les constructions complexes (par exemple PropertyPath).
Obfuscation du flux de contrôle
L'obfuscation du flux de contrôle consiste à cacher le code des algorithmes du programme en créant une logique de branchement enchevêtrée difficile à analyser (vraies et fausses branches, transitions de commutation et autres méthodes). Le comportement du programme lui-même n'est pas modifié dans ce cas.