Maison >développement back-end >Problème PHP >Combien de types d'obfuscation PHP existe-t-il ?

Combien de types d'obfuscation PHP existe-t-il ?

(*-*)浩
(*-*)浩original
2019-10-18 10:34:243284parcourir

Combien de types d'obfuscation PHP existe-t-il ?

Méthode d'obfuscation :

Deux fichiers utilisent 4 méthodes d'obfuscation pour coder l'obfuscation

1. Ajouter des caractères tronqués aux variables locales (Apprentissage recommandé : Tutoriel vidéo PHP)

Pour les variables locales, après la conversion Après avoir été un caractère unique sans signification, plusieurs caractères 'xEFxBDxBD' sont ajoutés après le nom de la variable et mélangés avec d'autres caractères invisibles (après 7E), ce qui donne aux gens l'impression de caractères tronqués, mais n'a en réalité aucun impact. Les variables locales peuvent être nommées arbitrairement tant qu'elles peuvent être distinguées.

2. Utilisez des caractères Unicode et d'échappement pour afficher les chaînes, en utilisant les formats décimaux et hexadécimaux pour éviter l'affichage visuel.

php peut utiliser des variables telles que "150157155145120141164150" (décimal) ou "x73x79x73x74x65x6dx4cx6fx67" (hexadécimal) dans les fichiers. Cette méthode est directement

3. peut être utilisée comme nom de fonction en utilisant des chaînes PHP pour masquer les noms de fonctions couramment utilisés

en utilisant

Variable globale $GLOBALS

définir la fonction macro

fonction base64_decode

et fonction irréversible personnalisée fonction _kstr2()

4, utilisez symboles de connexion de chaîne pour connecter les chaînes divisées et converties

Le résultat après la restauration du code _kstr2() est le suivant

   function _kstr2($str) {
        $len = strlen($str);
        $result = '';
        $baseChar = ord($str[0]) - 30;
        for ($str = 1; $str < $len; $str+= 2) {
            if ($str + 1 < $len) {
                $result.= chr(ord($str[$str + 1]) + $baseChar );
                $result.= chr(ord($str[$str]) + $baseChar );
            } else {
                $result.= chr(ord($str[$str]) + $baseChar );
            }
        }
        return $result;
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn