delphi4arab منتديات دلفي للعرب

نسخة كاملة : حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute]
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] احدى الدوال حقنت بعد جعل الملف التنفيذى يحمل المكتبة المصدرة لهذه الدالة .

و السلام عليكم
المثال اكثر من رائع

ل MessageBoxA
[صورة: picture0001v.png]
لShell32.dll
[صورة: picture0003w.png]
نعم ... بارك الله فيك على الصور Smile ...

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

بالنسبة لاضافة مهام/دوال لملف تنفيذي او كما اسميته حقن دوال ليس دائما ممكن بنفس الطريقة حسب الملف التنفيذي المستهدف واللغة التي برمج بها

مكان الاوامر المراد اضافتها، هل هناك مكان كافي (ما يسمى Code Cave) بالملف التنفيذي ؟ ان لا اضافة Section هل يمكن اضافتها ؟
هل المكان له صلاحيات التنفيذ ؟
طريقة الاضافة، الا تثير مضادات الفيروسات ؟ (ان استخدمت نفس طرف القيروسات فكن متاكد من صراخ مضادات الفيروسات)
حسب مكان اضافة الاوامر، هناك سجلات Register يجب حفظها قبل تنفيذ الكود المضاف ثم استرجاع قيمها بعد التنفيسذ حتى لاتؤثر على السر الحسن للبرنامج المستهدف
checksum الملف التنفيذي يتغير بعد التعديل ويجب تعديله

الاوامر المراد اضافتها، ان كانت مباشرة حاول كتابتها بطريقة الshellcode يعني موضعها بالذاكرة لا يؤثر على حسن تنفيذها
ان كانت مكتبة او دوال مستورة فعلى البرنامج المستهدف استيرادها وتنفيذها بمساحته بالذاكرة وليس ببرامجك الذي يعدله (وهذا ما قمت به بمثالك المرفق)
[color="purple"]ما الفائده أو الداعي للحقن ؟؟

لاني لا أدري متى نحتاج لحقن البرنامج[/color]

إقتباس :ما الفائده أو الداعي للحقن ؟؟
امثلة من الحياة العملية
1- يقدم لك برنامج من برمجة شخص اخر (توقف عن البرمحة/توفي/اجنبي/...)
مهمتك اضافة مهام/تعديل/تصحيح شيئ ما بالبرنامج دون حصولك على الملفات المصدرية
2- مهمتك صيانة/السهر على العمل الصحيحي لبرنامج ما واكتشفت به خطأ Bug ولم تستطع الاتصال بصاحبه فتلجأ لاصلاحه بنفسك (طبعا لا تملك ملفاته المصدرية)
3- برمجة اداة حماية Protection/Software License Management/Copy Protection
بارك الله فيك أخي وأستادنا عبد العزيز

وسأضيف مالدي من معلومات متواضعة
بالنسبة لاضافة سكشن في هدا المثال لايوجد هناك أي مشكل من من ناحية صلاحية التنفيد...الا ان في حالة برمجة مشفر او ضاغط للملفات التنفيدية من الضروري التغيير في (Characteristics) السكشن أي ضروري ان تكون السكشن
قابلة للكتابة (Writeable) لكي يستطيع اللودر المحقون في السكشن فك تشفير البيانات أو فك ضغطها في الداكرة.
وكي أوضح فقط...ان قمنا مثلا بحقن اللودر في Code Cave (مكان فارغ في سكشن معينة) في سكشن التي تحتوي على كود تنفيدي واسمها CODE بالنسبة لملفات دلفي و text. لا فجوال سي بلس بلس و فيبي و تكون هاته السكشن
غير قابلة للكتابة لدا وجب تغيير Characteristics وجعلها تقبل الكتابة هدا في حال برمجة ضاغط او مشفر

الا أن اضافة سكشن أفضل من حقن اللودر في Code Cave لأنه في بعض الحالات قد لانجد مساحة خالية من البيتات لحقن اللودر أو قد تكون غير كافية
الصفحات : 1 2