PE32 Function Viewer برنامج لتحليل الدوال الموجوده بالملف التنفيذى

الناقل : elmasry | الكاتب الأصلى : محمد علاء الدين | المصدر : www.arabteam2000-forum.com

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

البرنامج اسمه PE32 Function Viewer و هذه هى صوره له اثناء تحليل win32k.sys

ارفق صورة : monthly_12_2009/post-135620-12621385419724.jpg

يقوم البرنامج بتقسيم الدوال إلى 3 اقسام دوال تم تم تصديرها بالإسم و دوال تم تصديرها برقم (Ordinal) و دوال Private.

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

لإعادة تسمية داله او لرؤية اماكن استدعائها فقط قم بـ Double Click عليها.

التالى هى صوره لمعلومات عن داله Private موجوده داخل win32k.sys
ارفق صورة : monthly_12_2009/post-135620-12621373066068.jpg

بعد اعادة تسمية الدوال يمكنك حفظها داخل ملف اسميته Local File هذا الملف يأخذ الإمتداد .local و يخزن داخله بيانات عن المكتبه التى تحتوى على الدوال المعاد تسميتها و كذلك بيانات الدوال التى تم اعادة تسميتها.

لفتح ملف local قم بفتح ملف تنفيذى ثم من قائمة local اختر Load، لاحظ انه يمكنك تحميل ملف local لمكتبه غير التى تم تحميلها و سيقوم البرنامج بمحاولة احداث تطابق بين بيانات الدوال الموجوده بالملف و الدوال المحمله من داخل الملف التنفيذى.

قد تحتاج لإعادة اسمء الدوال لوضعها الطبيعى كما كانت عليه حينها استخدم الأمر Reset الموجود بالقائمه Local

لنسخ بيانات داله او مجموعه من الدوال قم بتحديدهم ثم اختر Copy Selected من Tools.

بعد انتهائك من التعامل مع الملف التنفيذى قم بغلقه بإستخدام Close.

البرنامج مازال فى قيد التطوير و النسخه المرفقه هى BETA و إصدارها 0.8، الأمر الوحيد الذى لم اقم بتضمينه حتى الأن هو Find الموجود بالقائمه Tools.

ملف مرفق  FunctionAnalyser.rar (33.04كيلو )
عدد مرات التحميل : 133


و الله ولى التوفيق