【发布时间】:2011-08-03 05:44:49
【问题描述】:
所以无论如何,我正在和某人谈论 PHP 去混淆 PHP 代码,他说“将 eval 更改为 echo,然后运行 php -f file.php”。
我明白将 eval 更改为 echo(在代码中)意味着什么,但是,他所说的 php -f file.php 是什么意思?
【问题讨论】:
标签: php deobfuscation
所以无论如何,我正在和某人谈论 PHP 去混淆 PHP 代码,他说“将 eval 更改为 echo,然后运行 php -f file.php”。
我明白将 eval 更改为 echo(在代码中)意味着什么,但是,他所说的 php -f file.php 是什么意思?
【问题讨论】:
标签: php deobfuscation
php -f file.php 是运行特定文件的简单命令。假设与反混淆 PHP 代码无关
【讨论】:
他的意思是:“在命令行上运行'php -f <filename>'。”
这应该如何去混淆任何东西,我一点也没有。它只是编译并执行文件中的 php-script。
【讨论】:
eval 更改为echo 是进行反混淆的部分。
eval 一些base64 编码的PHP 代码中设计糟糕的混淆方案之一。他做到了echo 而不是eval。
这意味着从命令行运行命令php -f <file>。但是,我看不出这将如何帮助对任何东西进行反混淆,因为它实际上只会将文件呈现给命令提示符。和打开看一样。
【讨论】:
正如大家所指出的,这实际上是在命令行上运行 php 脚本。在类 unix 系统上,您将需要 php-cli 或类似的命名包。不要那个 CLI 版本的 PHP 使用稍微不同的 php.ini 设置,甚至有自己的 ini 文件。例如在我的 Debian Squeeze 盒子上,它位于 /etc/php5/cli
【讨论】: