
pycdc/pycdasを用いてPythonバイトコードを調査し、ネイティブデコンパイルを検査し、未対応のコードオブジェクトに対してAIフォールバックを利用するQt WidgetsデスクトップUI。
pycdc / pycdas を使用してPythonバイトコードを探索し、ネイティブ逆コンパイル結果を検査し、Pyarmorのワンショット出力をインポートし、AIフォールバックで未サポートのコードオブジェクトを再試行するためのQt WidgetsデスクトップUIです。
このアプリはWindowsとLinuxのデスクトップ環境両方をサポートしています。


.pyc / .pyo ファイルを直接開くMergedNativeAICtrl+R を使用して、現在選択されているノードをAIで再試行するアプリはデフォルトでは .pyc 全体を送信しません。
現在選択されているコードオブジェクトからプロンプトを構築します。これには以下が含まれます:
これにより、フォールバックの再構築はファイル全体ではなく選択されたノードに集中します。
アプリは現在、アプリケーションバイナリの隣にあるローカル実行可能ファイルを優先し、以下を探します:
pycdc.exepycdcpycdas.exepycdaspycdc-studio アプリケーションバイナリと同じディレクトリ内で。
環境変数でこれらを上書きできます:
PYCDC_STUDIO_PYCDCPYCDC_STUDIO_PYCDASアプリは、Lil-House/Pyarmor-Static-Unpack-1shot に委任することで、Pyarmorで保護されたプロジェクトをインポートできます。
現在の統合フロー:
oneshot/shot.py を実行するpyarmor-1shot に .1shot.das と .1shot.cdc.py を生成させるリリースパッケージは、Pyarmorワンショットツールチェーンと必要なPythonパッケージの依存関係を自動的にバンドルすることが期待されています。
ローカル開発の場合、現在のコードは最初にアプリケーションパッケージの隣にあるバンドルファイルを探し、また以下のローカルクローンもサポートしています:
external/Pyarmor-Static-Unpack-1shot/oneshot/shot.pyそして、pyarmor-1shot / pyarmor-1shot.exe が shot.py と同じディレクトリにあることを期待しています。
また、shot.py を実行できるPython環境(pycryptodome を含む)が必要です。
レイアウトが異なる場合は、以下の環境変数で上書きできます:
PYCDC_STUDIO_PYARMOR_PYTHONPYCDC_STUDIO_PYARMOR_SHOTPYCDC_STUDIO_PYARMOR_PYTHONPATHPYCDC_STUDIO_PYARMOR_OUTPUT_ROOT例:
git clone https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot external/Pyarmor-Static-Unpack-1shot
cmake -S external/Pyarmor-Static-Unpack-1shot/pycdc -B external/Pyarmor-Static-Unpack-1shot/build
cmake --build external/Pyarmor-Static-Unpack-1shot/build --config Release
cmake --install external/Pyarmor-Static-Unpack-1shot/build --config Release
python -m pip install pycryptodome
pycdc-studio を起動するFile -> Import Pyarmor Project... を開くpyarmor_runtime が含まれているルートディレクトリを選択する.1shot.* ファイルがワークスペースにインポートされるのを待つ注意:
PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT が設定されていない限り、一時出力ディレクトリを使用します。AIフォールバックを使用する前に、Settings を開いて少なくとも以下を設定してください:
Base URLAPI KeyModel現在のクライアントは、OpenAI互換API エンドポイントを期待しています。
設定ダイアログは、プロバイダ設定を QSettings に保存し、フィールドが空の場合は環境変数にフォールバックします。
サポートされている環境変数:
PYCDC_STUDIO_AI_BASE_URLPYCDC_STUDIO_AI_API_KEYPYCDC_STUDIO_AI_MODELPYCDC_STUDIO_AI_SYSTEM_PROMPT要件:
例:
cmake -S . -B build
cmake --build build
pycdc-studio を起動する.pyc / .pyo ファイルを開くか、フォルダをウィンドウにドラッグするFile -> Import Pyarmor Project... を開くSettings を開き、AIフォールバックを使用する場合はAIモデルを設定するRetry with AI を使用するtest/ の下に長めのテストケースが含まれています:
workflow_orchestrator.pyasync_batch_runner.pyplugin_config_resolver.pyリポジトリはソースサンプルのみを追跡します。
ドラッグ&ドロップテスト用のローカルの .pyc ファイルを生成するには:
python test/compile_test_samples.py
このスクリプトはコンパイルされたバイトコードを test/__pycache__/ に書き込みます。
このプロジェクトはまだ実験段階です。
現在の Merged ビューは正直な混合ドキュメントです:
まだ完全なインラインソースマージャーではありません。
このプロジェクトは pycdc / pycdas と統合しており、そのアップストリームプロジェクトは GPL-3.0 の下でライセンスされています。
pycdc: GPL-3.0pycdc / pycdas をバンドルするリリースパッケージにはGPL-3.0通知を含める必要がありますpycdc リポジトリとコミットを THIRD_PARTY_NOTICES.txt に記録します完全なライセンス詳細については、アップストリームプロジェクトを参照してください: