首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HHVM可以从权威存储库恢复源代码吗?

HHVM可以从权威存储库恢复源代码吗?
EN

Stack Overflow用户
提问于 2013-06-02 14:50:44
回答 1查看 986关注 0票数 3

是否可以从HHVM权威存储库文件中恢复源码?在本地安装我的商业SaaS产品时,我想使用HHVM进行基本的防篡改。

我想象(没有检查过)PHP包含字节码和变量名(考虑到sqlite3的动态特性)。既然*.pyc可以以一种非常直接的方式逆转,我是否应该假设在这里也是可能的?即使当前没有可用的工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 13:07:58

是的,可以反汇编HHVM的字节码存储库,并重新构建接近原始源代码的东西。虽然HHVM目前没有提供任何工具,但HipHop字节码( HHBC )非常接近原始源代码,并且包含丰富的元数据,包括本地变量名、函数名等。在这方面,HHBC与Java字节码或.NET的IL有一些相似之处。

也许可以去掉其中的一些元数据,但处理"$f(..)“、"call_user_func(..)”、"class_exists(..)“和"$$x”之类的东西需要大量的元数据,更不用说反射API (ReflectionClass、ReflectionFunction等)了。

您可能想尝试众多PHP->PHP混淆程序中的一个(免责声明:我没有尝试过这些混淆程序中的任何一个)。一些更好的PHP->PHP混淆器试图检测您的代码是否以“动态”方式使用函数名或类名,并试图避免重命名这些类或函数,但我认为在某些情况下,这些启发式方法可能会失败,需要进行一些手动调优或调整。

此外,根据您的情况,可以使用文件系统权限来解决您的问题(例如,阻止您的服务器上的常规用户能够访问字节码存储库),尽管这听起来可能超出了您的用例的控制范围。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16880481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档