delphi4arab منتديات دلفي للعرب
[Api Hooking [HOT PATCHING , تطبيق بسيط ! - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20)
+--- الموضوع : [Api Hooking [HOT PATCHING , تطبيق بسيط ! (/showthread.php?tid=2290)



[Api Hooking [HOT PATCHING , تطبيق بسيط ! - TF6M - 11-08-2010

بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته


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]

بالتوفيق,,





[Api Hooking [HOT PATCHING , تطبيق بسيط ! - khiro.alg - 15-08-2010

السلام عليكم
بارك الله فيك أخي على هذا الدرس القيم حول الـHook
أخي ممكن ترجمة بسيطة للصورة الأولى حول قسمي الهوك؟؟


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - Moha711 - 15-08-2010

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


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - akama - 28-08-2010

شكرا أخي علي الدرس المفيد


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - Ahmed18 - 13-12-2010

بارك الله فيك
هل يوجد مصادر اخري تشرح ال API Hooking بشكل مفصل ؟


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - STRELiTZIA - 13-12-2010

السلام عليكم و رحمة الله

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

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

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


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - محمد عبد العزيز - 13-12-2010


معظمها ذكرت بالمنتدى
http://www.delphi4arab.net/forum/showthread.php?tid=2424
http://www.delphi4arab.net/forum/showthread.php?tid=2825
http://www.delphi4arab.net/forum/showthread.php?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
في الأول والأخير خطف الدوال ماهو الا تغيير بمجرى استدعاء الدوال، افهم كيف يعمل النظام ثم ابحث عن مكان غيره حسب ما تريد
بالتوفيق



[Api Hooking [HOT PATCHING , تطبيق بسيط ! - Ahmed18 - 14-12-2010

شكرا لكم اخواني الاعزاء STRELiTZIA و B.M.AbdelAziZ


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - issamdnn - 28-12-2010

بارك الله فيك ...


[Api Hooking [HOT PATCHING , تطبيق بسيط ! - Moha711 - 12-03-2011

ايضا هناك مقدمة بسيطة و شرح جيد للهوك
بكتاب The Tomes of Delphi - Win32 Core API Windows 2000 Edition
تحت الفصل Message Processing Functions