Obfuscator.ioというJavaScriptコードを難読化できるツールがあります。
例えば以下のような感じ
正直難読化されてても慣れればコードを読むのはそんなに苦じゃないのですが、自動ですべて解読するツールを作ったらおもしろそうだと思ってやってみました。
Vue.js(サイト側)とCloud Functions(API側)で作ってみました。
公開URL: https://deo.sigr.io/
残念ながら完全自動化までは至りませんでしたが、最初にターゲットとなる関数名を入力すれば後は自動で解析してくれます。
##ツールの使い方
- 解読したいコードをInputに貼り付ける。
- 貼り付けたコードの中に以下のような部分があるので関数名をコピーする(3つのうちどれかに似てるはず)
_0x439c[103] _0x439c('0x4') _0x439c('0x2','f]Xg')
これの場合は_0x439cが対象(関数名)。Target function nameの欄にコピーしたのを貼り付ける
3.「Deobfuscate」をクリック
4.ちゃんと解読されればResultに結果が表示される
ちゃんと解読されると難読化された部分が読めるようになるはずです。
##さいごに
GitHubにフロント側のソースコードをうpしています。
https://github.com/LostMyCode/javascript-deobfuscator
CloudFunctionsで動いているAPI側のコードもいつか公開するかもしれません。