アプリケーションで新しいシェーダを実装した企業が、盗難を困難にしたいとします。しかし、OpenGLシェーダーはGPUに平文として送信され、Vulkanは簡単にdecompileable bytecodeを受け入れます。グラフィックスAPIのシェーダの難読化レベルはゼロではありませんか?グラフィックスAPIがシェーダの難読化を実装していますか?
-1
A
答えて
4
グラフィックスAPIのシェーダの難読化レベルはゼロではありませんか?
いいえ、それは意味をなさないでしょう。シェーダは完全なアプリケーションほど複雑ではありません。シェーダがインタラクティブ性を維持するために到達する可能性のある複雑さにはかなり厳しい制限があります。また、あらゆる種類の難読化レイヤーは、最適化コンパイラ/トランスパイラを使用して容易に難読化することができる奇妙な命令セットです。
一般的なルールは次のとおりです。実行可能であり、可読な結果*を生成する場合は、解読不能にすることができます。それは簡単です。
また、熟練したグラフィックハッカーは、最終的なレンダリングや中間結果(レンダリングのようなツールを使用して簡単に取得できます)を見て、シェーダのことを垣間見ることができます。グラフィック・コーディングの90%は、この種のビジュアル・アウトプット・デバッグで構成されています。なぜ、シェーダがあなたが望んでいない理由とその理由がわからなくても、スクリーン上で見られる混乱が最初に起こるようになったときです。だから経験豊かなグラフィックハッカーは、すでにそれを "見て"いるだけでシェーダをリバースエンジニアリングするのに必要なスキルセットの多くを構築しています。
*それは「読める結果」の制約がなければ、その後Homomorphic Encryptionが真のコードの難読化を可能にすることがあります。しかし、通常は、人間が読み込み可能なシェーダの出力を必要とします。
関連する問題
- 1. proguardを使ったAndroidの難読化アプリケーションは、ライブラリのjarファイルを難読化していますか?
- 2. 難読化されたコードを再難読化するのは間違っていますか?
- 3. ジャックがコードを難読化していないようです
- 4. コードの難読化の実行順序
- 5. SmartAssemblyが難読化をスキップ
- 6. WebExtensionを難読化できますか?
- 7. ProGuardはObjectのメソッドの難読化を実行しません
- 8. 難読化オプション
- 9. コンパイルエラー難読化
- 10. AngularJS難読化
- 11. Netbeans難読化
- 12. パスワードファイル難読化
- 13. LinqToSql難読化
- 14. PHPはhtmlentities()でソースを難読化しています
- 15. 難読化されたJavaScriptがブラウザを遅くしますか?
- 16. 難読化のトラブル
- 17. Androidデバッガ - Firebaseオブジェクトが難読化されています
- 18. Proguard - Kotlinデータクラスを難読化しない
- 19. AFrame用AlphaVideoシェーダを実装しようとしています。 material.needsUpdateの問題
- 20. タイマーを実装するのが難しいです - Javascript
- 21. ProGuard:難読化されたjarは機能しませんが、難読化されていないjarは動作しています
- 22. Android proguardはクラスを難読化していません
- 23. ProguardはAndroidでコードを難読化していません
- 24. カスタムMavenResourcesFilteringを実装するのは難しいですか?
- 25. C++でリンクリストを実装するのが難しい
- 26. 剣道UIでグラフウィジェットを実装するのが難しい
- 27. Javaでlinked-listでキューを実装するのが難しい
- 28. .jsxファイルタイプの反応コードを非表示/難読化していますか?
- 29. Pythonコード難読化
- 30. 難読化とGPL
特許は、難読化の優れた形式です。 – Robinson