
RetDec एक पुनर्लक्ष्यीकरणीय मशीन-कोड डीकम्पाइलर है जो LLVM पर आधारित है।
चेतावनी
RetDec परियोजना वर्तमान में संसाधनों की कमी के कारण सीमित रखरखाव मोड में है:
- पुल अनुरोधों का स्वागत है। यदि संभव हो तो बिना देरी के उन्हें प्राथमिकता दी जाती है।
- मुद्दों पर एक तिमाही तक की देरी से प्रतिक्रिया दी जाती है। मुद्दों को सक्रिय रूप से हल नहीं किया जाता जब तक कि वे बुनियादी परियोजना रखरखाव से संबंधित न हों।
- बुनियादी परियोजना रखरखाव जारी है।
- केवल बहुत सीमित विकास किया जा रहा है।
RetDec LLVM पर आधारित एक पुनर्लक्ष्यीय मशीन-कोड डिकंपाइलर है।
डिकंपाइलर किसी विशेष लक्ष्य आर्किटेक्चर, ऑपरेटिंग सिस्टम या निष्पादनीय फ़ाइल प्रारूप तक सीमित नहीं है:
विशेषताएं:
अधिक जानकारी के लिए, हमारी जाँच करें
RetDec प्राप्त करने और स्थापित करने के दो तरीके हैं:
retdec/share/retdec/README.md फ़ाइल के उपयोग अनुभाग में दिए गए निर्देशों का पालन करें।हम वर्तमान में विंडोज (7 या बाद का), Linux, macOS, और (प्रयोगात्मक रूप से) FreeBSD का समर्थन करते हैं। RetDec के स्थापित संस्करण को लगभग 5 से 6 GB खाली डिस्क स्थान की आवश्यकता होती है।
कृपया सुनिश्चित करें कि आप उपयोग किए गए RetDec संस्करण के अनुरूप निर्देश पढ़ रहे हैं। यदि अनिश्चित हों, तो स्थापना में retdec/share/retdec/README.md फ़ाइल देखें।
RetDec स्थापित करने के बाद, Microsoft Visual C++ Redistributable for Visual Studio 2017 स्थापित करें।
निम्नलिखित प्रोग्राम स्थापित करें:
test.exe नामक बाइनरी फ़ाइल को डीकंपाइल करने के लिए, चलाएं
$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
अधिक जानकारी के लिए, --help के साथ retdec-decompiler.exe चलाएं।
RetDec स्थापित करने के बाद, अपने वितरण के पैकेज प्रबंधक के माध्यम से निम्नलिखित पैकेज स्थापित करें:
test.exe नामक बाइनरी फ़ाइल को डीकंपाइल करने के लिए, चलाएं
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
अधिक जानकारी के लिए, --help के साथ retdec-decompiler चलाएं।
RetDec स्थापित करने के बाद, निम्नलिखित पैकेज स्थापित करें:
test.exe नामक बाइनरी फ़ाइल को डीकंपाइल करने के लिए, चलाएं
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
अधिक जानकारी के लिए, --help के साथ retdec-decompiler चलाएं।
FreeBSD के लिए वर्तमान में कोई पूर्व-निर्मित "पोर्ट्स" पैकेज नहीं हैं। आपको डिकंपाइलर स्वयं बनाना और स्थापित करना होगा। प्रक्रिया नीचे वर्णित है।
test.exe नामक बाइनरी फ़ाइल को डीकंपाइल करने के लिए, चलाएं
$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
अधिक जानकारी के लिए, --help के साथ retdec-decompiler चलाएं।
आप अपने प्रोजेक्ट्स में विभिन्न RetDec लाइब्रेरीज़ का आसानी से उपयोग कर सकते हैं - यदि वे CMake के साथ बनाए गए हों। RetDec इंस्टॉलेशन में सभी आवश्यक हेडर, लाइब्रेरीज़ और CMake स्क्रिप्ट शामिल हैं।
यदि आपने RetDec को अपने सिस्टम के मानक स्थापना स्थान (जैसे /usr, /usr/local) में स्थापित किया है, तो इसके घटकों का उपयोग करने के लिए आपको बस इतना करना है:```cmake
find_package(retdec 5.0 REQUIRED
COMPONENTS
[...]
)
target_link_libraries(your-project
PUBLIC
retdec::
[...]
)
यदि आपने RetDec को ऐसे स्थान पर स्थापित नहीं किया है जहाँ इसे स्वचालित रूप से खोजा जा सके, तो `find_package()` का उपयोग करने से पहले आपको CMake को इसे खोजने में मदद करनी होगी। सामान्यतः ऐसा करने के दो तरीके हैं (केवल एक चुनें और उपयोग करें):
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. स्थापित RetDec CMake स्क्रिप्ट का पथ `retdec_DIR` पर सेट करें:
```cmake
set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
```
उपलब्ध RetDec घटकों की सूची के लिए [Repository Overview](https://github.com/avast/retdec/wiki/Repository-Overview) विकी पृष्ठ देखें, या उनका उपयोग करने के तरीके पर डेमो के लिए [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) देखें।
## निर्माण और स्थापना
यह खंड RetDec के स्थानीय निर्माण और स्थापना का वर्णन करता है। Docker के लिए निर्देश अगले खंड में दिए गए हैं।
### आवश्यकताएँ
#### लिनक्स
* C++17 का समर्थन करने वाला C++ कंपाइलर और मानक C++ लाइब्रेरी (जैसे 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/)
* वैकल्पिक: API दस्तावेज़ीकरण उत्पन्न करने के लिए [Doxygen](http://www.stack.nl/~dimitri/doxygen/) और [Graphviz](http://www.graphviz.org/)