حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute]
#1
السلام عليكم

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

و السلام عليكم


الملفات المرفقة
.rar   InfectPE.rar (الحجم : 84.63 KB / التحميلات : 708)
[-] كل من 1 user says قال شكرا ل hanipino على المشاركة المفيدة
  • mohamed49
الرد
#2
المثال اكثر من رائع

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

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


الملفات المرفقة
.rar   Add Section With MessageBox.rar (الحجم : 3.25 KB / التحميلات : 205)
الرد
#6
السلام عليكم ورحمة الله

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

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

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

لاني لا أدري متى نحتاج لحقن البرنامج[/color]
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#8

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

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

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


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف