<?php
if (!function_exists('a')) {
function a($input) {
$input = base64_decode($input);
// ...decoding
$raw = file_get_contents(__FILE__);
// comparing...
}
}
eval(a("XXXXX"));
因為是這樣的模式,猜測應該是有保護程式碼不能在其他地方用。為了想知道做了什麼事,就惡搞一下,試試能不能看到到底有哪些 function 被定義或是使用:
<?php
require '/path/enc_src.php';
print_r(get_defined_functions()['user']);
foreach(get_defined_functions()['user'] as $func) {
$rf = new ReflectionFunction($func);
echo "func name: [$func]\n";
foreach( $rf->getParameters() as $param )
print "$param\n";
}
如此一來,就可以發他定義了哪些 function 及參數意義等:
func name: [func_name_1]
Parameter #0 [ <required> $a ]
Parameter #1 [ <required> $b ]
Parameter #2 [ <required> $c ]
Parameter #3 [ <required> $d ]
Parameter #4 [ <required> $e ]
...
接下來有空再追開了什麼檔案...
沒有留言:
張貼留言