如何解码这个php curl脚本:http://pastebin.com/raw.php?i=YWE1i4U7
这里和那里都有未编码的字符,比如“t”,“v”等等。
答案 0 :(得分:3)
您可以使用hexdec
和chr
转换每个\x12
转义字符。并使用preg_replace
自动执行此操作。
print preg_replace('/[\\\\]x(\w\w)/e', 'chr(hexdec("$1"))', $script);
虽然这只是部分“解码”。不会使一切变得清晰,也不会使代码处于工作状态。
答案 1 :(得分:1)
这是建立在mario非常酷的字符串替换之上的。
将文件保存为source.phps
- 大多数服务器会将其显示为PHP源代码,不会执行它。 (请与您当地的Web服务器管理员联系,确保.phps已启用且安全。)
在同一目录中,创建一个解码器文件,我称之为decode.php
。内容:
<?php
$phpsource = file_get_contents('source.phps');
highlight_string(str_replace(";",";\n", preg_replace('/[\\\\]x(\w\w)/e', 'chr(hexdec("$1"))', $phpsource)));
?>
这是使代码更具可读性的基本步骤,因此您可以看到PHP。它仍然非常难看,因为它尽可能地混淆了自己,但现在你可以通过代码 - highlighting看到脚本对base64_decode
和header
的各种调用。 / p>