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

نسخة كاملة : [Api Hooking [HOT PATCHING , تطبيق بسيط !
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته


1- مقدمة :
يمكن تصنيف عمليات الـ
Hooking الى قسمين رئيسين :
[صورة: apih01.jpg]

مبدأ عملية الـ Hooking : تحويل مسار الإستدعاء الأصلي الى عنوان دالتنا الخاصة , التي تحمل
نفس بارامترات الدالة المستهدفة (إستبدال) , أو مجرد مجموعه تعليمات (Codes) .

[صورة: apih02.jpg]

هناك 3 تقنيات (عامة) , لعمل HooK لــ Api :
Hot Patching ,Inline hooking , IAT patching.

- كما يمكن عمل حقن لمكتبة الربط الديناميك (
Inject DLL) , لتغير & مراقبة مسار الإستدعاء SysCalls _
كـ External Thread يمكن التحكم به !.

2- ما هو الـ Hot Patching ؟ :

- مبدأ العملية تحويل القفزة التي تؤدي الى تنفيذ الدالة & الإجراء المستهدف , نحو عنوان آخر
ليتم تنفيذ أوامر مستبدلة تنتهي بقفزة للرجوع لمكان سير
البرنامج الأصلي .

- نأخذ على سبيل المثال الدالة MessageBoxA (برنامج منقح بـ OllyDbg) :

[صورة: aone.jpg]

- نستغل 5 bytes , في كتابة تعليمات أو برامترات لإستدعاء إجراء & دالة ما !
هكذا قمنا بتحويل مسار الإستدعاء الأصلي .

- إذا يمكننا التغير مباشرة من المنقح (تعديل) , أو بإستعمال الدالة VirtualProtect , التي تتيح لنا الكتابة في ذاكرة برنامجنا
(
inline hooking), وذلك بتغير صلاحية الولوج لبلوك معين من برنامجنا المحمل للداكرة (VirtualProtectEx من أي
بروسس محمل ....) , لنقوم بالتعديل
!

3- مثال تطبيقي hot Patching لـدالة MessageBoxA بإستخدام VirtualProtect : (في المرفقات)
- الكود واضح & يحتوي على تعليقات من a حتى z .

[صورة: 524i.jpg]

بالتوفيق,,


السلام عليكم
بارك الله فيك أخي على هذا الدرس القيم حول الـHook
أخي ممكن ترجمة بسيطة للصورة الأولى حول قسمي الهوك؟؟
ال API Hooking تنقسم الى قسمين
Local Hook اي هوك محلي مراقبة الاشياء التي تحدث لبرنامج معين او Thread
Global Hook اي هوك شامل .. مراقبة النظام بكامله .. All Threads
هدا والله اعلم
شكرا أخي علي الدرس المفيد
بارك الله فيك
هل يوجد مصادر اخري تشرح ال API Hooking بشكل مفصل ؟
السلام عليكم و رحمة الله

إقتباس :- advapihook.rar
- afxCodeHook.zip
- codehook_1.5a.zip
- Examples.zip
- Mad.rar
- uallCollection.zip

كود :
www.mediafire.com/?qxhcgp5cvtdx2jg

حمل اخي احمد المرفق ثم قم بتنظيف ما يثير برامج الحماية...

معظمها ذكرت بالمنتدى
http://www.delphi4arab.net/forum/showthr...p?tid=2424
http://www.delphi4arab.net/forum/showthr...p?tid=2825
http://www.delphi4arab.net/forum/showthr...p?tid=2892
ربما احسن مصدر يشرح API Hook عبارة عن ثلاث مقالات بالروسية
كود :
http://www.wasm.ru/article.php?article=apihook_1 http://www.wasm.ru/article.php?article=apihook_2 http://www.wasm.ru/article.php?article=apihook_3
في الأول والأخير خطف الدوال ماهو الا تغيير بمجرى استدعاء الدوال، افهم كيف يعمل النظام ثم ابحث عن مكان غيره حسب ما تريد
بالتوفيق
شكرا لكم اخواني الاعزاء STRELiTZIA و B.M.AbdelAziZ
بارك الله فيك ...
ايضا هناك مقدمة بسيطة و شرح جيد للهوك
بكتاب The Tomes of Delphi - Win32 Core API Windows 2000 Edition
تحت الفصل Message Processing Functions