Import Table
27 مايو 2007Import Table هو جدول الملفات المستورده المستخدمه دولها ضمن البرنامج ( sub routine )
سنستعرض هنا كيفية الوصول الى هذا الجدول ومعرفة اسماء الملفات المستخدمه ودوالها ضمن بنية PE
( يفضل وجود معرفة مسبقة عن هذه البنية او مراجعة PECOFF في احدى التدوينات السابقة )
تبدأ بنية ملفات PE بـالرأس DOS Header وهي من بقايا البنية MZ ، فالـ PE اتت كتطوير للبنية MZ

مايهمنا هنا ماهو موجود في العنوان 3c وهو بداية الجزء PE بالرأس NT Header مسجل كقيمة RVA اي مقدار الازاحة من بداية الملف
كما هو موضح في الصورة السابقة فالقيمة الموجودة في العنوان 3c هي 100 ( جميع القيم بـ Hex ) لننتقل الى هذا العنوان

هنا يبدا الراس الحقيقي للـ PE والذي يميزه المعرف PE في اول 4 بايت من هذا الجزء
عند العنوان 180 نجد عنوان الجدول ( Import Table ) مسجل كقيمة RVA
ننتقل الى هذا العنوان

في هذه الصورة قسمت هذه المنطقة الى عدة الوان
مايهمنا هو كل من اللونين الرمادي والاصفر ، وبقية الالوان تمثل حجم كل حزء
القيمة الموجودة في اللون الرمادي بالجزء الاول تشير الى العنوان الذي يحوي اسم الملف المستورد القيمة مسجله كـ RVA
والقيمة الاخرى الموجودة في اللون الرمادي في الجزء التالي ( باللون الازرق ) تشير الى الملف التالي وهكذا
للايضاح لو انتقلنا الى العنوان المسجل في المربع الرمادي الاول وهو 05B714 سنجد التالي :

كما تلاحظ اسم الملف هو kernel.dll
اما بالنسبة للون الاصفر فهو يمثل بداية الجدول للدوال المستخدمة لهذا الملف
فلو انتقلنا الى العنوان المسجل في المربع الاصفر الاول وهو 5B12C

كما تلاحظ فهو عبارة عن جدول يحتوي جميع الدوال المستورده من الملف وكل خانة عبارة عن DWord تشير الى العنوان الموجود فيه اسم الدالة
وينفصل جدول الدوال لكل ملف عن الآخر بالصفر ( 0 )
وهكذا نحصل على Import Table
هذه الطريقة يدوية ، استخدمتها لتبيين الامر
نفس العمل يتم برمجياً ، ولاكن هناك البنيات التركيبية للـ PE معرفة ضمن مكتبة windows
مما يسهل الوصول الى البيانات
قمت بعمل برنامج يقوم باستخراج البيانات برمجياً
يمكنك الاطلاع عليه ( فهو مرفق مع السورس كود )

النسخة الاولى لـ Delphi
itdelphi.zip
النسخة الثانية لـ C++ Builder
BatchX
26 مايو 2007في مادة OS طلب منا تقديم اي من البرامج التي تقوم بتحويل ملفات Batch File على نظام التشغيل Windows الى ملفات ذاتيه التنفيذ .exe
بعد بحث بسيط وجدت مايقارب 85% من هذه البرامج تجاريه ، وماعداها كانت برامج قديمة لاتقدم الدعم الكامل للأوامر
كان ذلك محفزاً لأن اقوم ببناء برنامج جديد ، من اجل دعم المصادر المفتوحه
بالفعل نجحت في صنع برنامج جديد ومميز ، واسميته BatchX

مازال البرنامج في نسخته التجريبية ، وساقدمه كـ OpenSource تحت رخصة GPL عندما انتهى من تجربته ، وكتابة الوثائق.
يمكنكم الآن الحصول على البرنامج من هذا الرابط :
وفي حال وجود مقترح او مشكلة او استفسار ارجوا كتابته تعليق على هذا الموضوع او ارسالة على بريدي الالكتروني
وثيقة PECOFF
6 مايو 2007تقدم شركة Microsoft وثيقة تفصيلية عن مايمسى بـ PECOFF وهي كلمة مركبة من جزئين هما PE و COFF
PE هي Portable Executable
COFF هي Common Object File Format
والمقصود بها هي بنية الملفات التنفيذية لنظام التشغيل ويندوز . تم بناء هذه التركيبة في بداية اصدارت ويندوز NT ،حيث كانت تعتمد سابقاً على MZ وهي البنية التركيية لـ DOS 2.0 ، تعتبر PE امتداد وتطوير للـ MZ
تحتوي الوثيقة على معلومات تفصيلية عن هذه البنية وعن الوحدات البرمجية المتوفره ومعلومات كثيره تهم كل مهتم في هذا المجال
يمكنك الحصول عليها من هنا :
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
بعد اتمام الإتفاقية
لعلي في تدوينات قادمه اقدم تطبيقات عملية حول هذا المجال
كـ Export Table ، Import Table , Injection , Packer