
एक व्यापक बाइनरी एमुलेशन और इंस्ट्रूमेंटेशन प्लेटफॉर्म।
Zelos (Zeropoint Emulated Lightweight Operating System) एक पायथन-आधारित बाइनरी एमुलेशन प्लेटफ़ॉर्म है। Zelos का एक उपयोग कमांड-लाइन या पायथन स्क्रिप्ट के माध्यम से बाइनरी के गतिशील व्यवहार का त्वरित मूल्यांकन करना है। सभी सिस्कॉल्स को एमुलेट किया जाता है ताकि लक्ष्य बाइनरी को अलग किया जा सके। Linux x86_64 (32- और 64-बिट), ARM और MIPS बाइनरी समर्थित हैं। CPU एमुलेशन प्रदान करता है।

पूर्ण दस्तावेज़ीकरण यहाँ उपलब्ध है।
zelos स्थापित करने के लिए पैकेज मैनेजर pip का उपयोग करें।
pip install zelos
डिफ़ॉल्ट विकल्पों के साथ बाइनरी को एमुलेट करने के लिए:
$ zelos my_binary
निष्पादित हो रहे निर्देशों को देखने के लिए, --inst फ़्लैग जोड़ें:
$ zelos --inst my_binary
आप हर निष्पादन के बजाय केवल पहली बार प्रत्येक निर्देश के निष्पादित होने पर प्रिंट कर सकते हैं, --fasttrace का उपयोग करके:
$ zelos --inst --fasttrace my_binary
डिफ़ॉल्ट रूप से, syscalls stdout पर उत्सर्जित होते हैं। Syscalls को इसके बजाय एक फ़ाइल में लिखने के लिए, --trace_file फ़्लैग का उपयोग करें:
$ zelos --trace_file path/to/file my_binary
बाइनरी नाम के बाद कोई भी कमांड लाइन तर्क निर्दिष्ट करें:
$ zelos my_binary arg1 arg2
import zelos
z = zelos.Zelos("my_binary")
z.start(timeout=3)
Zelos प्रथम-पक्ष और तृतीय-पक्ष प्लगइन्स का समर्थन करता है। अब तक के कुछ उल्लेखनीय प्लगइन्स:
zelos निष्पादन ट्रेस को इंस्ट्रक्शन-स्तरीय टिप्पणियों के साथ हाइलाइट करता है।zelos में प्रतीकात्मक निष्पादन सक्षम करता है।पुल रिक्वेस्ट का स्वागत है। बड़े बदलावों के लिए, कृपया पहले एक इश्यू खोलें ताकि आप जो बदलना चाहते हैं उस पर चर्चा की जा सके।
कृपया सुनिश्चित करें कि उपयुक्त परीक्षण अपडेट किए जाएँ।
पहले, एक नया पायथन वर्चुअल एनवायरनमेंट बनाएँ। इससे कोई पैकेज संस्करण विरोध उत्पन्न नहीं होगा:
$ python3 -m venv ~/.venv/zelos
$ source ~/.venv/zelos/bin/activate
अब रिपॉजिटरी को क्लोन करें और zelos निर्देशिका में जाएँ:
(zelos) $ git clone [email protected]:zeropointdynamics/zelos.git
(zelos) $ cd zelos
वर्चुअल एनवायरनमेंट में zelos का एक एडिटेबल संस्करण स्थापित करें। इससे import zelos उपलब्ध हो जाएगा, और zelos में कोई भी स्थानीय परिवर्तन तुरंत प्रभावी होंगे:
(zelos) $ pip install -e '.[dev]'
इस बिंदु पर, परीक्षण पास होने चाहिए और दस्तावेज़ीकरण बिल्ड होना चाहिए:
(zelos) $ pytest
(zelos) $ cd docs
(zelos) $ make html
बिल्ड किया गया दस्तावेज़ीकरण docs/_build/html/ में मिलता है।
कोड शैली अनुपालन सुनिश्चित करने के लिए zelos pre-commit हुक स्थापित करें:
(zelos) $ pre-commit install
हर कमिट पर स्वचालित रूप से चलने के अलावा, आप इन्हें कभी भी निम्न के साथ चला सकते हैं:
(zelos) $ pre-commit run --all-files
विंडोज़ पर कमांड थोड़े भिन्न होते हैं:
C:\> python3 -m venv zelos_venv
C:\> zelos_venv\Scripts\activate.bat
(zelos) C:\> pip install -e .[dev]