بالنسبة لاضافة مهام/دوال لملف تنفيذي او كما اسميته حقن دوال ليس دائما ممكن بنفس الطريقة حسب الملف التنفيذي المستهدف واللغة التي برمج بها
مكان الاوامر المراد اضافتها، هل هناك مكان كافي (ما يسمى Code Cave) بالملف التنفيذي ؟ ان لا اضافة Section هل يمكن اضافتها ؟
هل المكان له صلاحيات التنفيذ ؟
طريقة الاضافة، الا تثير مضادات الفيروسات ؟ (ان استخدمت نفس طرف القيروسات فكن متاكد من صراخ مضادات الفيروسات)
حسب مكان اضافة الاوامر، هناك سجلات Register يجب حفظها قبل تنفيذ الكود المضاف ثم استرجاع قيمها بعد التنفيسذ حتى لاتؤثر على السر الحسن للبرنامج المستهدف
checksum الملف التنفيذي يتغير بعد التعديل ويجب تعديله
الاوامر المراد اضافتها، ان كانت مباشرة حاول كتابتها بطريقة الshellcode يعني موضعها بالذاكرة لا يؤثر على حسن تنفيذها
ان كانت مكتبة او دوال مستورة فعلى البرنامج المستهدف استيرادها وتنفيذها بمساحته بالذاكرة وليس ببرامجك الذي يعدله (وهذا ما قمت به بمثالك المرفق)
امثلة من الحياة العملية
1- يقدم لك برنامج من برمجة شخص اخر (توقف عن البرمحة/توفي/اجنبي/...)
مهمتك اضافة مهام/تعديل/تصحيح شيئ ما بالبرنامج دون حصولك على الملفات المصدرية
2- مهمتك صيانة/السهر على العمل الصحيحي لبرنامج ما واكتشفت به خطأ Bug ولم تستطع الاتصال بصاحبه فتلجأ لاصلاحه بنفسك (طبعا لا تملك ملفاته المصدرية)
3- برمجة اداة حماية Protection/Software License Management/Copy Protection
وسأضيف مالدي من معلومات متواضعة
بالنسبة لاضافة سكشن في هدا المثال لايوجد هناك أي مشكل من من ناحية صلاحية التنفيد...الا ان في حالة برمجة مشفر او ضاغط للملفات التنفيدية من الضروري التغيير في (Characteristics) السكشن أي ضروري ان تكون السكشن
قابلة للكتابة (Writeable) لكي يستطيع اللودر المحقون في السكشن فك تشفير البيانات أو فك ضغطها في الداكرة.
وكي أوضح فقط...ان قمنا مثلا بحقن اللودر في Code Cave (مكان فارغ في سكشن معينة) في سكشن التي تحتوي على كود تنفيدي واسمها CODE بالنسبة لملفات دلفي و text. لا فجوال سي بلس بلس و فيبي و تكون هاته السكشن
غير قابلة للكتابة لدا وجب تغيير Characteristics وجعلها تقبل الكتابة هدا في حال برمجة ضاغط او مشفر
الا أن اضافة سكشن أفضل من حقن اللودر في Code Cave لأنه في بعض الحالات قد لانجد مساحة خالية من البيتات لحقن اللودر أو قد تكون غير كافية