![]() |
|
حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع الملفات (https://delphi4arab.net/forum/forumdisplay.php?fid=22) +--- الموضوع : حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] (/showthread.php?tid=3233) الصفحات:
1
2
|
حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - hanipino - 25-06-2011 السلام عليكم حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] احدى الدوال حقنت بعد جعل الملف التنفيذى يحمل المكتبة المصدرة لهذه الدالة . و السلام عليكم حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - cargem - 25-06-2011 المثال اكثر من رائع ل MessageBoxA ![]() لShell32.dll
حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - hanipino - 25-06-2011 نعم ... بارك الله فيك على الصور ...ساءحاول انجاز نفس المثال مع مكتبة من انجازنا مع عدم تخزين عنوان الدالة ... اى ترك الملف التنفيذى المحقون هو الذى يستخرج العنوان و ينفذ الدالة . حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - CMT-10 - 29-06-2011 شكرا على المثال كنت منذ فترة افكر في تغيير قيمة خاصية في الملف التنفيذي بدل من تخزينها في ملف خارجي ولهذا طريقتك قد تفيذني حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - hanipino - 06-07-2011 نفس المثال السابق لاكن هذه المرة مع اضافة Section جديدة و كتابت MessageBox فيها. حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - محمد عبد العزيز - 07-07-2011 السلام عليكم ورحمة الله بالنسبة لاضافة مهام/دوال لملف تنفيذي او كما اسميته حقن دوال ليس دائما ممكن بنفس الطريقة حسب الملف التنفيذي المستهدف واللغة التي برمج بها مكان الاوامر المراد اضافتها، هل هناك مكان كافي (ما يسمى Code Cave) بالملف التنفيذي ؟ ان لا اضافة Section هل يمكن اضافتها ؟ هل المكان له صلاحيات التنفيذ ؟ طريقة الاضافة، الا تثير مضادات الفيروسات ؟ (ان استخدمت نفس طرف القيروسات فكن متاكد من صراخ مضادات الفيروسات) حسب مكان اضافة الاوامر، هناك سجلات Register يجب حفظها قبل تنفيذ الكود المضاف ثم استرجاع قيمها بعد التنفيسذ حتى لاتؤثر على السر الحسن للبرنامج المستهدف checksum الملف التنفيذي يتغير بعد التعديل ويجب تعديله الاوامر المراد اضافتها، ان كانت مباشرة حاول كتابتها بطريقة الshellcode يعني موضعها بالذاكرة لا يؤثر على حسن تنفيذها ان كانت مكتبة او دوال مستورة فعلى البرنامج المستهدف استيرادها وتنفيذها بمساحته بالذاكرة وليس ببرامجك الذي يعدله (وهذا ما قمت به بمثالك المرفق) حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - ELARAPY - 07-07-2011 [color="purple"]ما الفائده أو الداعي للحقن ؟؟ لاني لا أدري متى نحتاج لحقن البرنامج[/color] حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - محمد عبد العزيز - 07-07-2011 إقتباس :ما الفائده أو الداعي للحقن ؟؟امثلة من الحياة العملية 1- يقدم لك برنامج من برمجة شخص اخر (توقف عن البرمحة/توفي/اجنبي/...) مهمتك اضافة مهام/تعديل/تصحيح شيئ ما بالبرنامج دون حصولك على الملفات المصدرية 2- مهمتك صيانة/السهر على العمل الصحيحي لبرنامج ما واكتشفت به خطأ Bug ولم تستطع الاتصال بصاحبه فتلجأ لاصلاحه بنفسك (طبعا لا تملك ملفاته المصدرية) 3- برمجة اداة حماية Protection/Software License Management/Copy Protection حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - me_delphi - 08-07-2011 بارك الله فيك أخي وأستادنا عبد العزيز وسأضيف مالدي من معلومات متواضعة بالنسبة لاضافة سكشن في هدا المثال لايوجد هناك أي مشكل من من ناحية صلاحية التنفيد...الا ان في حالة برمجة مشفر او ضاغط للملفات التنفيدية من الضروري التغيير في (Characteristics) السكشن أي ضروري ان تكون السكشن قابلة للكتابة (Writeable) لكي يستطيع اللودر المحقون في السكشن فك تشفير البيانات أو فك ضغطها في الداكرة. حقن ملف تنفيذى بدالتين [MessageBox, ShellExecute] - me_delphi - 08-07-2011 وكي أوضح فقط...ان قمنا مثلا بحقن اللودر في Code Cave (مكان فارغ في سكشن معينة) في سكشن التي تحتوي على كود تنفيدي واسمها CODE بالنسبة لملفات دلفي و text. لا فجوال سي بلس بلس و فيبي و تكون هاته السكشن غير قابلة للكتابة لدا وجب تغيير Characteristics وجعلها تقبل الكتابة هدا في حال برمجة ضاغط او مشفر الا أن اضافة سكشن أفضل من حقن اللودر في Code Cave لأنه في بعض الحالات قد لانجد مساحة خالية من البيتات لحقن اللودر أو قد تكون غير كافية |