
एक नोटबुक जहां Rizin और Cutter का उपयोग करते समय नोट्स लिखे जा सकते हैं!
रिज़िन के साथ बाइनरी विश्लेषण के लिए एक नोटबुक। प्रति बाइनरी नोट्स, कमांड और स्क्रिप्ट को व्यवस्थित रखें।
रिज़िन 0.7.0 या उसके बाद के संस्करण की आवश्यकता है।
प्रत्येक नोटबुक पेज एक बाइनरी से जुड़ा होता है। यह बाइनरी को ही, उसका SHA-256 हैश, और सेल की एक सूची संग्रहीत करता है:
पृष्ठों को ~/.rizin-notebook/ में अलग-अलग .rznb फ़ाइलों (SQLite डेटाबेस) के रूप में संग्रहीत किया जाता है।
उन्हें एकल स्व-निहित फ़ाइलों के रूप में निर्यात और आयात किया जा सकता है।
rizin-notebook) - मुख्य एप्लिकेशन। एक वेब UI प्रदान करता है, एक
protobuf + JSON REST API को उजागर करता है, सब कुछ प्रति-पृष्ठ .rznb SQLite फ़ाइलों में संग्रहीत करता है।NB कमांड जोड़ता है ताकि
आप रिज़िन शेल से नोटबुक के साथ इंटरैक्ट कर सकें।प्लगइन वैकल्पिक हैं। Go सर्वर केवल ब्राउज़र के साथ स्वतंत्र रूप से काम करता है।
Go सर्वर प्लेटफॉर्म-स्वतंत्र है। प्लगइन उस रिज़िन संस्करण पर निर्भर करते हैं जिसके विरुद्ध वे बनाए गए हैं।
यदि आपकी मशीन पर स्वतंत्र रिज़िन और Cutter अलग-अलग रिज़िन संस्करण भेजते हैं, तो
प्रत्येक के लिए एक बार 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_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 में है।
समानांतर JSON API /api/v1/json/... पर Cutter प्लगइन और ब्राउज़र UI द्वारा उपयोग किया जाता है।