将PHP脚本转换为Unix可执行文件



场景 |问题

  • 我有一个php脚本('foo.php'(,当我通过服务器上的终端使用"php foo.php"运行时,它会执行并执行我构建它要做的事情。

  • 我还有另一个文件("bar"(是其他人给我的,它的名字中没有扩展名,但它是一个 unix 可执行文件。它运行并使用PHP编码,我确信这一点。甜蜜的是,运行此文件所需要做的就是"./bar"。

  • 我知道我可以通过在文件顶部添加"#!/usr/bin/env php"和chmod u + x来使我的"foo.php"也变得可执行,甚至可以继续删除php扩展名。

  • 但是,当我使用文本编辑器打开"bar"时,我看到的只是胡言乱语(我可以指出它看起来不像是编码的,它实际上是纯胡言乱语,因为我知道编码的样子,因为我尝试使用 Zend 和 IonCube 编码,代码只是变成字母和数字、字节码等(。有点像用记事本++打开.exe文件。

  • 但是,当我使用文本编辑器打开"foo.php"时,我的源代码是可见的。

问题

  • 简单来说,我希望我的源代码 php 代码是无敌的,或者对任何文本编辑器来说都是胡言乱语,同时仍然能够通过仅通过"./foo"来运行它。

  • 我尝试过的另一件事是使用Ioncube对"foo.php进行编码。因此,如果我继续使用 Ioncube 进行编码和混淆,我如何仅通过在终端中使用"./foo"来运行编码的"foo.php"。

我尝试过的另一件事是使用Ioncube对"foo.php"进行编码。因此,如果我继续使用 Ioncube 进行编码和混淆,我如何仅通过在终端中使用"./foo"来运行编码的"foo.php"。

与之前混淆它的方式相同。

重命名它,chmod它,添加Shebang作为第一行。

最新更新