
radare2 v6.2.0
UNIX-जैसा रिवर्स इंजीनियरिंग फ्रेमवर्क और कमांड-लाइन टूलसेट
Radare2: यूनिक्स गीक्स के लिए लिब्रे रिवर्सिंग फ्रेमवर्क
वर्तमान git master शाखा 6.2.3 है, अगली रिलीज़ 6.2.4 होगी।
विवरण
r2, radare का पूर्ण पुनर्लेखन है। यह रिवर्स इंजीनियरिंग कार्यों को सुगम बनाने के लिए लाइब्रेरी, टूल्स और प्लगइन्स का एक सेट प्रदान करता है। LGPLv3 के अंतर्गत वितरित, हालांकि प्रत्येक प्लगइन के अलग-अलग लाइसेंस हो सकते हैं (विवरण के लिए r2 -Lj देखें)
radare प्रोजेक्ट की शुरुआत एक साधारण कमांड-लाइन हेक्साडेसिमल एडिटर के रूप में हुई थी जो फोरेंसिक्स पर केंद्रित था। आज, r2 एक पूर्ण-सुविधा वाला निम्न-स्तरीय कमांड-लाइन टूल है जो एम्बेडेड Javascript इंटरप्रेटर या r2pipe के माध्यम से स्क्रिप्टिंग का समर्थन करता है।
r2 स्थानीय हार्ड ड्राइव पर फ़ाइलों को संपादित कर सकता है, कर्नेल मेमोरी देख सकता है, और स्थानीय रूप से या रिमोट gdb/windbg सर्वर के माध्यम से प्रोग्राम डीबग कर सकता है। r2 का व्यापक आर्किटेक्चर समर्थन आपको किसी भी बाइनरी का विश्लेषण, एमुलेट, डीबग, संशोधन और डिसअसेम्बल करने की अनुमति देता है।
इंस्टॉलेशन
नवीनतम रिलीज़ बाइनरीज़ डाउनलोड करें।
radare2 को इंस्टॉल करने का अनुशंसित तरीका Git रिपॉजिटरी स्रोत से है:
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
- डिफ़ॉल्ट acr+make+symlink इंस्टॉलेशन के लिए
sys/install.shचलाएँ - meson/ninja (muon/samu भी काम करता है) और make बिल्ड्स समर्थित हैं।
Nix
radare2 dist/nix के अंतर्गत Nix पैकेजिंग प्रदान करता है।
स्रोत से बिल्ड
- r2 को
gitसे याr2envका उपयोग करकेpipके माध्यम से इंस्टॉल किया जा सकता है। - Windows बिल्ड्स के लिए कंपाइलर के रूप में meson और msvc या mingw आवश्यक हैं
- r2 के वर्तमान बिल्ड को अनइंस्टॉल करने के लिए
make uninstallचलाएँ - r2 के सभी सिस्टम इंस्टॉलेशन को अनइंस्टॉल करने के लिए:
sudo make purge
Windows पर .bat स्क्रिप्ट्स और msvc का उपयोग करें:
preconfigure.bat REM setup python, meson, ninja
configure.bat REM run meson b + vs project
make.bat REM run ninja -C b
prefix\bin\radare2.exe
लोकप्रिय प्लगइन्स:
r2pm टूल का उपयोग करके आप radare2 का उपयोग करने वाले कई प्लगइन्स और टूल्स ब्राउज़ और इंस्टॉल कर सकते हैं।
- iaito: आधिकारिक Qt ग्राफिकल इंटरफ़ेस
- keystone Keystone लाइब्रेरी का उपयोग करके असेंबलर निर्देश
- decai AI पर आधारित डीकंपाइलर
- r2ai r2 के अंदर Llama के साथ localhost पर लैंग्वेज मॉडल चलाएँ!
- r2dec: JS में लिखा गया r2 पर आधारित डीकंपाइलर,
pddकमांड से एक्सेस किया जाता है - r2diaphora: radare2 के ऊपर Diaphora का बाइनरी डिफिंग इंजन
- r2flutter: Android और iOS ऐप्स के लिए Dart/Flutter AOT स्नैपशॉट विश्लेषण
- r2frida: frida io प्लगइन। इसका उपयोग करने के लिए r2 को
r2 frida://0से शुरू करें - r2ghidra: स्टैंडअलोन नेटिव ghidra डीकंपाइलर जिसे
pdgसे एक्सेस किया जाता है - r4ghidra: अपने Ghidra के अंदर radare का आनंद महसूस करें
- r2papi r2pipe के ऊपर उच्च-स्तरीय API
- r2pipe किसी भी प्रोग्रामिंग भाषा से radare2 को स्क्रिप्ट करें
- r2poke विस्तारित बाइनरी पार्सिंग क्षमताओं के लिए GNU/Poke के साथ एकीकरण
- goresym: GoReSym सिंबल को फ्लैग्स के रूप में आयात करें
- r2yara r2 से Yara चलाएँ या Yara से r2 प्रिमिटिव्स का उपयोग करें
- radius2: boolector और esil पर आधारित एक तेज़ सिंबॉलिक एक्ज़ीक्यूशन इंजन
- r2sarif SARIF दस्तावेज़ों को आयात/विस्तारित/निर्यात करें
- r2hermes React Native Hermes बाइटकोड के लिए डिसअसेम्बलर और विश्लेषक
- r2renef Radare2 के लिए Renef IO प्लगइन - डायनामिक Android इंस्ट्रुमेंटेशन
- r2unity: radare2 से Unity IL2CPP मेटाडेटा और नेटिव बाइनरीज़ का निरीक्षण करें
- warrp binary ninja के WARP फॉर्मेट के लिए नेटिव radare2 प्लगइन
उपयोग
r2 का उपयोग करने के लिए ये पहले कदम हैं, अधिक विवरण के लिए पुस्तक पढ़ें या ट्यूटोरियल खोजें
$ r2 /bin/ls # open file in read-only
> aaa # analyse the program (r2 -A)
> afl # list all functions (try aflt, aflm)
> px 32 # print 32 byte hexdump current block
> s sym.main # seek to main (using flag name)
> f~foo # filter flags matching 'foo' (internal |grep)
> iS;is # list sections and symbols (rabin2 -Ss)
> pdf; agf # disassembly and ascii-art function graph
> oo+;w hello # reopen in read-write and write a string
> ?*~... # interactive filter in all command help
> q # quit
कई प्लगइन्स डिफ़ॉल्ट रूप से r2 में शामिल हैं। लेकिन आप r2pm पैकेज मैनेजर का उपयोग करके इसकी क्षमताओं का विस्तार कर सकते हैं।
r2pm -s <word> # search packages matching a word
r2pm -Uci <pkg> # update database and clean install a package
r2pm -u <pkg> # uninstall the given package
r2pm -l <pkg> # list installed packages
संसाधन
- आधिकारिक पुस्तक: r2 के उपयोग के बारे में पढ़ें
- COMMUNITY.md: समुदाय की भागीदारी और अनौपचारिक दिशानिर्देश
- CONTRIBUTING.md: समस्याओं की रिपोर्टिंग और योगदान के बारे में जानकारी। Contributing भी देखें
- DEVELOPERS.md: r2 के लिए विकास दिशानिर्देश
- SECURITY.md: कमजोरियों की रिपोर्टिंग के लिए निर्देश
- USAGE.md: कुछ उदाहरण कमांड
- INSTALL.md: make या meson का उपयोग करके इंस्टॉलेशन निर्देश

