
مفكك ومفكك برامج لبايت كود C++ وPython
مفكك ومترجم عكسي لبايت كود بايثون
يهدف Decompyle++ إلى ترجمة بايت كود بايثون المترجم مجددًا إلى كود مصدر بايثون صالح وقابل للقراءة البشرية. بينما حققت مشاريع أخرى ذلك بنجاح متفاوت، يتميز Decompyle++ بأنه يسعى لدعم بايت كود من أي إصدار من بايثون.
يتضمن Decompyle++ كلاً من مفكك البايت كود (pycdas) ومترجم عكسي (pycdc).
كما يوحي الاسم، فإن Decompyle++ مكتوب بلغة C++. إذا كنت ترغب في المساهمة، يُرجى عمل fork لنا على github على https://github.com/zrax/pycdc
قم بإنشاء مشروع أو ملف make باستخدام CMake (راجع توثيق CMake للتفاصيل)
يمكن تمرير الخيارات التالية إلى CMake للتحكم في ميزات التصحيح:
| الخيار | الوصف |
|---|---|
-DCMAKE_BUILD_TYPE=Debug | إنتاج رموز التصحيح |
-DENABLE_BLOCK_DEBUG=ON | تمكين مخرجات تصحيح الكتل |
-DENABLE_STACK_DEBUG=ON | تمكين مخرجات تصحيح المكدس |
قم ببناء المشروع أو ملف make المُنشأ
makemake check JOBS=4 (اختياري FILTER=xxxx لتشغيل اختبارات معينة فقط)لتشغيل pycdas، مفكك PYC:
./pycdas [المسار إلى ملف PYC]
يتم طباعة تفكيك البايت كود إلى stdout.
لتشغيل pycdc، المترجم العكسي PYC:
./pycdc [المسار إلى ملف PYC]
يتم طباعة كود المصدر البايثوني المُترجم عكسيًا إلى stdout.
يتم طباعة أي أخطاء إلى stderr.
كائنات الكود المُرشَّلة:
كلا الأداتين تدعمان كائنات كود بايثون المُرشَّلة، كما في مخرجات marshal.dumps(compile(...)).
لاستخدام هذه الميزة، حدد -c -v <version> في سطر الأوامر - يجب تحديد الإصدار لأن الكائنات نفسها لا تحتوي على بيانات وصفية للإصدار.
Decompyle++ هو عمل Michael Hansen و Darryl Pogue.
مساهمات إضافية من:
تم إصداره بموجب شروط رخصة GNU العامة، الإصدار 3؛ انظر ملف LICENSE للتفاصيل.