
rizin का उपयोग करते समय नोट्स लिखने के लिए एक नोटबुक!
बाइनरी विश्लेषण के लिए rizin के साथ एक नोटबुक। प्रति बाइनरी नोट्स, कमांड और स्क्रिप्ट को व्यवस्थित रखें।
इसके लिए rizin 0.7.0 या उसके बाद के संस्करण की आवश्यकता है।
प्रत्येक नोटबुक पेज एक बाइनरी से जुड़ा होता है। यह बाइनरी को ही, उसका SHA-256 हैश, और सेल की एक सूची संग्रहीत करता है:
पृष्ठों को ~/.rizin-notebook/ में अलग-अलग .rznb फ़ाइलों (SQLite डेटाबेस) के रूप में संग्रहीत किया जाता है। उन्हें एकल स्व-निहित फ़ाइलों के रूप में निर्यात और आयात किया जा सकता है।
rizin-notebook) - मुख्य अनुप्रयोग। यह एक वेब UI प्रदान करता है, एक protobuf + JSON REST API उजागर करता है, सब कुछ प्रति-पृष्ठ .rznb SQLite फ़ाइलों में संग्रहीत करता है।NB कमांड जोड़ता है ताकि आप rizin शेल से नोटबुक के साथ बातचीत कर सकें।प्लगइन्स वैकल्पिक हैं। Go सर्वर केवल ब्राउज़र के साथ स्वतंत्र रूप से काम करता है।
Go सर्वर प्लेटफ़ॉर्म-स्वतंत्र है। प्लगइन्स उस Rizin संस्करण पर निर्भर करते हैं जिसके विरुद्ध वे बनाए गए हैं।
यदि आपकी मशीन पर स्टैंडअलोन rizin और Cutter अलग-अलग Rizin संस्करण भेजते हैं, तो प्रत्येक के लिए एक बार rz_notebook बनाएँ। दोनों बिल्ड एक ही सर्वर से बात कर सकते हैं और समान .rznb डेटा साझा कर सकते हैं।
सरल नियम:
rz_notebook बिल्डप्रोजेक्ट के स्क्रीनशॉट docs/images/ के अंतर्गत व्यवस्थित हैं।
चित्र 1. होमपेज दृश्य (सेल और स्कोप आधारित खोज के साथ, कई मोड का समर्थन करता है।)
चित्र 2. पर्यावरण कॉन्फ़िगरेशन, कीबोर्ड शॉर्टकट और सर्वर-साइड व्यवहार के लिए सेटिंग्स पृष्ठ।
चित्र 3. वेब कंसोल में कमांड ऑटोकम्प्लीट, Rizin कमांड को जल्दी से खोजने और पूरा करने में मदद करता है।
चित्र 4. कमांड विवरण और तर्कों का पता लगाने के लिए अंतर्निहित कमांड सहायता और खोज मोडल।
चित्र 5. Rizin कोर प्लगइन एकीकरण, जो Rizin शेल से सीधे नोटबुक इंटरैक्शन सक्षम करता है।
चित्र 6. Cutter इंटरफ़ेस के अंदर नोटबुक अनुभव दिखाने वाला Cutter प्लगइन एकीकरण दृश्य।
चित्र 7. संभावित नोटबुक उपयोग(ों) को प्रदर्शित करने वाला अतिरिक्त Cutter प्लगइन कार्यप्रवाह दृश्य।
go build -o rizin-notebook .
रिलीज़ बिल्ड के दौरान संस्करण स्ट्रिंग एम्बेड करें:
go build -ldflags "-X main.NBVERSION=$(git rev-parse --short HEAD)" -o rizin-notebook .
./rizin-notebook
डिफ़ॉल्ट रूप से http://127.0.0.1:8000/ पर खुलता है।
फ़्लैग्स:
-bind 127.0.0.1:8000 सुनने के लिए पता और पोर्ट
-root / URL पथ उपसर्ग
-notebook /path/to/data डेटा निर्देशिका (डिफ़ॉल्ट: ~/.rizin-notebook)
-debug-assets /path एम्बेडेड के बजाय डिस्क से टेम्पलेट लोड करें
-debug HTTP अनुरोध लॉग सक्षम करें
पाइप निष्पादन के लिए उपयोग किए गए rizin बाइनरी पथ को ओवरराइड करने के लिए RIZIN_PATH सेट करें।
देखें rizin-notebook-plugin/README.md।
देखें cutter-notebook-plugin/README.md।
यदि Cutter अपना स्वयं का एम्बेडेड Rizin भेजता है, तो Cutter द्वारा लोड किया गया rz_notebook प्लगइन उसी बंडल किए गए Rizin संस्करण के विरुद्ध बनाया जाना चाहिए।
प्रत्येक पृष्ठ डेटा निर्देशिका में एक .rznb फ़ाइल है। यह एक SQLite डेटाबेस है जिसमें शामिल है:
सर्वर सभी पृष्ठों पर तेज़ सूची के लिए एक catalog.db इंडेक्स बनाए रखता है।
पहली बार चलाने पर, सर्वर स्वचालित रूप से पुराने मोनोलिथिक notebook.db प्रारूप से किसी भी पृष्ठ को प्रति-पृष्ठ .rznb लेआउट में स्थानांतरित करता है।
सभी NB प्लगइन कमांड protobuf API (Content-Type: application/x-protobuf) का उपयोग करते हैं। स्कीमा proto/notebook.proto में है।
Cutter प्लगइन और ब्राउज़र UI द्वारा /api/v1/json/... पर एक समानांतर JSON API का उपयोग किया जाता है।