
واجهة مستخدم سطح مكتب باستخدام Qt Widgets لاستكشاف بايت كود بايثون باستخدام pycdc/pycdas، وفحص فك التجميع الأصلي، واستخدام الذكاء الاصطناعي كخطة بديلة لكائنات الكود غير المدعومة.
واجهة رسومية سطح مكتب مبنية على Qt Widgets لاستكشاف بايت كود بايثون باستخدام pycdc / pycdas، وفحص نتائج فك التجميع الأصلية، واستيراد مخرجات Pyarmor oneshot، وإعادة محاولة كائنات الكود غير المدعومة باستخدام التراجع عن طريق AI.
يدعم التطبيق بيئات سطح المكتب لنظامي Windows و Linux.


.pyc / .pyo مباشرةMergedNativeAICtrl+Rلا يرسل التطبيق ملف .pyc بأكمله افتراضيًا.
يبني استفسارًا من كائن الكود المحدد حاليًا، يتضمن:
يحافظ ذلك على إعادة بناء التراجع مركزة على العقدة المحددة بدلاً من الملف بأكمله.
يفضل التطبيق حاليًا الملفات القابلة للتنفيذ المحلية بجانب التطبيق الثنائي وسيبحث عن:
pycdc.exepycdcpycdas.exepycdasفي نفس دليل تطبيق pycdc-studio الثنائي.
يمكنك تجاوزها باستخدام متغيرات البيئة:
PYCDC_STUDIO_PYCDCPYCDC_STUDIO_PYCDASيمكن للتطبيق استيراد المشاريع المحمية بواسطة Pyarmor عن طريق تفويض المهمة إلى
Lil-House/Pyarmor-Static-Unpack-1shot.
سير العمل الحالي للتكامل:
oneshot/shot.py على دليل مشروع Pyarmor محددpyarmor-1shot بتوليد ملفات .1shot.das و .1shot.cdc.pyمن المتوقع أن تقوم حزم الإصدارات بتضمين سلسلة أدوات Pyarmor oneshot وتبعيات حزمة Python المطلوبة تلقائيًا.
للتطوير المحلي، يبحث الكود الحالي أولاً عن الملفات المرفقة بجانب حزمة التطبيق، ويدعم أيضًا نسخة مستنسخة محلية في:
external/Pyarmor-Static-Unpack-1shot/oneshot/shot.pyويتوقع أن يكون pyarmor-1shot / pyarmor-1shot.exe متاحًا في نفس دليل shot.py.
تحتاج أيضًا إلى بيئة Python يمكنها تشغيل shot.py، بما في ذلك 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-studioFile -> 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... لمشروع محمي باستخدام PyarmorSettings من القائمة العلوية وقم بتكوين نموذج AI الخاص بك إذا كنت ترغب في استخدام التراجع عن طريق AIRetry 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.0pycdc العلوي المرفق والالتزام في THIRD_PARTY_NOTICES.txtراجع المشروع العلوي للحصول على تفاصيل الترخيص الكاملة: