الفريق العربي للهندسة العكسية
مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html)
+--- قسم : البرامج و أدوات الهندسة العكسية - RCE Tools (https://www.at4re.net/f/forum-29.html)
+--- الموضوع : مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة (/thread-2479.html)



مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - siddigss - 21-01-2021

السلام عليكم ورحمة الله وبركاته.
عند كسر برنامج غالبا ما أجد نفسي أتبع أنماطا متقاربة، على سبيل المثال أبحث عن استيراد البرنامج من الرجيستري أو كتابة ملف أو الاتصال بالانترنت أو غيره، وفي أسوأ الأحوال قد أتتبع دالة DispatchMessage (في برامج النوافذ) مع رسالة WM_LBUTTONUP حتي أصل إلى ما قد يساعد.

الأداة التي أقترحها فكرتها بسيطة، تسجل استدعاءات الدوال "المهمة"، و"المهمة" هنا تعني قائمة مسبقة من الدوال يمكن للمستخدم اختيارها (أو إضافة ما يشاء حتى)، وتمكّن من اختيار ال Thread أو تقسهما بناء على ذلك.

قد تكون الأداة على شكل loader و dll يحقن في البرنامج ويتواصل ال dll مع loader عن طريق خادم محلي أو عن طريق قراءة مباشرة من الloader لذاكرة محجوزة من قِبل الdll.

الأداة فكرتها طبيعية وأعتقد من المنطقي وجود مثلها لكني لا أعلم.

لعلها أيضا فرصة طيبة لمن أراد أن يطبق ما تعلمه من برمجة ولمن أراد تجربة بيئة عمل جماعي، وقد تساعد على توضيح بعض المفاهيم المتعلقة بالهندسة العكسية.

Smile



RE: مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - the9am3 - 21-01-2021

وعليكم السلام 
اعتقد هذه الاضافة قريبة من فكرتك 
https://github.com/ThunderCls/xHotSpots

https://github.com/ThunderCls/MagicPoints


RE: مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - siddigss - 21-01-2021

(21-01-2021, 09:36 AM)the9am3 كتب : وعليكم السلام 
اعتقد هذه الاضافة قريبة من فكرتك 
https://github.com/ThunderCls/xHotSpots

https://github.com/ThunderCls/MagicPoints

تبدو إضافة جميلة ومفيدة حقا. هذه الإضافة تتوقف عند الأحداث (events?) لبرامج النوافذ، أليس كذلك ؟

الأداة التي اقترحتها ليس بالضرورة أن تتوقف، بل أن "تسجل" الدوال المناداة بالترتيب (ويمكن تسجبل المكدّس والمسجلات أيضا). الهدف هو معرفة ما يقوم به البرنامج رغبة لاحقا في بناء نموذج مجرد من النوافذ.

على سبيل المثال، لنقل في أحد البرامج بعدما أدخلتَ الرقم التسلسلي حصل التالي
call CreateThread
call InternetConnect
call HttpOpenRequest
...
call WriteFile
....

بالنظر لاستدعاءات هذه الدوال يمكنك مباشرة "تخمين" "نموذج" مجرد من النوافذ لما يقوم به البرنامج، هذا المنطق قد يسهل عملية الكسر.


RE: مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - Cyperior - 21-01-2021

ألى تقوم نافذة Trace بنفس العمل


RE: مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة - siddigss - 21-01-2021

(21-01-2021, 02:06 PM)EarthMan123 كتب : ألى تقوم نافذة Trace بنفس العمل

نعم يشبه trace، لكن trace تقوم بأكثر من ذلك بكثير، أليس كذلك ؟ بدل متابعة كل تعليمة ما أودّه فقط هو متابعة مجموعة محددة وصغيرة نسبيا من التعليمات. إضافة إلى أن هذا لن يبطئ من عمل البرنامج كما تفعل trace. هل تستطيع trace فعل هذا؟