ما هي أنواع الملفات القابلة للتنفيذ يمكن decompiled?

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

  •  09-06-2019
  •  | 
  •  

سؤال

أعتقد أن جافا التنفيذية (ملفات jar) هي تافهة إلى فك والحصول على التعليمات البرمجية المصدر.

ماذا عن اللغات الأخرى ؟ .صافي ؟

جميع اللغات يمكن أن تجمع فقط فك قادرة الرمز ؟

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

المحلول

في عام ، لغات مثل Java, C# ، VB.NET من السهل نسبيا فك لأنها جمعت إلى وسيط اللغة غير نقية لغة الآلة.في IL شكل ، فإنها تحتفظ المزيد من البيانات الوصفية من التعليمات البرمجية C هل عندما المترجمة إلى لغة الآلة.

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

نصائح أخرى

تمكنت اللغات يمكن بسهولة decompiled لأن القابل للتنفيذ يجب أن تحتوي على الكثير من البيانات الوصفية إلى دعم انعكاس.
لغات مثل C++ يمكن تجميع التعليمات البرمجية الأصلية.هيكل البرنامج يمكن تغيرت تماما خلال تجميع\عمليات الترجمة.
مترجم يمكن بسهولة استبدال\دمج\حذف أجزاء من التعليمات البرمجية الخاصة بك.هناك 1 إلى 1 العلاقة بين الأصلي و جمعت (الأم) رمز.

.صافي هو سهل جدا فك.أفضل وسيلة للقيام بذلك سيكون .صافي عاكس حصلت مؤخرا من قبل RedGate.

معظم اللغات يمكن decompiled ولكن بعض يسهل فك من غيرها..Net و Java وضع المزيد من المعلومات عن البرنامج الأصلي في الملفات التنفيذية (طريقة أسماء, أسماء المتغيرات.... الخ) حيث يمكنك الحصول على المزيد من المعلومات الأصلية مرة أخرى.

C++ على سبيل المثال ترجمة المتغيرات والوظائف وغيرها.إلى الذاكرة adresses (نعم أنا أعلم أن هذا تبسيطا شديدا) حتى decompiler لن تعرف ماذا كان يسمى.ولكن يمكنك لا يزال الحصول على بعض من هيكل البرنامج مرة أخرى على الرغم من.

VB6 إذا جمعت إلى pcode الممكن أيضا أن فك الكامل تقريبا المصدر باستخدام P32Dasm, فلاش (أو أكشن) من الممكن أيضا أن فك الكاملة المصدر استخدام شيء من هذا القبيل مضيئة

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