我如何解码这样的字符串?
<?php ${"G\x4c\x4f\x42\x41\x4c\x53"}["\x79\x76\x77\x63\x61\x61"]="chec\x6b\x5f\x6c";${"\x47\x4c\x4f\x42AL\x53"}["\x77\x68\x79\x72\x71\x78\x77\x63\x7a"]="\x75\x73e\x72\x69\x64";${"G\x4c\x4f\x42\x41\x4c\x53"}["\x6a\x71\x67\x72\x6f\x76\x72h\x6f\x73\x65"]
它只是我代码的一部分,我不能放置整个代码。
答案 0 :(得分:3)
在这种特殊情况下,唯一的编码由十六进制转义序列组成('\ x'后跟两个十六进制字符),并且没有'%'符号或单引号,“解码”很容易实现你可以在类似Unix的操作系统中找到的printf
命令行工具。 printf
使用相同类型的转义。因此(截断以便于显示):
$ printf '<?php ${"G\x4c\x4f\x42\x41\x4c\x53"}["\x79\x76\x77\x63\x61\x61"]'
<?php ${"GLOBALS"}["yvwcaa"]
如果您想沉迷于恶意软件的逆向工程,那么这些命令行工具的一些经验非常方便。在Windows上,您可能需要安装Cygwin。
答案 1 :(得分:2)
您通常可以通过修改PHP代码本身来回复这些事情。
$ php -r 'echo "G\x4c\x4f\x42\x41\x4c\x53";'
GLOBALS
$
这些东西被设计成可执行的PHP,你只需要对它进行defang,它就会告诉你一切。
我会警告你,这看起来像标准的恶意软件,所以a)在执行它时要小心b)要知道很多字符串都是垃圾;代码被设计为在解码后不易读取。