سؤال

وشخص ما ارسل لي فقط فك برنامج إلى C. كان فك جيد جدا، وإنتاج لطيفة، رمز C معظمها readabe (إذا كنت نغفل حقيقة أن أيا من المتغيرات أو وظائف زيارتها اسم قابل للقراءة) أن معظمهم تبدو وكأنها بتجميع الواقع.

وكانت هناك مشكلة واحدة كبيرة، وإن كان. أنا أعلم أن البرنامج كان إلغاء ترجمته كتب في دلفي، الذي هو الكامل من المفاهيم التي يصعب ترجمتها إلى C. ولكن أعجبت حقا من انتاج المنقح، ووجعلني أتساءل. هل هناك أي شيء يمكن أن نفعل ذلك دلفي؟

وأداة أفضل إلغاء ترجمته رأيت لدلفي ديدي. ويمكن أن تفعل الكثير من الأشياء، ولكن لا تحاول حتى لإنتاج كائن كود باسكال كما انتاجها، وأنه لم يتم تحديثه منذ دلفي 6. هل هناك أي شيء أفضل من ذلك؟

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

المحلول

وأنا لا أعتقد أن هناك أي decompilers آلة القانون التي تنتج كود باسكال. معظم "دلفي decompilers" تحليل النموذج والبيانات RTTI، ولكن لا فك فعلا رمز الجهاز. يمكنني أن أوصي فقط باستخدام شيء من هذا القبيل ديدي (أو برنامج مشابه ) لاستخراج معلومات رمز في تركيبة مع المنقح C، ثم ترجمة رمز C decompiled إلى دلفي (هناك العديد من المحولات كود المصدر إلى هناك).

نصائح أخرى

ويمكنك استخدام IDR في هذا الشأن هو برنامج كبير لفك دلفي، هو تحديث للتيار إصدارات دلفي وأنه لديه الكثير من الميزات.

وفيما يلي القائمة: http://delphi.about.com/od/ devutilities / أ / decompiling_3.htm (وهذه الصفحة تذكر بعض أكثر: HTTP: // www.program-transformation.org/Transform/DelphiDecompilers )

ولقد استعملت ديدي في بعض الأحيان، ولكنها ليست حقا كل ما قوية، وانها ليست ما يصل إلى موعد مع إصدارات دلفي الحالية (الإصدار الأخير أنه يدعم هو دلفي 7 أعتقد)

لغات مثل دلفي، C و C ++ ترجمة لرمز الجهاز المعالج الأصلي، والتنفيذية الناتج إلا القليل أو لا الفوقية فيها. هذا هو على النقيض مع جافا أو صافي، الذي جمع وجوه المنحى إلى منصة مستقلة بايت كود، الذي يحتفظ أسماء الطرق، معلمات الأسلوب والطبقات ومساحات، وغيرها من البيانات الوصفية.

وحتى لا يكون هناك الكثير إلغاء ترجمته أقل فائدة التي يمكن القيام به في دلفي أو رمز C. ومع ذلك، دلفي عادة وجزءا لا يتجزأ بيانات النموذج لأي نموذج في المشروع (التي تم إنشاؤها بواسطة $ R * خط .dfm)، وكما أن لديها بيانات التعريف على جميع الخصائص التي نشرت، لذلك أداة دلفي محددة ستكون قادرة على استخراج هذه المعلومات.

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