Obfuscator Ruang Putih untuk PHP

Setelah membaca artikel tentang kebingungan dalam JavaScript (yaitu bagian ke-3 dari artikel), saya menjadi tertarik pada obfuscator serupa untuk PHP.

Obfuscator yang disebutkan dalam artikel mengubah kode JavaScript menjadi tidak terlihat (sekilas), terdiri dari tab dan kode spasi.

Intinya adalah untuk menyajikan setiap simbol kode sumber sebagai kode simbol ini diterjemahkan ke dalam sistem biner. Kemudian ganti 1 dengan spasi, dan 0 dengan tab (tentu saja Anda bisa dan sebaliknya).

Dengan implementasi algoritma ini dalam PHP, semuanya sederhana, seperti dalam JavaScript.

Kode Obfuscator:

function obfuscate($code) { $len = strlen($code); $obf = ''; for ($i = 0; $i < $len; $i++) { //        i-  $bin = decbin(ord($code[$i])); //      ,      0 $bin = ($binLen = strlen($bin) > 7) ? $bin : implode('', array_fill(0, 8 - strlen($bin), '0')) . $bin; //    1  ,  0        ,      $obf .= str_replace(array('1', '0'), array(chr(9), chr(32)), $bin); } return $obf; } 

Semuanya tampak normal di sini (jika Anda tidak merinci), sekarang saya akan memberikan contoh memanggil kode yang dikaburkan.

Deobfuscator ("pemain")

 function include_o($file) { $file = trim($file); //     if ( empty($file) || !is_readable($file) ) { throw new Exception("Filename is empty or file isn't readable"); } $string = file_get_contents($file); $len = strlen($string); $out = ''; for ($i = 0; $i < $len; $i++) { /* *  8      , *               */ $out .= chr(bindec(str_replace(array(chr(9), chr(32)), array('1', '0'), substr($string, $i, 8)))); $i += 7; } if (!empty($out)) { eval($out); } } 

Tampaknya nilai yang dikembalikan oleh fungsi akan "dicampur" (jika saya mengerti dengan benar, maka batal - bagaimana bagian dari itu?), Tapi ini adalah jika Anda masuk ke rincian.

Kesimpulan

Tampaknya bagi saya itu ternyata lumayan lumayan, tetapi jenis ini masih tidak bisa mengklaim sebagai obfuscator bekerja (tersirat digunakan dalam praktik) (saya tahu, hal dangkal telah dikatakan). Itu agak dilakukan untuk bersenang-senang, setidaknya saya tertarik untuk melihat hasilnya.
Terima kasih semoga berhasil

Source: https://habr.com/ru/post/id458710/


All Articles