忍者ブログ
9  8  7  6  5  4  3  2  1 

JavaScript(jsファイル)の圧縮、難読化のツールを、いろいろ試し、比較検討しました。注意点やいろいろなツールの簡単なレビューを紹介します。最終的には、packerに決めました。

JavaScriptを圧縮、難読化する理由

自分の書いたJavaScriptのソースコードを、秘密にしたい。公開したくない。真似されたくない。恥ずかしいから隠したい。というのが大きな理由です。

JavaScriptのソースコードを、完全にわからなくすることは不可能です。 それは、JavaScriptが、ブラウザ側(クライアントサイド)で実行し、誰でもソースコードを見ることができ、簡単に読めてしまうからです。
しかし、コードを読みにくくすることで、解読のハードルを少し高くすることができます。 また、圧縮化、難読化には、JavaScriptファイルの読み込み時間を短くする効果もあり、とても有効です。 今回のご紹介は、JavaScriptだけですが、CSSの圧縮、難読化のツールもたくさんあります。

JavaScriptの圧縮、難読化での注意

JavaScriptの圧縮、難読化ツールは、海外製が多いため、日本語には注意が必要です。 特に、ソースコードそのものではなく、JavaScript(.jp)のファイル名に、日本語を使わない方が良いと思います。これは、圧縮、難読化をしなくても、いろいろな問題を回避するために、半角英数字にしておくことをお勧めします。

その他、注意としては、

  • 元のソースコードをバックアップしておく
  • 圧縮、難読化したJavaScriptコードの動作テストをする
  • 「}」(中カッコ)のあとに「;」(セミコロン)がないとエラーになる場合がある

元のJavaScriptコードをバックアップしておかないと、改良や編集をするのが大変になってしまいます。

特に大事なのは、圧縮、難読化したJavaScriptコードを、きちんと動作テストする事です。動かなくなっては意味がないので。できれば動作スピードも確認するといいと思います。圧縮率が高くても処理が遅くなってしまう場合があります。また、余計な広告コード等が埋め込まれていないかもチェックするといいですね。

「;」(セミコロン)については、特に、prototypeによるメソッド定義をする場合は、必ず最後に「};」と書かないと、圧縮、難読化したコードの実行でエラーになります。

JavaScriptの圧縮、難読化ツールの種類

JavaScriptの圧縮、難読化のツールが、Web上に、たくさん公開されてます。単にコメントを省くだけのものから、疑似暗号化するものなど、さまざまです。 その中で、簡単に使えて、効果の高いツールを見つけるため、いろいろ使って比較検討してみました。

大きく分けて、Web上で圧縮、難読化できるオンライン版と、ダウンロードして使うアプリケーション版(コマンドライン版)に分けられます。
コマンドライン版は、Javaで動作するものが多く、導入や環境設定に手間がかかってしまいます。念のためですが、JavaとJavaScriptは同じものではありません。 JSC (JavaScript Compressor)という実行系(exe形式)のツールもあります。しかし、使ってみると、エラーになり、使えませんでした。 そこで、今回は、Web上でJavaScriptを圧縮、難読化できるオンライン版のツールを選んで、比較検討しました。

Web上で圧縮、難読化できるオンライン版ツールの選定

たくさんの種類がありますが、私は、Googleのページランクも高く、使いやすい/packer/を選びました。
そして、いろいろ試したい場合には、The JavaScript CompressorRaterがお勧めです。これは、JSMin, Dojo ShrinkSafe, YUI Compressor, Packer, gzipで、それぞれ圧縮、難読化し、オプションをいろいろ変えて、圧縮率を比較表示してくれます。 もちろん、JavaScriptコードを圧縮、難読化したコードも取得できます。

以下、私が検討した、Web上でJavaScriptを圧縮、難読化できるオンライン版のツールです。

圧縮、難読化とは逆に、Online javascript beautifierや、JsDecoder - javascript decoder - decode obfuscated scriptのような、ブラウザ上で、圧縮、難読化されたJSコードを可読化し、見やすくするツールもあります。

PR
この記事にコメントする
ツイートボタンブログパーツ

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ATOM(RSS)icon ATOM
RSS

myTwitter

ツイートボタンブログパーツ
gogoToRoTAN


Shopping

楽天市場
TV・新聞掲載商品
楽天ランキング
Yahoo!ショッピング
Yahoo!オークション

Amazon.co.jp
Amazon.co.jp ベストセラー
楽天ブックス
楽天ブックス ランキング

旅行

楽天トラベル
航空券(ANA/JAL等)
高速バス
Yahoo!トラベル
じゃらんnet

ブログ内検索
プロフィール
HN:
torotan
性別:
非公開
ブログパーツアクセスランキング
忍者ブログ [PR]