
RetDec هو مفكك تعليمات برمجية آلي قابل لإعادة التوجيه مبني على LLVM.
تحذير
مشروع RetDec حاليًا في وضع الصيانة المحدودة بسبب نقص الموارد:
- طلبات السحب (Pull Requests) مرحب بها. يتم مراجعتها بأولوية، إن أمكن دون تأخير.
- يتم الرد على المشكلات (Issues) مع تأخير يصل إلى ربع سنة. لا يتم حل المشكلات بنشاط إلا إذا كانت تتعلق بصيانة المشروع الأساسية.
- تستمر الصيانة الأساسية للمشروع.
- يتم تطوير محدود جدًا فقط.
RetDec هو مفكك كود آلة قابل لإعادة الاستهداف مبني على LLVM.
ليس المفكك مقيدًا بأي بنية معمارية مستهدفة أو نظام تشغيل أو تنسيق ملف قابل للتنفيذ:
الميزات:
لمزيد من المعلومات، طالع
هناك طريقتان للحصول على وتثبيت RetDec:
retdec/share/retdec/README.md بعد فك الضغط.ندعم حاليًا Windows (7 أو أحدث)، Linux، macOS، و (بشكل تجريبي) FreeBSD. تتطلب النسخة المثبتة من RetDec ما يقرب من 5 إلى 6 جيجابايت من مساحة القرص الحرة.
يرجى التأكد من قراءة التعليمات المقابلة لإصدار RetDec المستخدم. إذا كنت غير متأكد، راجع ملف retdec/share/retdec/README.md في التثبيت.
بعد تثبيت RetDec، قم بتثبيت Microsoft Visual C++ Redistributable لـ Visual Studio 2017.
قم بتثبيت البرامج التالية:
لفك ترجمة ملف ثنائي باسم test.exe، قم بتشغيل
$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
لمزيد من المعلومات، قم بتشغيل retdec-decompiler.exe مع --help.
بعد تثبيت RetDec، قم بتثبيت الحزم التالية عبر مدير الحزم في توزيعتك:
لفك ترجمة ملف ثنائي باسم test.exe، قم بتشغيل
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
لمزيد من المعلومات، قم بتشغيل retdec-decompiler مع --help.
بعد تثبيت RetDec، قم بتثبيت الحزم التالية:
لفك ترجمة ملف ثنائي باسم test.exe، قم بتشغيل
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
لمزيد من المعلومات، قم بتشغيل retdec-decompiler مع --help.
لا توجد حاليًا حزم "ports" مبنية مسبقًا لـ FreeBSD. ستحتاج إلى بناء وتثبيت المفكك بنفسك. العملية موصوفة أدناه.
لفك ترجمة ملف ثنائي باسم test.exe، قم بتشغيل
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
لمزيد من المعلومات، قم بتشغيل retdec-decompiler مع --help.
يمكنك استخدام مكتبات RetDec المختلفة بسهولة في مشاريعك - إذا كانت مبنية باستخدام CMake. يحتوي تثبيت RetDec على جميع الرؤوس والمكتبات وملفات CMake الضرورية.
إذا قمت بتثبيت RetDec في موقع تثبيت قياسي لنظامك (مثل /usr، /usr/local)، كل ما عليك فعله لاستخدام مكوناته هو:```cmake
find_package(retdec 5.0 REQUIRED
COMPONENTS
[...]
)
target_link_libraries(your-project
PUBLIC
retdec::
[...]
)
إذا لم تقم بتثبيت RetDec في مكان يمكن اكتشافه تلقائياً، فستحتاج إلى مساعدة CMake في العثور عليه قبل استخدام `find_package()`. هناك طريقتان عامتان للقيام بذلك (اختر واحدة فقط واستخدمها):
1. أضف دليل تثبيت RetDec إلى [`CMAKE_PREFIX_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html):
```cmake
list(APPEND CMAKE_PREFIX_PATH ${RETDEC_INSTALL_DIR})
```
2. عيّن المسار إلى نصوص CMake المثبتة لـ RetDec إلى `retdec_DIR`:
```cmake
set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
```
راجع صفحة [نظرة عامة على المستودع](https://github.com/avast/retdec/wiki/Repository-Overview) في الويكي للحصول على قائمة بمكونات RetDec المتاحة، أو [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) للحصول على عروض توضيحية حول كيفية استخدامها.
## البناء والتثبيت
يصف هذا القسم بناء وتثبيت محلي لـ RetDec. ترد تعليمات Docker في القسم التالي.
### المتطلبات
#### لينكس
* مترجم C++ ومكتبة C++ قياسية تدعم C++17 (مثل GCC >= 7)
* [CMake](https://cmake.org/) (الإصدار >= 3.6)
* [Git](https://git-scm.com/)
* [OpenSSL](https://www.openssl.org/) (الإصدار >= 1.1.1)
* [Python](https://www.python.org/) (الإصدار >= 3.4)
* [autotools](https://en.wikipedia.org/wiki/GNU_Build_System) ([autoconf](https://www.gnu.org/software/autoconf/autoconf.html)، [automake](https://www.gnu.org/software/automake/)، و [libtool](https://www.gnu.org/software/libtool/))
* [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)
* [m4](https://www.gnu.org/software/m4/m4.html)
* [zlib](http://zlib.net/)
* اختياري: [Doxygen](http://www.stack.nl/~dimitri/doxygen/) و [Graphviz](http://www.graphviz.org/) لتوليد وثائق API
على التوزيعات المبنية على Debian (مثل Ubuntu)، يمكن تثبيت الحزم المطلوبة باستخدام `apt-get`:```sh
sudo apt-get install build-essential cmake git openssl libssl-dev python3 autoconf automake libtool pkg-config m4 zlib1g-dev upx doxygen graphviz
على توزيعات RPM (مثل Fedora)، يمكن تثبيت الحزم المطلوبة باستخدام dnf:```sh
sudo dnf install gcc gcc-c++ cmake make git openssl openssl-devel python3 autoconf automake libtool pkg-config m4 zlib-devel upx doxygen graphviz
على Arch Linux، يمكن تثبيت الحزم المطلوبة باستخدام `pacman`:```sh
sudo pacman --needed -S base-devel cmake git openssl python3 autoconf automake libtool pkg-config m4 zlib upx doxygen graphviz