クライアントに見せたくない機密性の高い Javascript が Chrome 拡張機能に含まれています。難読化によってこのコードを保護することは可能ですか? 私は「いくつかの障害物を置く」つもりはありません。Chrome 拡張機能を使用している人が Javascript を理解する方法がない 100% 完全なセキュリティを探しています。
そうしないと、コードの難読化を解除するのに 1 人の人間が必要になるだけで、自分の手に災害が発生するからです。それで、これは可能ですか?
クライアントに見せたくない機密性の高い Javascript が Chrome 拡張機能に含まれています。難読化によってこのコードを保護することは可能ですか? 私は「いくつかの障害物を置く」つもりはありません。Chrome 拡張機能を使用している人が Javascript を理解する方法がない 100% 完全なセキュリティを探しています。
そうしないと、コードの難読化を解除するのに 1 人の人間が必要になるだけで、自分の手に災害が発生するからです。それで、これは可能ですか?
いいえ、これは不可能です。
マシン上で実行されるすべてのコードは、*.exe ファイルであっても難読化を解除できます! JavaScript を使用しているため、これははるかに簡単です。
アプリケーションの機密部分を外部リソース (サーバーなど) に移動する必要があります。クライアントに機密性の高いロジックを入れないでください。
Assemblyのようなもので書かれたプログラムでさえ、はありません"100% complete security"
。NPAPI を使用してよりネイティブにすることもできますが、100% のセキュリティを確保する方法はありません。
そうしないと、コードの難読化を解除するのに 1 人の人間が必要になるだけで、自分の手に災害が発生することになります。
次に、別の解決策を見つけます。難読化に 100% 完全なセキュリティはありません。難読化はリバース エンジニアリングを遅くすることはできますが、防ぐことはできません。あなたのコードがブラウザの JavaScript エンジンにとって理解可能であれば、それは十分に決定的な人間にとっても理解可能です。
何を隠したいのか、なぜそれが必要なのか、なぜそれを隠す必要があるのかを説明していただければ、より良い解決策を思いつくことができるかもしれません.
いいえ、クライアントの JavaScript を保護することはできません。難読化は、断固たるハッカーにとって小さな障害にすぎません。それは決してセキュリティではなく、あなたが要求した「100% 完全なセキュリティ」にもほど遠いものです。クライアントベースのコード、特にクライアントベースの JavaScript コードでは、この種のセキュリティを取得することはできません。
コードが見えないようにアルゴリズムまたは実装を保護したい場合は、コードへのアクセスを保護および制御できる場所にコードのその部分をサーバーに実装する必要があります。クライアント上の拡張機能は、保護されたコードを使用してサーバーにタスクを実行するように依頼できます。