google/jsir
Next-generation JavaScript analysis tooling
何を解決するか
JSIR は、高レベルのソース表現と低レベルのデータフロー解析のバランスを取った JavaScript コードの分析・変換を可能にします。これにより、バイトコードを読みやすい JavaScript に復元するデコンパイルや、コードの難読化を解除する作業を実行できます。
動作方法
MLIR(Multi-Level Intermediate Representation)に基づく高レベルの中間表現を使用しています。この設計では、MLIR のリージョンを使って制御フロー構造をモデル化しており、抽象構文木(AST)に変換可能な高レベルな表現を維持しつつ、定数伝搬や汚染分析などの技術的解析をサポートできる低レベル性を兼ね備えています。
対象ユーザー
JavaScript のコード解析、デコンパイル、難読化解除に注力するセキュリティ研究者や開発者です。
特徴
- 情報損失なしの変換: ソースに戻す際に情報を失わず、元のコードを正確に再構築可能。
- MLIR 統合: 先進的な解析に向けた MLIR フレームワークを活用。
- 難読化解除機能: Gemini などの LLM と組み合わせて、難読化されたコードをクリーンアップ可能。
- バイトコードのデコンパイル: Hermes バイトコードを JavaScript ソースコードに復元可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト