
SentinelNav: शून्य-निर्भरता, शुद्ध Python बाइनरी विज़ुअलाइज़ेशन और फोरेंसिक्स उपकरण।
SentinelNav एक शून्य-निर्भरता (zero-dependency), शुद्ध Python बाइनरी विज़ुअलाइज़ेशन और फोरेंसिक टूल है। यह बाइनरी डेटा को एक इंटरैक्टिव स्पेक्ट्रल मैप में बदल देता है, जिससे विश्लेषक फ़ाइल संरचनाओं, एन्ट्रॉपी विसंगतियों, कोड अनुभागों और संभावित क्रिप्टोग्राफ़िक ब्लॉब्स की दृश्य रूप से पहचान कर सकते हैं।
यह तेज़ फ़ाइल स्कैनिंग के लिए एक मल्टीप्रोसेसिंग बैकएंड को इंटरैक्टिव अन्वेषण, हेक्स निरीक्षण और आर्किटेक्चर फ़िंगरप्रिंटिंग के लिए स्थानीय वेब-आधारित फ्रंटएंड के साथ जोड़ता है।

चूँकि SentinelNav केवल Python Standard Library पर निर्भर करता है, इसलिए किसी बाहरी पैकेज की स्थापना आवश्यक नहीं है।
sentinelnav.py के रूप में सहेजें।python3 sentinelnav.py
http://localhost:8000 खोलें।pip install के किसी भी मानक Python 3 इंस्टॉलेशन पर चलता है।0x0A)।concurrent.futures.ProcessPoolExecutor का उपयोग करता है।SentinelNav एक Producer-Consumer आर्किटेक्चर का पालन करता है जिसमें Client-Server इंटरफ़ेस है।
N बाइट्स पढ़ता है।Processor CPU संख्या के आधार पर वर्करों का एक पूल तैयार करता है।sqlite3 डेटाबेस बाइनरी फ़ाइल का एक संरचित अनुक्रमणिका बनाता है।http.server.ThreadingMixIn लागू करता है।/data: हिस्सों के डेटा (Color + Entropy) के JSON पेज लौटाता है।/read: Inspector पैनल के लिए विशिष्ट हेक्स डंप।/search: हेक्स अनुक्रमों के लिए भौतिक फ़ाइल को स्कैन करता है।/download: रॉ बाइनरी ब्लॉब्स निकालता है या BMP विज़ुअलाइज़ेशन उत्पन्न करता है।यह टूल बाइनरी डेटा प्रकारों को दर्शाने के लिए एक विशिष्ट RGB एल्गोरिदम का उपयोग करता है।
| रंग | घटक | अर्थ |
|---|---|---|
| लाल | उच्च बिट | बाइट्स 0x80 - 0xFF. संकलित मशीन कोड, संपीड़ित डेटा, एन्क्रिप्टेड ब्लॉब्स या इमेज डेटा को दर्शाता है। |
| हरा | ASCII | बाइट्स 0x20 - 0x7E. सादा पाठ, स्रोत कोड, JSON, XML या लॉग को दर्शाता है। |
| नीला | नियंत्रण | बाइट्स 0x00 - 0x1F. नल पैडिंग, हेडर या प्रोटोकॉल नियंत्रण वर्णों को दर्शाता है। |
सामान्य पैटर्न:
किसी भी लाइब्रेरी को स्थापित करने की आवश्यकता नहीं है। बस फ़ाइल डाउनलोड करें।
# Clone or download the script
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py
आप टूल को इंटरैक्टिव रूप से या कमांड-लाइन तर्कों के माध्यम से चला सकते हैं।
बिना तर्कों के चलाने पर विज़ार्ड प्रारंभ हो जाता है:
python3 sentinelnav.py
स्वचालन या पावर उपयोगकर्ताओं के लिए, विज़ार्ड को छोड़ने हेतु फ्लैग का उपयोग करें।
python3 sentinelnav.py <target_file> [options]
| तर्क | विवरण | डिफ़ॉल्ट |
|---|---|---|
--mode | स्कैन मोड: fixed या sentinel। | fixed |
--size | फिक्स्ड मोड के लिए ब्लॉक आकार (बाइट्स में), या sentinel के लिए अधिकतम बफ़र। | 1024 |
--hex | सेंटिनल मोड के लिए सीमांकक बाइट (जैसे, नई पंक्ति के लिए 0A)। | 00 |
--port | वेब सर्वर पोर्ट। | 8000 |
--window | विसंगति पहचान गणनाओं के लिए स्लाइडिंग विंडो आकार। | 5 |
उदाहरण:
पोर्ट 8080 पर 256-बाइट रिज़ॉल्यूशन के साथ एक फ़र्मवेयर इमेज स्कैन करें:
python3 sentinelnav.py firmware.bin --size 256 --port 8080
वेब इंटरफ़ेस लोड होने के बाद, निम्नलिखित नियंत्रण उपलब्ध हैं:
| कुंजी | कार्य |
|---|---|
| W / A / S / D | चयन कर्सर को ले जाएँ (ऊपर/बाएँ/नीचे/दाएँ)। |
| बायाँ तीर (Arrow Left) | पिछला पृष्ठ। |
| दायाँ तीर (Arrow Right) | अगला पृष्ठ। |
| Shift + WASD | ब्लॉकों की एक श्रेणी चुनें (मल्टी-सेलेक्ट)। |
| Shift + Click | पिछले एंकर से क्लिक किए गए ब्लॉक तक एक श्रेणी चुनें। |