備忘録

備忘録

JavaScript難読化ツールの紹介と比較

Ⅰ. はじめに

タイトルの通り「JavaScript難読化ツールの紹介と比較」です。
強力な難読化ツールは基本的に有料です。

※2017/07/28 追記
こだわる人用
ChromeやFireFoxの開発者ツールのブレークポイントを制限する方法 - 備忘録

※2022/05/29追記
deobfuscator
https://github.com/ben-sb/javascript-deobfuscator

Ⅱ. 比較(無料版)

# 名前 難読化
1 JavaScript obfuscator
2 </> Javascript Obfuscator
3 jjencode
4 Closure Compiler
5 /packer/
6 YUI Compressor
7 aaencode
8 emojify-webpack-plugin
9 JSFuck

1. JavaScript obfuscator

私が調べた物の中で一番完成度が高い物でした。
復元が困難になります。
JavaScriptbeautifier を利用すると元の形に近いところまで復元されますが、完全な復元まで一手間がかかります。

2. </> Javascript Obfuscator

JavaScriptbeautifier を利用すると元の形に近いところまで復元されます。

3. jjencode

https://github.com/jacobsoo/Decoder-JJEncode
デコーダが存在します。復元が容易です。

4. Closure Compiler

GoogleOSSとして公開しています。
圧縮や最適化がメインのようです。
難読化しても JavaScriptbeautifier を利用すると復元が容易です。

5. /packer/

JavaScriptbeautifier を利用すると復元が容易です。

6. YUI Compressor

名前の通り圧縮がメインです。
難読化がメインではありません。
JavaScriptbeautifier を利用すると復元が容易です。

7. aaencode

JavaScriptのコードがアスキーアートに変換されます。
aaencode の派生として (」・ω・)」うー!(/・ω・)/にゃー!encode があります。

JavaScriptbeautifier を利用しても元の形に戻りませんが、
aadecode を利用すると元の形に戻ります。
データ量が膨れ上がるので実用的ではありません。

8. emojify-webpack-plugin

JavaScriptを絵文字化するライブラリ。
webpackで使える。
試してないので難読化の強度は不明。

9. JSFuck

aaencode のようなもの。

有料版一覧

有料の為評価していません。

おまけ

SourceMapがある場合に利用できる復元ツール