আমার একটি এক্সিকিউটেবল বাইনারি রয়েছে; আসুন এটি কল a.out
। আমি বাইনারি স্ট্রিং রয়েছে দেখতে পারেন
$ strings a.out
...
/usr/share/foo
....
আমার স্ট্রিংটি পরিবর্তন /usr/share/foo
করতে হবে /usr/share/bar
। আমি শুধু সাথে STRING প্রতিস্থাপন করতে পারেন sed
:
sed -i 's@/usr/share/foo@/usr/share/bar@' a.out
এটি দেখতে কোনও নিরাপদ জিনিস বলে মনে হচ্ছে। স্ট্রিং একই দৈর্ঘ্য না হলে এটি কি কাজ করবে?
sed -i 's@longstring@foo@' a.out
? এটি পুরো বাইনারিটিকে 7 বাইট দ্বারা আরও ছোট করে তুলবে, এটি কি বাইনারিটিকে দূষিত করবে না?