ホームページ  >  記事  >  バックエンド開発  >  PHP難読化には何種類ありますか?

PHP難読化には何種類ありますか?

(*-*)浩
(*-*)浩オリジナル
2019-10-18 10:34:243227ブラウズ

PHP難読化には何種類ありますか?

難読化方法:

2 つのファイルは 4 つの難読化方法を使用して難読化をコーディングします

1. ローカル変数に文字化けした文字を追加する (推奨学習: PHP ビデオ チュートリアル)

ローカル変数の場合、変換後意味のない 1 文字、変数名の後に複数の '\xEF\xBD\xBD' 文字を追加し、その中に他の目に見えない文字 (7E 以降) が混在しているため、コードが文字化けしているように感じられますが、実際にはその 1 文字は「いいえ」ではありません。効果。ローカル変数には、区別できる限り、任意の名前を付けることができます。

2. 視覚的に表示されないように、Unicode とエスケープ文字を使用して文字列を表示し、10 進数および 16 進数の形式を使用します。

php は、「\150\157\155\145\120\141\164\150」(10 進数)または「\x73\x79\x73\x74\x65\x6d」のように使用できます。 \x4c \x6f\x67" (16 進数) をファイル内の変数名として使用します。このメソッドは直接

3、関数名として使用される PHP 文字列を使用し、一般的に使用される関数名を非表示にします

used

$GLOBALS グローバル変数

マクロ関数を定義

base64_decode 関数

およびカスタム不可逆関数 _kstr2() 関数

4、文字列接続を使用分割して変換された文字列を接続するための記号

_kstr2() コードを復元した後の結果は次のとおりです

   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;
    }
}

以上がPHP難読化には何種類ありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。