প্যাটার্নের জন্য চিত্র ফাইল বা ডিস্ক স্ক্যান করুন এবং এর অবস্থানটি ফিরিয়ে দিন


4

বলুন আমার একটি ব্লক ডিভাইস বা একটি চিত্র ফাইল আছে। এবং বলুন যে আমার কাছে বাইটস বা একটি স্ট্রিং বা কিছু অনুসন্ধানের ধরণ রয়েছে। এই ধরণের প্যাটার্ন বা স্ট্রিংয়ের সংঘটনগুলির অবস্থানগুলি আমি কীভাবে পেতে পারি? এর জন্য কি কোনও সরঞ্জাম আছে?

উত্তর:


4

একটি সহজ সমাধান ব্যবহার করা হবে

grep -aob "string to find" /dev/blockdev
  • "একটি" স্যুইচ ফাইলটিকে পাঠ্য হিসাবে বিবেচনা করে, সুতরাং এটি আউটপুট প্রদর্শন করে, "ও" স্যুইচটি আউটপুটটিকে অফসেট এবং স্ট্রিংয়ের মধ্যে সীমাবদ্ধ করে যা আপনি অনুসন্ধান করছেন যাতে আপনি বাইনারি আবর্জনা পান না এবং "বি" সুইচ এটি বলে বাইট অফসেট প্রিন্ট করতে।

0

আপনি ঠিক কী অনুসন্ধান করতে চান তার উপর নির্ভর করে এই প্রশ্নের একাধিক উত্তর রয়েছে।

আপনি যদি বাইনারি ফাইলের মধ্যে সমস্ত অক্ষরের স্ট্রিং সন্ধান করতে চান তবে কমান্ডটি স্ট্রিং রয়েছে : ম্যানুয়াল থেকে ,

স্ট্রিং (1)

নাম

স্ট্রিংস - ফাইলগুলিতে মুদ্রণযোগ্য অক্ষরের স্ট্রিং মুদ্রণ করুন।

.... প্রদত্ত প্রতিটি ফাইলের জন্য, জিএনইউ স্ট্রিংগুলি মুদ্রণযোগ্য চরিত্রের সিকোয়েন্সগুলি মুদ্রণ করে যা কমপক্ষে 4 টি অক্ষর দীর্ঘ (বা নীচের বিকল্পগুলির সাথে প্রদত্ত সংখ্যা) এবং একটি অপূরণীয় অক্ষর অনুসরণ করে। ডিফল্টরূপে, এটি কেবলমাত্র বস্তুর ফাইলগুলির প্রাথমিক এবং লোড হওয়া বিভাগগুলি থেকে স্ট্রিংগুলি মুদ্রণ করে; অন্যান্য ধরণের ফাইলের জন্য এটি পুরো ফাইলটি থেকে স্ট্রিংগুলি মুদ্রণ করে।

আপনি যদি বাইনারি স্ট্রিংয়ের জন্য বাইনারি ফাইল অনুসন্ধান করতে আগ্রহী হন তবে আপনি বিগ্রিপ ব্যবহার করতে পারেন ( রেপোতে নয়, এএএফআইকে ):

বাইনারি ফাইলগুলির মধ্যে বাইনারি স্ট্রিংগুলির উপস্থিতি সন্ধানের জন্য বিগ্রিপ হ'ল একটি ইউটিলিটি। এর নাম অনুসারে, এর ইন্টারফেস এবং ডিজাইনটি সর্বব্যাপী "গ্রেপ" কমান্ডের পরে মডেল করা হয়েছে, যা পাঠ্য ফাইলগুলিতে পাঠ্য নিদর্শনগুলির সন্ধানের জন্য ব্যবহৃত হয়।

বিকল্পভাবে, আপনি নিম্নলিখিত ব্যবহার করতে পারেন:

cat YourFile | hexdump -C | grep YourPattern

এটি ব্যবহার করে hexdump: আবার ম্যানুয়াল থেকে ,

hexdump (1)

নাম

হেক্সডাম্প - আসকি , দশমিক, হেক্সাডেসিমাল, অক্টাল ডাম্প

আমি সুবিধাজনক -Cবিন্যাসটি ব্যবহার করি :

-সি ক্যানোনিকাল হেক্স + এএসসিআইআই ডিসপ্লে। হেক্সাডেসিমালে ইনপুট অফসেট প্রদর্শন করুন, তারপরে ষোলটি স্পেস-বিচ্ছিন্ন, দুটি কলাম, হেক্সাডেসিমেল বাইট, তারপরে '' '' অক্ষরগুলিতে আবদ্ধ% _p বিন্যাসে একই ষোলটি বাইট অনুসরণ করুন।

কিছু লোকেরা -cফর্ম্যাটটি পছন্দ করেন :

-c এক বাইট অক্ষর প্রদর্শন। হেক্সাডেসিমালে ইনপুট অফসেট প্রদর্শন করুন, তারপরে ষোলটি স্পেস-বিচ্ছিন্ন, তিনটি কলাম, স্থান-ভরা, প্রতি লাইনে ইনপুট ডেটার অক্ষর।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.