The*_*ppo 16 php obfuscation code-generation haxe minify
我使用Haxe生成PHP代码.(这意味着你用Haxe语言编写代码并在编译后得到一堆php文件.)今天,一位客户告诉我他需要一个用Haxe制作的旧项目的新功能.他还告诉我他为了自己的需要改变了代码中的一些小东西.现在我首先将他的更改移植到我的Haxe代码然后添加新功能,否则他的更改将在下次编译项目时被覆盖.
为了防止再次发生这种情况,我正在寻找一种缩小/混淆PHP代码的程序.目标是使代码尽可能不可读/不可编辑.
理想的工具可以在Linux下运行,可以处理整个文件夹及其包含的所有文件.
有人有什么建议吗?
Rob*_*mer 24
为什么不在函数php_strip_whitespace()中使用php buid
string php_strip_whitespace ( string $filename )
Run Code Online (Sandbox Code Playgroud)
返回文件名中的PHP源代码,删除了PHP注释和空格.这对于确定脚本中的实际代码量与注释量相比可能很有用.这类似于从命令行使用php -w.
J. *_*tin 17
我同意评论,你正在做的事情是非常卑鄙的,但在这个商业10年后,我可以证明一件事:你得到的代码的一半是如此令人费解,它可能已经缩小,并且真正的函数/ var名称通常是完全随意的,我编辑了缩小的js,并没有比一些未明确的代码更麻烦.
我找不到任何这样的脚本/程序,很可能是因为这有点违背了PHP的精神而且有点卑鄙,从不如此.
第一:Php不是白空间敏感的,所以第一步是删除字符串之外的所有换行符和空格.
这对于普通的修补工具来说很难搞乱,一个中级程序员只会发现并用$ 1 \n或者替换所有; {}或者那样的东西.
下一步是get_defined_functions并保存该数组(返回数组中的'user'键),您需要包含所有文件才能执行此操作.
如果是oo代码,那么你也需要get_defined_classes.保存该数组.
从本质上讲,你需要获取变量,方法和类实例,你必须在其上实例化类和get_object_vars,你可以四处寻找并看到你可以获得很多其他信息,比如常量和类变量等.
然后你获取这些列表,循环遍历它们,为每个事物创建一个唯一的名称,然后在所有文件中使用preg_replace或str_replace.
确保在测试副本上执行此操作,并查看您获得的错误.
但是,为了清楚起见,地狱中有一个特殊的地方可供那些为混淆而混淆的人保留.
查看:get_defined_functions get_declared_classes,然后按照链接查看您可以执行的操作.