تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقترح: تطوير أداة لتسجيل استدعاءات الدوال المهمة
#1
Big Grin 
السلام عليكم ورحمة الله وبركاته.
عند كسر برنامج غالبا ما أجد نفسي أتبع أنماطا متقاربة، على سبيل المثال أبحث عن استيراد البرنامج من الرجيستري أو كتابة ملف أو الاتصال بالانترنت أو غيره، وفي أسوأ الأحوال قد أتتبع دالة DispatchMessage (في برامج النوافذ) مع رسالة WM_LBUTTONUP حتي أصل إلى ما قد يساعد.

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

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

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

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

Smile
I am homesick for a place I have not even visited
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ
#2
وعليكم السلام 
اعتقد هذه الاضافة قريبة من فكرتك 
https://github.com/ThunderCls/xHotSpots

https://github.com/ThunderCls/MagicPoints
#3
(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
....

بالنظر لاستدعاءات هذه الدوال يمكنك مباشرة "تخمين" "نموذج" مجرد من النوافذ لما يقوم به البرنامج، هذا المنطق قد يسهل عملية الكسر.
I am homesick for a place I have not even visited
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ
#4
ألى تقوم نافذة Trace بنفس العمل
من طلب العلا ... سهر الليالي
#5
(21-01-2021, 02:06 PM)EarthMan123 كتب : ألى تقوم نافذة Trace بنفس العمل

نعم يشبه trace، لكن trace تقوم بأكثر من ذلك بكثير، أليس كذلك ؟ بدل متابعة كل تعليمة ما أودّه فقط هو متابعة مجموعة محددة وصغيرة نسبيا من التعليمات. إضافة إلى أن هذا لن يبطئ من عمل البرنامج كما تفعل trace. هل تستطيع trace فعل هذا؟
I am homesick for a place I have not even visited
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم