पैटर्न के लिए छवि फ़ाइल या डिस्क को स्कैन करें और उसका स्थान लौटाएं


3

कहो मेरे पास एक ब्लॉक डिवाइस या एक छवि फ़ाइल है। और कहते हैं कि मेरे पास बाइट्स या एक स्ट्रिंग या कुछ खोज पैटर्न भी है। मैं इस तरह के पैटर्न या स्ट्रिंग की घटनाओं की स्थिति कैसे प्राप्त कर सकता हूं? क्या उसके लिए कोई उपकरण हैं?

जवाबों:


3

एक सरल समाधान का उपयोग करना होगा

grep -aob "string to find" /dev/blockdev
  • "a" स्विच फ़ाइल को टेक्स्ट के रूप में मानता है, इसलिए यह आउटपुट प्रदर्शित करता है, "o" स्विच आउटपुट को उस ऑफसेट और स्ट्रिंग तक सीमित करता है जिसे आप खोज रहे हैं ताकि आपको बाइनरी कचरा न मिले और "b" स्विच इसे बताता है। साथ ही बाइट ऑफसेट को प्रिंट करने के लिए।

0

इस प्रश्न के कई उत्तर हैं, जो इस बात पर निर्भर करते हैं कि आप वास्तव में क्या खोजना चाहते हैं।

यदि आप सभी को ढूंढना चाहते हैं चरित्र तार एक बाइनरी फ़ाइल के अंदर, फिर कमांड है तार : से नियम पुस्तिका ,

तार (1)

नाम

तार - फाइलों में प्रिंट करने योग्य पात्रों के तारों को प्रिंट करें।

.... दिए गए प्रत्येक फ़ाइल के लिए, जीएनयू तार प्रिंट करने योग्य चरित्र अनुक्रमों को प्रिंट करता है जो कम से कम 4 वर्ण लंबा होता है (या नीचे दिए गए विकल्पों के साथ दी गई संख्या) और उसके बाद एक अप्राप्य चरित्र होता है। डिफ़ॉल्ट रूप से, यह केवल ऑब्जेक्ट फ़ाइलों के आरंभीकृत और लोड किए गए वर्गों से तारों को प्रिंट करता है; अन्य प्रकार की फ़ाइलों के लिए, यह पूरी फ़ाइल से तार प्रिंट करता है।

यदि आप इसके बजाय एक बाइनरी फ़ाइल को खोजने में रुचि रखते हैं बाइनरी स्ट्रिंग , आप उपयोग कर सकते हैं bgrep (रेपो, AFAIK में नहीं):

bgrep बाइनरी फ़ाइलों के भीतर बाइनरी स्ट्रिंग्स की घटनाओं की खोज करने के लिए एक उपयोगिता है। जैसा कि इसके नाम से पता चलता है, इसका इंटरफ़ेस और डिज़ाइन सर्वव्यापी "grep" कमांड के बाद तैयार किया गया है, जिसका उपयोग पाठ फ़ाइलों में पाठ पैटर्न की घटनाओं को खोजने के लिए किया जाता है।

वैकल्पिक रूप से, आप निम्न उपयोग कर सकते हैं:

cat YourFile | hexdump -C | grep YourPattern

यह उपयोग करता है hexdump: फिर मैनुअल से ,

hexdump (1)

नाम

hexdump - अस्की, दशमलव, हेक्साडेसिमल, ऑक्टल डंप

मैं सुविधाजनक का उपयोग करता हूं -C प्रारूप:

-सी कैनन का हेक्स + ASCII डिस्प्ले। हेक्साडेसिमल में इनपुट ऑफसेट प्रदर्शित करें, उसके बाद सोलह स्पेस-अलग, दो कॉलम, हेक्साडेसिमल बाइट्स, इसके बाद% _p प्रारूप में समान सोलह बाइट्स '' '' वर्णों में संलग्न हैं।

जबकि कुछ लोग पसंद करते हैं -c प्रारूप:

-सी एक-बाइट चरित्र प्रदर्शन। हेक्साडेसिमल में इनपुट ऑफसेट प्रदर्शित करें, इसके बाद सोलह अंतरिक्ष-पृथक, तीन कॉलम, अंतरिक्ष से भरे, प्रति पंक्ति इनपुट डेटा के वर्ण।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.