একটি বাইনারি এর সাথে যুক্ত ছিল এমন গ্রন্থাগারগুলি সন্ধান করুন


40

আমি জানি যে একটি কমান্ড রয়েছে যা আমাকে সফ্টওয়্যারটির সাথে লিঙ্কযুক্ত লিবস এবং সম্পর্কিত সংস্করণগুলি তালিকাভুক্ত করে।

এলডি বা লাইবটোলের সাথে কিছু?

তবে আমি ঠিক মনে করতে পারি না। গুগলে কিছু সময় ব্যয় করলেও দরকারী কিছু নিয়ে আসে নি।

আপডেটটি
ldd <binary> লিনাক্সে সহায়তা করবে, ( @ এর্নেলি থেকে ) যখন আমি পেলাম যে ম্যাকোএস এক্সে একই রকম কিছু করে doesotool -L <binary>


উত্তর:


41

এলডিডি বাইনারি- এক্সিকিউট চেষ্টা করুন

উদাহরণ:

~$ ldd /bin/bash
    linux-gate.so.1 =>  (0x00606000)
    libncurses.so.5 => /lib/libncurses.so.5 (0x00943000)
    libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00c5d000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x003e9000)
    /lib/ld-linux.so.2 (0x00a41000)

Dang! সুতরাং আমার প্রথম চেষ্টা ছিল সঠিক। এটি কেবলমাত্র আমার ম্যাকে ইনস্টল করতে হবে যাতে এটি কমান্ডটি
একটোটভাবে

@ er4z0r: এফওয়াইআই, ম্যাক ওএস বিএসডি, লিনাক্স নয়
মাধ্যাকর্ষণ

6
গর্বিততা: আপনি ঠিক বলেছেন। যদিও ldd লিনাক্সে সহায়তা করবে আমি দেখতে পেয়েছি যে 'ওটুল-এল <বাইনারি>' তেমন কিছু করে।
er4z0r

15

এটি সরাসরি যা প্রয়োজন তা সন্ধান করতে:

readelf -d APP | grep NEEDED

lddঅন্য কোথাও উল্লিখিত হিসাবে সমস্ত প্রত্যক্ষ এবং অপ্রত্যক্ষ libs দেখাবে - রানটাইমের সময় যা কিছু প্রয়োজন এটি। এটি একটি সম্পূর্ণ তালিকা হতে পারে না, যেহেতু আপনি ডায়োপেন () দিয়ে গতিশীলভাবে জিনিসগুলি খুলতে পারেন, তবে এটি সময়ের 99% কাজ করে।

সংকলন / লিঙ্কের সময়ে ld এবং libtool ব্যবহৃত হয়। আপনার একবার অ্যাপ্লিকেশন পেলে এগুলি কার্যকর হয় না।

সম্পাদনা আমি পরে আপনি উত্তরগুলি ওএসএক্স সম্পর্কে জিজ্ঞাসা করে দেখতে পাচ্ছিলাম তবে লিনাক্স সরঞ্জামগুলিতে আমার উত্তরটি যুক্ত করতে চাই:

একটা জিনিস আমি উল্লেখ করতে ভুলে গেছি, বেশ কিছুক্ষণ আগে; আপনি সংস্করণ সম্পর্কে জিজ্ঞাসা করেছেন। "কি সংস্করণ" প্রশ্নের উত্তরও দেবে না lddবা readelfকরবে না । তারা আপনাকে যে লাইব্রেরির সন্ধান করছেন তার ফাইলের নাম বলবেন এবং নামকরণের সম্মেলনে কিছু সংস্করণ তথ্য থাকতে পারে, তবে কিছুই এটিকে কার্যকর করে না। প্রতীকগুলি সংস্করণযুক্ত হতে পারে এবং nmএগুলি দেখতে আপনার আরও নীচের স্তরেরও হতে হবে ,


9

অন্য উপায় হ'ল অ্যাজডাম্প ব্যবহার করা।

objdump -x "বাইনারি" | গ্রেপ দরকার

এটি কেবলমাত্র এই বাইনারিটির জন্য সমস্ত প্রয়োজনীয় নির্ভরতা দেখায়। খুব দরকারী.

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