php – HHVM可以从权威回购中恢复源代码吗?
作者:互联网
是否有可能从HHVM权威仓库文件中恢复源代码?在本地安装我的商业SaaS产品时,我想使用HHVM进行基本的防篡改.
我想(还没检查)sqlite3 db包含字节码,并且鉴于PHP的动态性质,变量名称..因为* .pyc可以以一种非常直接的方式反转,我应该假设这里可能相同吗?即使目前没有工具可用?
解决方法:
是的,可以反汇编HHVM的字节码存储库并重建关闭原始源的内容.虽然HHVM目前没有为此提供任何工具,但HipHop字节码(HHBC)非常接近原始源,并包含丰富的元数据,包括局部变量名,函数名等.在这方面,HHBC与Java的字节码有一些相似之处或.NET的IL.
有可能剥离一些这样的元数据,但需要处理诸如“$f(..)”,“call_user_func(..)”,“class_exists(..)”和“$”之类的东西. $x“,更不用说反射API(ReflectionClass,ReflectionFunction等).
您可能想尝试其中一个PHP-> PHP混淆器(免责声明:我没有尝试过任何这些混淆器).一些更好的PHP-> PHP混淆器试图检测你的代码是否以“动态”方式使用函数名或类名,并试图避免重命名这些类或函数,但我想可能会有一些极端情况这些启发式失败,需要进行一些手动调整或调整.
此外,根据您的具体情况,可能会使用文件系统权限来解决您的问题(即防止服务器上的常规用户访问字节码存储库),尽管听起来这可能超出您的控制范围你的用例.
标签:copy-protection,php,bytecode,hhvm 来源: https://codeday.me/bug/20190825/1721569.html