
angr v9.3.0
एक शक्तिशाली और उपयोगकर्ता-अनुकूल बाइनरी विश्लेषण प्लेटफॉर्म!
angr
angr एक प्लेटफ़ॉर्म-अज्ञेय बाइनरी विश्लेषण ढाँचा है। इसे यूसी सांता बारबरा में कंप्यूटर सुरक्षा प्रयोगशाला, एरिज़ोना स्टेट यूनिवर्सिटी में SEFCOM, उनसे संबद्ध CTF टीम, Shellphish, ओपन सोर्स समुदाय और @rhelmot द्वारा लाया गया है।
परियोजना लिंक
होमपेज: https://angr.io
परियोजना भंडार: https://github.com/angr/angr
दस्तावेज़ीकरण: https://docs.angr.io
API दस्तावेज़ीकरण: https://docs.angr.io/en/latest/api.html
angr क्या है?
angr Python 3 लाइब्रेरीज़ का एक सूट है जो आपको एक बाइनरी लोड करने और उसके साथ बहुत सी शानदार चीज़ें करने देता है:
- डिसअसेंबली और मध्यवर्ती-प्रतिनिधित्व उठाना
- प्रोग्राम इंस्ट्रुमेंटेशन
- प्रतीकात्मक निष्पादन
- नियंत्रण-प्रवाह विश्लेषण
- डेटा-निर्भरता विश्लेषण
- मान-सेट विश्लेषण (VSA)
- डीकंपाइलेशन
सबसे सामान्य angr ऑपरेशन एक बाइनरी लोड करना है: p = angr.Project('/bin/bash') यदि आप इसे IPython जैसी उन्नत REPL में करते हैं, तो आप शीर्ष-स्तरीय-सुलभ विधियों और उनके docstrings को ब्राउज़ करने के लिए टैब-ऑटोकम्प्लीट का उपयोग कर सकते हैं।
"angr कैसे स्थापित करें" का संक्षिप्त संस्करण है mkvirtualenv --python=$(which python3) angr && python -m pip install angr.
उदाहरण
angr बहुत सारे बाइनरी विश्लेषण कार्य करता है। आपको शुरू करने के लिए, यहाँ एक CTF चुनौती में फ़्लैग प्राप्त करने के लिए प्रतीकात्मक निष्पादन का उपयोग करने का एक सरल उदाहरण है।
import angr
project = angr.Project("angr-doc/examples/defcamp_r100/r100", auto_load_libs=False)
@project.hook(0x400844)
def print_flag(state):
print("FLAG SHOULD BE:", state.posix.dumps(0))
project.terminate_execution()
project.execute()
त्वरित आरंभ
- स्थापना निर्देश
- दस्तावेज़ीकरण HTML के रूप में और स्रोत angr Github भंडार में
- सीधे कूदें: शीर्ष-स्तरीय-सुलभ विधियाँ
- CTF चुनौतियों को हल करने के लिए angr का उपयोग करने वाले उदाहरण
- API संदर्भ
- awesome-angr रिपॉजिटरी