概要

サイトのコードを見ると、このように難読化されていることがある

eval(function (p, a, c, k, e, d) { e = function (c) { '...SNIP... |true|function'.split('|'), 0, {}))

難読化とは、人間がコードを読みにくくするための技術

主要な難読化手法

圧縮

パッキング

実際にパッキングすると、このように難読化される

そのほかの難読化手法

高度な難読化手法

オリジナルのJSコードをペーストして、「Obfuscate」をクリック

難読化済みの出力

全く、オリジナルのJSコードがわからない状態になる

難読化解除

整形

確かに見やすくなった

以下のオンライン整形ツールを使っても綺麗に整形できる

しかし、まだコードの意味はわかりづらいまま
→ 難読化もされてるため

パッキングの解除

確かに難読かが解除されて普通に読める形になっている

何でエンコードされているのかがわかるツール

参考

https://academy.hackthebox.com/course/preview/javascript-deobfuscation