Maison >développement back-end >Problème PHP >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!