예, HHVM의 바이트 코드 저장소를 분해하여 원래 소스를 닫을 수 있습니다. HHVM은 현재이 도구를 제공하지는 않지만 HHBC (HipHop bytecode)는 원래 소스에 매우 가깝고 로컬 변수 이름, 함수 이름 등을 포함하는 풍부한 메타 데이터를 포함합니다. 그런 점에서 HHBC는 Java의 바이트 코드와 일부 유사합니다 또는 .NET의 일리노이.
이 메타 데이터 중 일부를 제거 할 수도 있지만 "$ f (..)", "call_user_func (..)", "class_exists (..)"등의 항목을 처리하는 데는 많은 시간이 필요합니다. , "$$ x", 리플렉션 API (ReflectionClass, ReflectionFunction 등)는 말할 것도 없습니다.
많은 PHP-> PHP obfuscator 중 하나를 시도해 볼 수 있습니다 (면책 조항 : 나는이 obfuscator를 사용하지 않았습니다). 더 나은 PHP-> PHP obfuscators는 코드가 함수 이름이나 클래스 이름을 "동적 인"방식으로 사용하는지 확인하고 이러한 클래스 나 함수의 이름을 바꾸지 않으려 고 시도하지만 일부 경우에는 이러한 경우가있을 수 있습니다. 휴리스틱은 실패하고 수동 튜닝 또는 조정이 필요합니다.
또한 상황에 따라 파일 시스템 권한을 사용하여 문제를 해결할 수 있습니다 (예 : 서버의 일반 사용자가 바이트 코드 저장소에 액세스하지 못하도록 방지 할 수 있음). 귀하의 유스 케이스에 대한 귀하의 통제.
정답과 제안을 보내 주셔서 감사합니다. 커미터로부터 기술적 인 답변을 얻으셔서 반갑습니다! 내 선택에 대해 생각해 보겠다. – mappu