هل يمكنك معرفة المترجم الذي تم استخدامه لتجميع البرنامج؟

StackOverflow https://stackoverflow.com/questions/618491

سؤال

بالنظر إلى الملف القابل للتنفيذ الذي تم تجميعه من لغة C ليتم تشغيله على Solaris، هل من الممكن تحديد المترجم الذي تم استخدامه لتجميع الملف القابل للتنفيذ غير المكتمل المرتبط به؟

لا أستطيع رؤية أي شيء عند استخدام السلاسل أو أمر الملف، ولا يبدو أن السحر يحتوي على أي شيء محدد.

هل يقوم المترجمون عمومًا بوضع بصمة في ملفات الإخراج القابلة للتنفيذ؟

هتافات،

هل كانت مفيدة؟

المحلول

إذا لم يتم تجريده القابل للتنفيذ، حاول / البيرة / قانون الأحوال المدنية / بن MCS-ص هذا وسوف تظهر عادة مترجم، رابط وكافة الملفات رأس المستخدمة

نصائح أخرى

ونعم IDA تعتبر كبيرة بالنسبة لهذا. ويستخدم تقنية تسمى اللعوب .

PEID سوف تفعل خدعة. عموما يعمل كبيرة فقط. من الواضح PEID هو أداة ويندوز ولكن لا ينبغي أن المسألة وينبغي أن تظهر لك المترجم (وأحيانا حتى معلومات الإصدار محددة)

وبناء التطبيقات اختبار صغيرة مع بعضها مترجم كنت تحاول التعرف عليها. ثم ننظر إلى النتائج في محرر عرافة، ومحاولة إيجاد أنماط. قد تتحول إلى أن تكون واضحة حقا - على سبيل المثال التوقيعات "الغنية" من مايكروسوفت رابط.

لم يتم تجريدها:

$ سم مكعب -O hello.c

ملف $ a.out

أ.خارج:ELF 32 بت MSB القابل للتنفيذ SPARC32PLUS الإصدار 1، V8+ مطلوب، مرتبط ديناميكيًا، غير مُجرد

$ strings -a a.out | GREP CC

/opt/solarisstudio12.3/prod/bin/cc -O hello.c

$ dwarfdump -i A.Out | grep compile_o

DW_AT_SUN_compile_options Xa;O;R=صن سي 5.12 SunOS_parc باتش 148917-07 2013/10/18;الخلفية;الخام;قرص مضغوط;

جردت:

$ تجريد أ

ملف $ a.out

أ.خارج:ELF 32 بت MSB قابل للتنفيذ SPARC32PLUS الإصدار 1، V8+ مطلوب، مرتبط ديناميكيًا، مجرد

$ strings -a a.out | GREP CC

(لا أحد)

وVisual Studio ثم دول مجلس التعاون الخليجي تتبع عادة إجراءات بدء التشغيل المختلفة (التي تدعو الرئيسي). أنه ربما تلميحا. أنا لا أعرف عن الآخرين بالرغم من ذلك. لدلس، لا يمكن أن تفكر في شيء مماثل من على قمة رأسي.

والمجمعين عادة إضافة الشخصية الخاصة بهم "التوقيع"، كما نص عادي في ملفات المترجمة. يمكنك استخدام أداة مثل السلاسل إلى سوس النص الأصلي خارج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top