
ASTベースのPythonコード変換・難読化解除フレームワーク

Noctyra は、コード変換と難読化解除のために設計された AST ベースのフレームワークです。複雑な式やロジックを解決して Python ソースコードを分析・簡略化する、モジュール化されたパイプラインを提供します。
本プロジェクトは、Python の抽象構文木(AST)を処理するための柔軟な環境を提供することを目的としています。一連のプラグイン可能なトランスフォーマーを適用することで、Noctyra は以下のことが可能です。
依存関係管理のために uv がインストールされていることを確認してください。
uv sync
対象のスクリプトを処理するには、以下のコマンドを使用します。
python main.py <input_file> [options]
オプション:
file: 入力 Python ファイルのパス(必須)。--output: 変換後のコードのファイル名(デフォルト: out.py)。--iterations: 変換パスの固定回数(デフォルト: 0(自動検出))。--max-iterations: 自動モードでのパス上限(デフォルト: 100)。--debug: 変換のデバッグ用の詳細ログを有効にします。(かっこいい)このプロジェクトは依存関係管理に uv を使用し、一般的なタスクには Makefile を使用しています。
uv sync --all-extras --dev
PR を提出する前、または変更をプッシュする前に、すべてのチェックがパスすることを確認してください。
make testmake formatmake typecheck(Windows ユーザー: これらのコマンドは make.bat 経由で自動的に動作します。)
プッシュのたびに、GitHub Actions による自動チェックが実行されます。Ruff によるリンティング、Mypy による型チェック、Pytest による単体テストが含まれます。
Noctyra には基本的なリソース制限のある内部評価エンジンが含まれています。ただし、信頼できないコードを扱う場合は、潜在的な副作用やリソースの枯渇を防ぐために、隔離された環境(コンテナやサンドボックスなど)内でパイプラインを実行することを強く推奨します。