معنى واستخدامات التفكيك

click fraud protection

ببساطة ، فك التجميع هو عكس التجميع: ترجمة ملف قابل للتنفيذ إلى لغة مستوى أعلى.

لنفترض أنك فقدت مصدر مشروع دلفي ولديك فقط الملف القابل للتنفيذ: الهندسة العكسية (فك التجميع) مفيدة إذا كانت المصادر الأصلية غير متوفرة.

حسنًا ، "المصادر غير متوفرة" ، هل هذا يعني أنه يمكننا فك شفرات مشاريع دلفي لأشخاص آخرين؟ حسنًا ، نعم ولا ...

هل التفكيك الحقيقي ممكن؟

لا بالطبع لأ. لا يمكن فك التجميع المؤتمت بالكامل - لا يمكن لأي مترجم فك شفرة المصدر الأصلية.

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

لماذا ومتى يتم استخدام فك التجميع

instagram viewer

يمكن استخدام الهندسة العكسية لعدة أسباب ، بعضها:

  • استعادة كود المصدر المفقود
  • ترحيل التطبيقات إلى منصة أجهزة جديدة
  • تحديد وجود فيروسات أو كود خبيث في البرنامج
  • تصحيح الخطأ عندما لا يكون صاحب التطبيق متاحًا لإجراء التصحيح.
  • استعادة كود مصدر شخص آخر (لتحديد خوارزمية على سبيل المثال).

هل هذا قانوني؟

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

ملحوظة: إذا كنت تبحث عن شقوق دلفي أو مولدات المفاتيح أو مجرد أرقام تسلسلية: فأنت في الموقع الخاطئ. يرجى أن تضع في اعتبارك أن كل ما تجده هنا مكتوب / مقدم لأغراض الاستكشاف / التعليمية فقط.

في الوقت الحالي ، لا تقدم بورلاند أي منتج قادر على فك ملف قابل للتنفيذ (.exe) أو "الوحدة المترجمة من دلفي" (.dcu) إلى رمز المصدر الأصلي (.pas).

وحدة دلفي المترجمة (DCU)

عندما يتم تجميع مشروع دلفي أو يتم تشغيل ملف وحدة (.pas) مترجمة. بشكل افتراضي ، يتم تخزين النسخة المترجمة لكل وحدة في ملف ثنائي تنسيق منفصل بنفس اسم ملف الوحدة ، ولكن مع الامتداد .DCU. على سبيل المثال ، يحتوي unit1.dcu على الكود والبيانات المعلنة في ملف unit1.pas.

هذا يعني أنه إذا كان لديك شخص ما ، على سبيل المثال ، مصدر مترجم للمكون كل ما عليك فعله هو عكسه والحصول على الكود. خطأ. تنسيق ملف DCU غير موثق (تنسيق خاص) وقد يتغير من إصدار إلى آخر.

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

إذا كنت ترغب في محاولة فك ملف دلفي القابل للتنفيذ ، فهذه بعض الأشياء التي يجب أن تعرفها:

عادة ما يتم تخزين ملفات مصدر برامج دلفي في نوعين من الملفات: ملفات كود ASCII (.pas ، .dpr) ، وملفات الموارد (.res ، .rc ، .dfm ، .dcr). تحتوي ملفات Dfm على تفاصيل (خصائص) الكائنات الموجودة في نموذج. عند الإنشاء إكس، تقوم دلفي بنسخ المعلومات في ملفات .dfm إلى ملف التعليمات البرمجية .exe النهائي. تصف ملفات النموذج كل مكون في النموذج الخاص بك ، بما في ذلك قيم جميع الخصائص الدائمة. في كل مرة نقوم فيها بتغيير موضع نموذج ، تسمية زر أو تعيين إجراء حدث لمكون ، دلفي يكتب تلك التعديلات في ملف DFM (وليس رمز إجراء الحدث - يتم تخزين هذا في pas / dcu ملف). من أجل الحصول على "dfm" من الملف القابل للتنفيذ ، نحتاج إلى فهم نوع الموارد المخزنة داخل ملف Win32 قابل للتنفيذ.

