7 dépôts
Techniques for transforming source code into an unrecognizable but functional format to hide logic.
Distinguishing note: The candidates refer to character set standards (UTF-8/16) or internationalization utilities, not the intentional obfuscation of logic.
Explore 7 awesome GitHub repositories matching security & cryptography · Source Code Obfuscation. Refine with filters or upvote what's useful.
jsfuck est un langage de programmation ésotérique et un obfuscateur de code source JavaScript. Il fonctionne comme un encodeur de code qui transforme le code source JavaScript standard en un équivalent fonctionnel composé d'un jeu de caractères minimal. Le projet restreint son code source à six caractères spécifiques pour masquer la logique et contourner les filtres de sécurité qui bloquent les caractères alphanumériques standard. Il y parvient en utilisant la coercition de type pour dériver des symboles et accéder aux objets internes du langage via la manipulation de prototypes. Le système permet l'exécution arbitraire de JavaScript en convertissant des chaînes en fonctions exécutables et en récupérant la portée globale via le contexte d'exécution. Il gère la logique complexe et les arguments de fonction en utilisant des wrappers de tableau et des appels de constructeur natifs.
JS-Fuck transforms standard JavaScript code into a functional equivalent using six specific characters to obfuscate the logic.
Pyarmor est un ensemble d'outils pour protéger les logiciels Python via l'obfuscation du code source, la protection du bytecode et la compilation binaire. Il fonctionne comme un obfuscateur de code, un protecteur de bytecode et un compilateur binaire conçu pour empêcher l'ingénierie inverse et l'accès non autorisé aux scripts et paquets Python. Le projet se distingue en fournissant un gestionnaire de licence logicielle complet qui permet une licence liée au matériel. Cela permet aux développeurs de verrouiller l'exécution des scripts sur des appareils physiques ou des machines virtuelles spécifiques et d'appliquer des dates d'expiration strictes via des clés d'exécution chiffrées. Ses capacités plus larges couvrent la distribution sécurisée via la génération de wheels obfusqués et d'exécutables autonomes pour plusieurs plateformes. La surface de sécurité inclut des vérifications d'intégrité à l'exécution, telles que la prévention de l'attachement de débogueur, la protection au niveau de la mémoire et la conversion de fonctions Python en extensions C compilées. L'outil inclut une interface en ligne de commande et prend en charge l'intégration dans des pipelines d'intégration continue (CI) pour automatiser le processus d'obfuscation lors des builds.
Transforms Python source code and bytecode into an unrecognizable but functional format to prevent reverse engineering.
Ce projet est une suite complète de rétro-ingénierie Android qui fonctionne comme un décompilateur, un désobfuscateur de bytecode et un outil d'analyse de malware. Il est conçu pour convertir les binaires APK, DEX et OAT en code source lisible par l'homme en utilisant une implémentation native qui ne nécessite pas de machine virtuelle Java. La plateforme se distingue par son intégration avec Frida pour l'analyse dynamique, permettant aux utilisateurs de hooker des méthodes, d'injecter du JavaScript personnalisé et de dumper la mémoire de l'appareil en temps réel. Elle dispose également de moteurs de sécurité spécialisés, incluant un moteur de propagation de taint et une machine à états de pile, pour détecter les fuites de confidentialité, les comportements malveillants et les vulnérabilités de sécurité. La suite couvre un large éventail de capacités analytiques, incluant le patching et le repackaging de binaires, le mappage des dépendances par références croisées et l'analyse de flux de données. Elle fournit des outils pour l'identification des packers logiciels, le décodage de chaînes chiffrées et la recherche globale de métadonnées à travers les ressources de l'application. L'outil fournit une interface en ligne de commande et prend en charge l'automatisation de l'analyse via des scripts Python ou Java personnalisés.
Provides mechanisms to normalize obfuscated identifiers so they can be used reliably within dynamic analysis scripts.
Fernflower est un décompilateur de bytecode Java et un outil d'ingénierie inverse. Il transforme les fichiers de classe Java compilés en code source Java lisible par l'homme pour reconstruire la logique originale du programme et les noms de variables. L'outil fonctionne comme un processeur de bytecode en ligne de commande capable de traiter par lots des archives Java et des fichiers de classe. Il gère spécifiquement l'analyse de code obfusqué en renommant les identifiants ambigus et en résolvant les conflits de nommage pour rendre le code source résultant plus facile à suivre. Le système emploie l'analyse statique pour convertir le bytecode en source, utilisant l'extraction d'informations de débogage pour restaurer les noms de variables locales. Il reconstruit les structures de programme via l'analyse de graphe de flux de contrôle, l'inférence de type et la génération d'un arbre de syntaxe abstraite.
Normalizes obfuscated identifiers by replacing ambiguous names with unique, consistent identifiers.
Ce projet est un guide complet de développement front-end et une feuille de route conçue pour aider les ingénieurs à maîtriser les compétences et les normes professionnelles requises pour le développement web moderne. Il sert de référence technique pour maîtriser HTML, CSS et JavaScript, offrant des parcours d'apprentissage structurés et une carte des compétences professionnelles nécessaires pour passer de débutant à ingénieur web professionnel. La ressource fonctionne comme un répertoire catégorisé et un aperçu de l'écosystème JavaScript. Elle répertorie les frameworks, bibliothèques et utilitaires standards de l'industrie, offrant des recommandations spécifiques pour la gestion d'état, les frameworks CSS et les générateurs de sites statiques. Le guide couvre un large spectre de capacités d'ingénierie, incluant l'architecture UI, l'optimisation des performances web et l'audit d'accessibilité. Il fournit également des conseils sur l'automatisation des builds, les stratégies de déploiement et la sélection d'outils de développement pour les flux de travail professionnels.
Discusses techniques for transforming scripts into complex formats to protect intellectual property from reverse engineering.
ConfuserEx is a security toolset for .NET applications that functions as a code obfuscator, binary encryptor, and application protector. Its primary purpose is to prevent reverse engineering by hiding sensitive application logic and data. The project employs specific hardening techniques including symbol renaming to hinder human readability and control-flow mutation to confuse decompilers. It further protects binaries by encrypting constants and resources to stop static analysis and memory dumping, while blocking the use of debuggers and profilers to prevent runtime analysis. Additional capa
Automatically renames identifiers and members to random strings to hinder human readability.
Hercules is a security tool designed to protect Lua source code from reverse engineering and unauthorized analysis. It functions as a code transformation engine that secures application logic by applying multiple layers of obfuscation, including control flow manipulation and the wrapping of scripts within a custom virtual machine environment. The project distinguishes itself through a multi-stage pipeline architecture that allows for the development of custom, multi-layered protection strategies. By replacing standard language instructions with custom opcodes and reorganizing linear code into
Transforms scripts using techniques like string encoding, variable renaming, and control flow manipulation to prevent reverse engineering.