入力

デコードされた出力

JSFuckデコーダーとは?

JavaScriptファイルを開いたら `+!+[]+(![]+[])[+[]]` が画面いっぱいに広がっていた経験はありませんか?それがJSFuckです — `[`、`]`、`(`、`)`、`!`、`+` の6文字だけで任意のJavaScriptをエンコードする技術です。JSFuckデコーダーはそれを読みやすいコードに翻訳します。MDN JavaScriptは、JSFuckが活用する型強制・配列インデックス・Boolean変換といった言語機能を詳しく説明しています。ECMAScript仕様は `+!+[]` が `1` になる理由を定義しています。デコードされた出力をさらに分析するにはAST ExplorerChrome DevToolsが役立ちます。Babelで結果をさらに正規化することもできます。すべてブラウザ内で動作するため、コードがサーバーに送信されることはありません。

このツールは完全にブラウザ内で動作します。サーバーには何も送信されません。コードを難読化するにはJavaScriptオブフスケーターを、フォーマットのみにはJavaScriptフォーマッターを、検証にはJavaScriptバリデーターを使用してください。

JSFuckのデコード方法

1

貼り付けまたはアップロード

JSFuckまたは混在した難読化JavaScriptをエディターに貼り付けてください。ツールはデコードとフォーマットを適用して検査を容易にします。

2

デコードされた出力を表示

出力にはベストエフォートのデコードと正規化が表示されます。非常にネストされたペイロードは手動解析が必要な場合があります。

3

コピーまたはダウンロード

結果を取得するにはコピーまたはダウンロードを使用してください。コードを実行するにはJavaScriptコンソール.

JSFuckデコーダーの例

JSFuck形式のシンボルとエスケープのデコード例です。

例:シンボル多用の難読化式

JSFuck入力:

入力

デコードされた出力:

出力

JSFuckデコーダーが役立つ場面

マルウェアのトリアージ、CTFチャレンジ、JSFuck記法を使用するスクリプトのリバースエンジニアリングに便利です。まずデコードし、より安全なワークフローで動作を確認してください。

よくある質問

データはプライベートですか?

はい。デコードは完全にブラウザ内で行われます。データはサーバーに送信されません。

すべてのJSFuckペイロードをデコードできますか?

多くのシンボル多用パターンを処理しますが、深くネストされたペイロードは手動での分解が必要な場合があります。

難読化を完全に逆転できますか?

難読化の種類によります。単純なパターンは逆転されます。強い難読化は一部のコードを読みにくく残すことがあります。

JSFuckデコーダーとデオブフスケーターの違いは?

JSFuckデコーダーはシンボルベースのエンコーディングを対象とします。一般的なデオブフスケーターは混在または非JSFuck難読化に適しています。

難読化解除は合法ですか?

自分のコードのデバッグ、セキュリティ研究、または許可を得て使用してください。サードパーティコードのライセンスと利用規約を確認してください。

関連ツール

ECMAScriptMDN JavaScriptTerserChrome DevToolsBabel