純粋な PHP では、ioncube/else のようなものを難読化して使用できます。pre-HHVM では、ソースなしでコンパイル済みのコードを使用できます。しかし、現在の HHVM では、どうにかしてソースを隠すことができますか?
1 に答える
@ポールブリス:
バイトコード リポジトリをコンパイルして実行することもできますが、リバース エンジニアリングが難しいものではありません。... リポジトリの構築に関する優れたドキュメントはありません。tools/hhvm_wrapper.php のラッパー スクリプトには便利なショートカットがいくつかあります。ヘルプ オプションを参照してください。難読化のための優れたオプションは実際にはありませんが、バイトコードに加えていくつかの最適化を行うため、レポオーソリティブがおそらく最善の策です。
@参照 https://github.com/facebook/hhvm/issues/4929#issuecomment-76751039
方法
hhvm とそのサーバーの ini 設定: https://github.com/facebook/hhvm/wiki/INI-Settings
ソースをコンパイル、削除し、最適化されたリポジトリから実行する完全なシェル: https://gist.github.com/garex/b0fa539903746e67ad6c
したがって、回避策として、root ユーザーの下でソースをコンパイルし、www-data の下で hh サーバーを実行することができます。したがって、攻撃者が Web を突破したとしても、そこにソースが表示されることはありません。