تحتوي جميع البرامج التي جمعتها دلفي على الأقسام التالية: CODE، DATA، BSS، .idata، tls، .rdata، .rsrc. الأكثر أهمية من وجهة نظر فك الشفرة هي أقسام CODE و .rsrc. في ال "إضافة وظائف لبرنامج دلفي"يتم عرض بعض الحقائق المثيرة للاهتمام حول تنسيق الملفات التنفيذية في دلفي ومعلومات الفئة وموارد سوق دبي المالي: كيفية إعادة تعيين الأحداث ليتم التعامل معها بواسطة معالجات الأحداث الأخرى المحددة في نفس النموذج. المزيد: كيفية إضافة معالج الأحداث الخاص بك ، وإضافة التعليمات البرمجية إلى الملف القابل للتنفيذ ، والذي سيغير التسمية التوضيحية للزر.

من بين العديد من أنواع الموارد التي يتم تخزينها في ملف exe ، تحتفظ RT_RCDATA أو المورد المحدد من قبل التطبيق (البيانات الأولية) بالمعلومات التي كانت موجودة في ملف DFM قبل التحويل البرمجي. لاستخراج بيانات سوق دبي المالي من ملف exe يمكننا استدعاء EnumResourceNames وظيفة API... لمزيد من المعلومات حول استخراج DFM من ملف تنفيذي ، راجع: ترميز مستكشف دلفي DFM مقالة - سلعة.

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

إذا كنت مهتمًا ببرامج دلفي الهندسية العكسية ، فإنني أقترح عليك إلقاء نظرة على "وحدات التحليل" القليلة التالية:

مترجم من الملفات القابلة للتنفيذ (EXE) و مكتبات ديناميكية (DLL) ، مكتوبة في دلفي وتنفيذها في بيئة Windows32. الهدف النهائي للمشروع هو تطوير البرنامج القادر على استعادة الجزء الأكبر من دلفي الأولي رموز المصدر من الملف المترجم لكن IDR ، وكذلك غيرهم من أجهزة تحليل دلفي ، لا يمكنهم القيام بذلك حتى الآن. ومع ذلك ، فإن IDR في وضع كبير لتسهيل هذه العملية. بالمقارنة مع غيرها من أجهزة تحليل دلفي المعروفة الأخرى ، فإن نتيجة تحليل IDR لديها أكبر قدر من الاكتمال والموثوقية.

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

EMS Source Rescuer هو تطبيق معالج سهل الاستخدام يمكن أن يساعدك على استعادة التعليمات البرمجية المصدر المفقودة. إذا فقدت مصادر مشروع Delphi أو C ++ Builder ، ولكن لديك ملف قابل للتنفيذ ، فيمكن لهذه الأداة إنقاذ جزء من المصادر المفقودة. ينتج Rescuer جميع نماذج المشروع ووحدات البيانات مع جميع الخصائص والأحداث المعينة. إجراءات الحدث المنتجة لا تحتوي على نص (إنها ليست أداة ترجمة) ، ولكن لها عنوان التعليمات البرمجية في الملف القابل للتنفيذ. في معظم الحالات ، يوفر Rescuer 50-90٪ من وقتك لاستعادة المشروع.

DeDe هو برنامج سريع للغاية يمكنه تحليل الملفات التنفيذية المترجمة مع دلفي. بعد فك DeDe يمنحك ما يلي:

  • جميع ملفات الهدف. ستتمكن من فتحها وتحريرها باستخدام دلفي.
  • جميع الطرق المنشورة في كود ASM الذي تم التعليق عليه جيدًا مع مراجع إلى السلاسل ، واستدعاءات الوظائف المستوردة ، واستدعاءات طرق الفئات ، والمكونات في الوحدة ، وحظر الاستثناء ، وحظر المحاولة أخيرًا. بشكل افتراضي ، يسترد DeDe مصادر الأساليب المنشورة فقط ، ولكن يمكنك أيضًا معالجة إجراء آخر في ملف قابل للتنفيذ إذا كنت تعرف إزاحة RVA باستخدام Tools | تفكيك قائمة بروك.
  • الكثير من المعلومات الإضافية.
  • يمكنك إنشاء مجلد مشروع دلفي بكل ملفات dfm و pas و dpr. ملاحظة: تحتوي ملفات pas على رمز ASM المذكور أعلاه والمعلق عليه جيدًا. لا يمكن إعادة تجميعها!
instagram story viewer