Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问一下 这个是编译二进制后 还可以把PHP源代码导出来? #16

Closed
TNT-ma opened this issue Jan 3, 2023 · 5 comments
Labels
question Further information is requested

Comments

@TNT-ma
Copy link

TNT-ma commented Jan 3, 2023

我看dock 里面有一句说:编译之后可以使用下方命令将二进制 PHP 提取出来,用以下方式:

这是什么意思? 意思是二进制人间可以被逆向编译提取出来?

@crazywhalecc
Copy link
Owner

我没有理解表达的意思,源码中貌似没有提到有关二进制 PHP 提取出来的内容。

这个项目目前只是提供一个用于便捷将 PHP 源码编译的脚本,用于编译 PHP。

另外,如果你说的是 README 中提到的那个 “提取”,那里是指从 Docker 的文件系统中将在 Docker 内编译好的 PHP 二进制文件拷贝到宿主机的意思,不是逆向编译有关的内容。

@TNT-ma
Copy link
Author

TNT-ma commented Jan 4, 2023 via email

@crazywhalecc crazywhalecc added the question Further information is requested label Jan 4, 2023
@TNT-ma
Copy link
Author

TNT-ma commented Jan 11, 2023

PHP 源码编译的脚本,

请问一下 当我将我的源代码打包为phar 后,
再使用: micro.sfx myphp.phar > okphp 进行编译
最后这个okphp 就是个二进制文件
请问这个二进制文件, 有没有可能再被逆向编译回phar 或者 逆向出原始的php源代码?

@crazywhalecc
Copy link
Owner

crazywhalecc commented Jan 11, 2023

PHP、micro-php 本身的源代码需要使用逆向工程(比如使用 IDA Pro)恢复源码,和其他编译的 C 语言程序一样。Phar 源码相当于附加在了二进制文件的后方,而 Phar 类似于 zip 一样的压缩包,并非加密或编译手段,使用 foremost 等工具可以分离 micro.sfx 和 phar 文件。也就是说,本项目和 phpmicro 做的事情只是编译 PHP,和 PHP 官方编译的动态链接的 PHP 二进制发行版别无二致,只是 micro 相当于扩充了可以将两个文件合二为一的功能。

如果你想的是编译 PHP 到二进制,可以查询有关编译 PHP 代码的项目,但目前这些项目不是很成熟。如果是加密代码,可以从互联网搜索 PHP 源码加密保护,有许多付费和免费解决方案。

@TNT-ma
Copy link
Author

TNT-ma commented Jan 11, 2023

明白了
我把它想做是如同go一样的把项目打包为二进制,从而达到不可逆加密保护的目的
是我草率了ヘ😈ヘ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants