लिनक्स कमान बाइनरी या गैर एससीआई फ़ाइल में स्ट्रिंग्स खोजने के लिए


39

क्या किसी निष्पादन योग्य या अन्य बाइनरी फ़ाइल से सभी एससीआई तार निकालने के लिए कोई लिनक्स कमांड है? मुझे लगता है कि मैं इसे जीआरईपी के साथ कर सकता हूं, लेकिन मुझे याद है कि कहीं ऐसा सुनने को मिला कि ऐसी कोई आज्ञा थी?

जवाबों:


72

जिस कमांड को आप देख रहे हैं वह है strings

इसका नाम काफी आत्म-व्याख्यात्मक है, यह किसी दिए गए फ़ाइल से किसी भी मुद्रण योग्य स्ट्रिंग को पुनः प्राप्त करता है।

man strings देता है:

तार (1)

NAME
स्ट्रिंग्स - किसी ऑब्जेक्ट या अन्य बाइनरी फ़ाइल में प्रिंट करने योग्य स्ट्रिंग्स ढूंढें

SYNOPSIS
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]


10

तार आदेश समस्याओं के इस विशेष प्रकार के लिए जाने का रास्ता है। कभी-कभी आप भी करने के लिए यह पाइप बाहर करने के लिए है ग्रेप

उदाहरण के लिए:

strings somebinaryfile | grep textuwanttofind


3

ओडी कमांड यह कर सकता है:

od -c *filename*

3
हाँ, यह ASCII वर्णों को निकालता है, लेकिन यह वास्तव में तार नहीं है, प्रति से। मुझे लगता है कि अधिकांश मामलों के लिए 'तार' अधिक उपयोगी है।
user5336

हां, उस आदेश के बारे में नहीं पता था, लेकिन अब मैं करता हूँ! अल्बर्ट को मेरा '+1' :-)
काइल

2

तार का उपयोग करने के साथ एक समस्या यह है कि आप आस-पास गैर प्रिंटबेल नहीं देखते हैं और आपको न्यूनतम स्ट्रिंग लंबाई के साथ सावधान रहना होगा।

उपयोग करने में समस्या

od -c फ़ाइल
या
हेक्सडंप -C फ़ाइल
यह है कि एक अनुक्रम को खोजने के लिए मुश्किल हो सकता है अगर यह एक पंक्ति लपेटता है।

इसके लिए मुझे बहुत कुछ पसंद है ZTreeWin लिनक्स पर वाइन में चल रहा है - आप इसके साथ बहुत कुछ कर सकते हैं लेकिन किसी भी फ़ाइल या संपादन बायनेरिज़ में खोज विशेष रूप से उपयोगी हो सकती है।

भयानक ytree पैकेज कई लिनक्स और यूनिक्स वेरिएंट के लिए उपलब्ध है और इसमें किसी भी फाइल का एक अच्छा हेक्स डंप दृश्य है, लेकिन इसमें वह खोज नहीं है जो ZTreeWin (और इसके 16 बिट पूर्ववर्ती, XTree) के पास है।

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