この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 1423|答える: 0

[角] Angularコード難読化暗号化を簡単に可能にしました

[リンクをコピー]
2024年12月23日 11:06:14に投稿 | | |
実際にプロジェクトを書いたことがあるなら、セキュリティ上の懸念は存在しますし、少なくともそうあるべきです。 技術が進歩するにつれて、短期間で驚くほど強力で高性能なシステムを構築できるようになりますが、それは悪意ある人々や技術がより強力で克服しにくくなることを意味します。 だからこそ、今日のシステム開発においては、すべての一般的な脆弱性から守ることが不可欠です。

Angularは多くのセキュリティを箱から提供しています。独自の可変保護システムと、悪意のあるコードの実行を防ぐサニティ化機能を備えています。 もう一つの特徴はコード圧縮です。

最小化と混乱

コード圧縮は、スペースやコメントなどの不要な文字を削除することでソースコードのサイズを削減し、ソースコードの読み込み性能を向上させる技術です。 このプロセスはJavaScript、CSS、HTMLファイルのウェブ開発でよく見られ、コードを難読化することでセキュリティ層をさらに強化しています。 圧縮されたコードは非常に読みにくいため、何らかの難読化と見なされます。 しかし、ツールはコードを解凍して読みやすくすることができ、それを逆解析することが可能です。 ここで混乱が生じます。

圧縮を補完するコード難読化は、ソースコードの理解やリバースエンジニアリングを難しくする技術です。 知的財産の保護、改ざん防止、リバースエンジニアリングの抑止にしばしば用いられ、攻撃者がコードの論理を理解し、潜在的な脆弱性を特定するのを難しくします。 読みやすいコードを機能を変えることなく、より複雑で難解なバージョンに変換します。 コード難読化ツールは、死んだコードを追加して攻撃者を誤誘導し、ソフトウェアのコードベースの理解を難しくすることもあります。

もし役に立つなら、Angularアプリを混乱させましょう。

ウェブパック難読化器

Angularはパッケージング段階でWebpackを使用し、開発するモジュールのパッケージングには独自のデフォルト設定があります。 これを活用して、WebpackのAngularアプリのパッケージ化方法をカスタマイズします。 まず、以下のパッケージをインストールしてください:


JavaScript-obfuscator:ソースコードを保護するための多様な機能を備えた強力な無料JavaScript難読化ツールです。

一方、webpack-obfuscatorはWebpackに機能を提供するプラグインとして使っています。 JavaScriptのobfuscatorコードはこちらで、Webpackのobfuscatorプラグインはこちらでご覧いただけます。ハイパーリンクのログインが見えます。

その後、バンドルプロセスで適用したいカスタム設定を記載したcustom-webpack.config.jsファイルを作成します。 簡単な例を挙げましょう。


プラグインの設定オプションや、混乱した出力を微調整するためのwebpack-obfuscatorを提供できます。 これはdebugProtectionをコードに追加する最も簡単な方法であり、コンソールでアプリケーションの変数や関数を管理するのが難しくなります。

注:WebpackObfuscatorの2つ目アレイパラメータは難読化を排除するファイルです

これまでにWebpackの設定は完了しています。 今こそ使わなければなりません。 また、別の依存関係も必要です:


これにより、カスタムWebパックビルダーをAngularと統合でき、Angularで構造物を構築できるようになります。 パッケージをインストールしたら、ファイルの変更だけangular.json。 ビルド属性を検索して、以下を追加してください:


builderfromを@angular-devkit/build-angular:browserに置き換え、@angular-builders/custom-webpack:browserに置き換えることで、ブラウザ用にビルドは可能ですが、カスタムWebpack構成を注入できるようになりました。 customWebpackConfigプロパティはファイルの参照を設定し、Angularがそれを使えるようにします。

すべてが正しく設定されていれば、ビルドコマンドは問題なく動作し、結果として混乱したAngularアプリになるでしょう!

短所

ただし、この方法にはパッケージサイズという欠点があることにご注意ください。 コード難読化はコードのリバースエンジニアリングを難しくしますが、変数の宣言方法により多くの文字を使うため、パッケージのサイズが増加します。これはほぼコード最小化とは逆の方向です。

それです。 必ず意図的に使い、この技術の欠点に対処する方法を学びましょう!

翻訳元:ハイパーリンクのログインが見えます。
参考:ハイパーリンクのログインが見えます。




先の:Alibaba Cloud OpenAPI APIを呼び出してサーバー使用状況を調べてください
次に:.NET/C#はStackExchange.Redisのパフォーマンスで最適化されています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com