الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج Dependency Walker لتشريح ملفات Dlls و ملفات Exe

بدأه Abdullah.Alshammeri في 17 أغسطس 2008 · 4 رد · 13,715 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .

- قد يكون البرنامج معروف لدى البعض .. وقد يكون الموضوع مكررا .. لم أبحث صراحة .. ولكن زيادة الخير خيرين ,,

- هذا البرنامج ليس خاص بمبرمجي السي طبعا .. ويستفيد منه كل مبرمج يعتمد على ملفات DLLs و EXE .. ولكن أحببت وضعه هنا .. لأن أكثر من سيحتاجه هذه الايام هم مبرمجي السي بلس ( والدلفي أيضا ) .. بحكم عدم وجود frameWork مثل لغات الدوت نت .. ولغة الجافا .. وأيضا لوجود ميزة خاصة بمبرمجي السي بلس سأتكلم عنها لاحقا .

هذه الأيام احتجت كثيرا للبحث و التحرّي عن ملفات DLLs .. احتاجها كثيرا .. و وجدت برنامج جميل اسمه

Dependency Walker

http://www.dependencywalker.com/

وهو برنامج مجاني ومفيد جدا .

الفائدة منه :

1- فتح ملفات DLLs و EXE واستنتاج جميع ملفات DLLs التي يعتمد عليه ذلك الملف وهذا مفيد طبعا لمن يريد توزيع تطبيقاته لاجهزة أخرى .. فبدلا من السؤال والاستفسار .. هل اشتغل البرنامج أولا ... فان كل الاسئلة ستنتهي بمجرد استخدام هذا البرنامج بحول الله وقوته .

2- استخراج جميع الدوال والأصناف ( Functions - Classes ) الموجودة داخل ملف DLL .. وعرضها بشكل مناسب لمبرمجي السي بلس .

3- تحدد دوال معينة من الدوال المستخرجة من الفقرة 2 .. من ملف DLL .. وهي الدوال التي هي مستخدمة بالفعل من قبل البرنامج أو ملف dll .

سيتم توضيح النقاط السابقة خطوة بخطوة ان شاء الله .

1- فتح ملفات DLLs و EXE واستنتاج جميع ملفات DLLs التي يعتمد عليه ذلك الملف وهذا مفيد طبعا لمن يريد توزيع تطبيقاته لاجهزة أخرى .. فبدلا من السؤال والاستفسار .. هل اشتغل البرنامج أولا ... فان كل الاسئلة ستنتهي بمجرد استخدام هذا البرنامج بحول الله وقوته .

بعد فتح ملف DLL الذي تريد .. او ملف exe .. ستظهر قائمة بالشكل التالي :

post-42837-1218920381_thumb.jpg

قمت بفتح تطبيق عندي .. وهو عبارة عن لعبة قمت بتطويرها .. ولكن عانيت الامرين .. لاني لم اكن استطيع تشغيلها .. في الاجهزة التي لا تحوي Visual Studio ... حتى قام الاخ سلوان بمساعدتي في هذا الموضوع :

/index.php?showtopic=137916

هذا البرنامج يحدد لك جميع الملفات التي تحتاجها لتشغيل هذا التطبيق . . لاحظ أن الملفات المظللة باللون الاصفر .. هي ملفات غير موجودة في النظام ( أنا من حددتها بالاصفر وليس البرنامج ) ... وهي الملفات التي تحتاج لتوزيعها مع تطبيقك ..

أما الملفات الاخرى فهي ملفات النظام .. و تأتي مع نظام التشغيل .. ولا تحتاج لاضافتها .. أشهر هذه الملفات :

GDI32.dll - kernel32.dll - user32.dll - winmm.dll -opengl32.dll - glu32.dll الخ ..

هذه الملفات كما ذكرت .. موجودة مع أي نظام تشغيل ويندوز ..

2- استخراج جميع الدوال والأصناف ( Functions - Classes ) الموجودة داخل ملف DLL .. وعرضها بشكل مناسب لمبرمجي السي بلس ... وتحديد الدوال المستخدمة .

لنأخذ أي مثال على ذلك .. وليكن مثالنا السابق ... ونختار الملف المسمى بـ GDI32 :

ستظهر لنا قائمة بجميع الدوال الموجودة في هذا الملف ...

post-42837-1218920390_thumb.jpg

كما ستظهر قائمة بالدوال التي استخدمناها من خلال تطبيقنا age.exe .

post-42837-1218920404_thumb.jpg

حقيقة .. استفدت كثيرا من هذا البرنامج .. فمثلا قمت بفحص الملف OpenGL32.DLL .. واكتشفت ماهي الداول التي يعتمد عليها هذا الملف من الملف GDI32 .. وبالتالي صار لدي تصور واضح عن علاقة OpenGL بال GDI32 .

جرب أن تفحص أحد ملفات البرامج العملاقة مثل Adobe Photoshop .. وستستمتع فعلا :) .

3- عرض خاص بمبرمجي السي بلس .

كما نعلم .. أنه يمكن تصدير كلاس كامل class .. الى ملف DLL .. بالنقر على ايقونة التحويل الى طريقة عرض ++C .. سيبدو الامر هكذا :

post-42837-1218920454_thumb.jpg

أتمنى أن يعجبكم هذا البرنامج ,,

السلام عليكم .

post-42837-1218920417_thumb.jpg

تم تعديل هذه المشاركة بواسطة الشمري في 4 أكتوبر 2009 في 23:18 — السبب: تصحيح أخطاء مطبعية

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

شكرا لك أخي الشمري

برنامج مهم فعلا

وأعتقد أنه موجود ضمن أدوات الفجوال ستيديو ,,

يعطيك العافية خيو ,,

تحياااتي

للصداقة البرمجية

pro-vb6@hotmail.com

#3

شكرا اخى الشمرى على البرنامج

اخ ابو فهيد @ هو فعلا موجود ضمن Visual Studio 6 tools

#4

جزاك الله خيرا أخي الكريم

اقتباس
جرب أن تفحص أحد ملفات البرامج العملاقة مثل Adobe Photoshop .. وستستمتع قعلا

بعضهم هيجيله صداع :wacko:

تم تعديل هذه المشاركة بواسطة Ala2 VB في 17 أغسطس 2008 في 17:49

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#5

شكرا اخي الشمري

برنامج رائع ومفيد

( _ /)

(='.'=)

(")-(")

مواضيع مشابهة