jehna/humanify
Deobfuscate Javascript code using ChatGPT
解決する課題
難読化されたJavaScriptコードの可読性を復元します。難読化されたコードは、通常、記述的な変数名や関数名を短く無意味な識別子(a、b、c など)に置き換えるため、人間がコードを理解したりリバースエンジニアリングしたりすることが困難になります。このツールはAIを使用して、コードの文脈に基づいて意味のある名前を提案します。
仕組み
このツールは、大規模言語モデル(LLM)とJavaScriptの抽象構文木(AST)パーサーを組み合わせています。LLMは、周囲のコードの文脈に基づいて、新しい記述的な識別子名を提案するためだけに使用されます。コードの構造と機能を完全に維持するために、実際の書き換えは oxc ライブラリを使用してASTレベルで行われ、これによりレキシカルスコープが処理され、名前の衝突が防止されます。
対象ユーザー
難読化されたJavaScriptファイルの分析、デバッグ、またはリバースエンジニアリングが必要な開発者やセキュリティ研究者。
特徴
- マルチプロバイダー対応: OpenAI、Gemini、Anthropic、Ollama (ローカル)、OpenRouter、Requesty に対応しています。
- ASTレベルの精度: 書き換えがすべての参照を保持し、レキシカルスコープを尊重することを保証します。
- 静的バイナリ: Rustベースの単一バイナリとして配布されているため、Node.jsやPythonの依存関係なしで簡単にインストールできます。
- UnixスタイルのI/O: stdinからの読み込みとstdoutへの書き出しをサポートしており、
webcrackのような他のツールとのパイプ処理が可能です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト