Reko (بالسويدية: "decent, engagement") هو برنامج فك تشفير لثنائيات كود الآلة. هذا المشروع متاح مجانًا بموجب رخصة جنو العامة.
يتكون المشروع من واجهات أمامية ومحرك فك ترجمات أساسي ونهايات خلفية لمساعدته على تحقيق أهدافه. يوجد سطر أوامر وواجهة مستخدم رسومية لنظام التشغيل Windows وواجهة ASP.NET الأمامية في وقت كتابة هذا التقرير. يتلقى محرك فك الترجمة مدخلات من الواجهات الأمامية في شكل ملفات فردية قابلة للتنفيذ أو ملفات مشروع فك الترجمة. تحتوي ملفات مشروع Reko على معلومات إضافية حول ملف ثنائي، مفيدة لعملية فك الترجمة أو لتنسيق الإخراج. ثم يشرع محرك فك التحويل البرمجي في تحليل الإدخال الثنائي.
عرض خريطة البايت لملف ثنائي ARM محمل قابل للتنفيذ | عرض مفكك لملف ثنائي ARM قابل للتنفيذ ومحمل |
لدى Reko طموح في دعم فك تجميع بنيات المعالج المختلفة وتنسيقات الملفات القابلة للتنفيذ مع الحد الأدنى من تدخل المستخدم. للحصول على قائمة كاملة، راجع صفحة الثنائيات المدعومة.
يرجى ملاحظة أن العديد من تراخيص البرامج تحظر إلغاء الترجمة أو أي هندسة عكسية أخرى لثنائيات كود الجهاز الخاصة بها. استخدم برنامج فك التحويل البرمجي هذا فقط إذا كان لديك حقوق قانونية لفك الملف الثنائي (على سبيل المثال، إذا كان الملف الثنائي خاصًا بك.)
يتم نشر الإصدارات الرسمية كل بضعة أشهر على Github وSourceForge. يمكن للمستخدمين الذين لا يستطيعون أو لا يريدون إنشاء Reko بأنفسهم تنزيل مخرجات منشئ تكامل Cirrus CI أو منشئ تكامل Github Actions. وبطبيعة الحال يمكنك بناء المشروع من المصادر: انظر "القرصنة" أدناه.
يجب تثبيت البرامج المطلوبة التالية على جهازك أولاً:
.NET 6.0 (https://www.microsoft.com/net/download/dotnet-framework-runtime)
قم بتنزيل برنامج التثبيت المناسب وقم بتشغيله على الجهاز المستهدف.
بعد التثبيت، يمكنك المتابعة إما عن طريق تنزيل الثنائيات مباشرة من خادم بناء التكامل، أو عن طريق إنشاء Reko من المصادر (انظر Hacking
أدناه).
للتعرف على ميزات Reko المتنوعة، يمكنك قراءة دليل المستخدم. إذا كنت مهتمًا بالأعمال الداخلية للمشروع، فراجع الويكي.
يمكنك الإبلاغ عن أي مشكلات تواجهها أو طرح أي سؤال متعلق بـ Reko على أداة تعقب المشكلات. يمكنك أيضًا تجربة غرفة الدردشة Reko Gitter.im. تم إنشاء Reko من خلال جهود المتطوعين في أوقات فراغهم، لذا قم بتعديل توقعات وقت الاستجابة وفقًا لذلك.
لإنشاء reko، ابدأ بالاستنساخ https://github.com/uxmal/reko. يمكنك استخدام IDE أو سطر الأوامر لإنشاء ملف الحل Reko-decompiler.sln
. يتطلب Reko .NET 6.0 SDK لتجميعه. إذا كنت من مستخدمي IDE، فاستخدم إصدارًا حديثًا من Visual Studio 2022. وإذا كنت ترغب في الإنشاء باستخدام سطر الأوامر، فاستخدم الأمر
dotnet msbuild -p:Platform={platform} -p:Configuration={config} -v:m -t:build_solution -m ./src/BuildTargets/BuildTargets.csproj
استبدل {config}
بـ Debug
أو Release
و {platform}
بـ x64
أو x86
.
ملحوظة : يرجى إعلامنا إذا كنت لا تزال غير قادر على التجميع، حتى نتمكن من مساعدتك في حل المشكلة.
إذا كنت مهتمًا بالمساهمة في التعليمات البرمجية، فاطلع على خريطة الطريق الخاصة بالمناطق التي يمكنك استكشافها. لدى Wiki المزيد من المعلومات حول الأعمال الداخلية لمشروع Reko. يرجى الرجوع إلى دليل الأسلوب.
ستتلقى تحذيرات أو أخطاء عند تحميل الحل في Visual Studio إذا لم تقم بتثبيت مجموعة أدوات WiX على جهاز التطوير الخاص بك. يمكنك تجاهل التحذيرات بأمان؛ يتم استخدام مجموعة أدوات WiX فقط عند إنشاء حزم تثبيت MSI. لن تحتاج إلى إنشاء برنامج تثبيت إذا كنت قادرًا بالفعل على تجميع المشروع: تقوم عملية الإنشاء بنسخ جميع الملفات الضرورية في دليل واحد. إذا كنت تريد إنشاء برنامج تثبيت MSI باستخدام سلسلة أدوات WiX، فيمكنك تنزيله من هنا: http://wixtoolset.org/releases/
اعتمادًا على ما تفعله، قد يحاول Visual Studio إعادة إنشاء NativeProxy الذي يعتمد على CMake. يمكنك إما تثبيت CMake والتأكد من إضافته إلى PATH الخاص بك أو تعطيل المشروع في Visual Studio.
يعد تثبيت CMake كجزء من Visual Studio كافيًا لتشغيل msbuild من Developer Command Prompt
ولكن ليس عند الإنشاء من داخل VS، إلا إذا قمت بإضافة ذلك إلى PATH العام الخاص بك. يتيح لك تثبيت CMake خارجيًا إضافته إلى PATH أثناء التثبيت.
ملاحظة : هناك مشكلة في إصدارات معينة من Visual Studio يمكن أن تظهر عند تحميل المشروع. ستلاحظ ذلك إذا كان Visual Studio عالقًا في "تشغيل مهام الخلفية" ولن يسمح لك ببناء المشروع. الحل البديل هو النقر بزر الماوس الأيمن فوق مشروع "NativeProxy" في مستكشف الحلول واختيار "Unload Project". سيكون المشروع قادرًا بعد ذلك على التحميل والإنشاء بشكل صحيح. لا تحدث هذه المشكلة عند الإنشاء من سطر الأوامر.
يحتوي مجلد Drivers
التشغيل على الملفات التنفيذية التي تعمل بمثابة واجهات المستخدم. يحتوي الدليل الفرعي WindowsDecompiler
على عميل واجهة المستخدم الرسومية (GUI) لواجهة مستخدم Windows Forms. يحتوي الدليل الفرعي AvaloniaShell
على عميل واجهة المستخدم الرسومية (GUI) لواجهة مستخدم Avalonia عبر الأنظمة الأساسية (لا تزال قيد الإنشاء). CmdLine
هو برنامج تشغيل سطر الأوامر.
راجع سجل الإصدار للحصول على أحدث الإصدارات.