من الماضي

21 يونيو 2007

كنت اقوم بجولة تفقدية على الملفات داخل الجهاز لنسخ ماهو ضروري منها ، استعداداً للأنتقال القادم

بالصدفه وقعت على مجموعة من البرامج كنت اعمل على تطويرها منذ مايقارب 4 الى 5 سنوات مضت

لاكن البعض منها لم يكتمل بعد والبعض الآخر اكتمل وضل حبيس مجلده :D

احببت ان انشرها هنا لكي يستفيد منها الآخرون ، ووقع اختياري على برنامجين اعتقد انهما هما الافضل للنشر

Windows Handles :

يقوم هذا البرنامج باستعرض كيفية التعامل مع المقابض ( Handle ) ضمن نظام التشغيل Windows

Windows Handles

ماهو مهم هو كيفية التعامل مع SubHandle ، اعتقد انه جيدر بالاطلاع لكل بحاث في هذا المجال ، البرنامج مرفق مع السورس كود

wh.zip

FileManager For Server :

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

ولاكن للأسف لم يكتمل هذا العمل على الرغم اني قطعت جزء كبير منه

FileManager For Server

يمكنك الاطلاع على البرنامج فهو مرفق مع السورس كود ، اتمنى ان يتم استخدامه بصورة سليمة

fmfs.zip

مصنف في: Delphi | | التعليقات: 3 »

Paldo عشق من أول نظرة

15 يونيو 2007

كعادتي احب ان افكر بالمسقبل كثيراً ، فهذه المرة كنت افكر بالانتقال القادم لنظام التشغيل

فبعد اصدار Microsoft لـ Windows Vista اصبح هناك مفرق للطرق

فجميع اعمالي متوافقه او مبنية على انظمة Windows السابقة ، ولاكن المستقبل سيحتم علي الانتقال الى ماهو جديد لامحالة

خلال الفترة السابقة كنت قد حصلت على توزيعات Linux المختلفة كـ Suse ، Ubuntu , Mandriva ..
ولاكن لم يكن هناك آلفه كما هو الحال مع XP :)

ولاكن !!

اليوم استطعت الحصول على احدى توزيعات Linux الجديدة والتي تدعى Paldo

بعد تجربة امتدت لـ 5 دقائق فقط حصلت هناك الفه غير مسبوقة سواء لي انا او لجهازي المحمول :D

فكانت متناغمه تناغم تام مع Hardware ، وكذلك ايضاً فهي نسخة موجهه للمبرمجين حيث تحتوي بشكل اساسي على اغلب بيئات التطوير لـ Linux

حتى اني أصبحت اشك بأن هذه التوزيعة صنعت لي انا خصيصاً ولجهازي انا بالتحديد ;)
سنتحدث عنها بمزيد من التفاصيل في تدوينات قادمه
( والله يديم المحبه )

مصنف في: عام | | التعليقات: 4 »

خارطة PE

14 يونيو 2007

بعد جولة تفقدية لمستنداتي ، وجدت بالصدفة كتاب او مرجع ( pdf ) على شكل رسم بياني

يبين تركيبه PE بشكل دقيق ، موضحاً اقسامها وفروعها بالتفصيل
فهي بالفعل خارطة لاغنى عنها لكل من يريد ان يكتشف هذا العالم الرائع

يمكن الحصول عليها من هنا

pe-format.pdf

مصنف في: عام | | لا تعليقات »

Export Table

6 يونيو 2007

سنستعرض هنا كيفية الوصول الى اسماء الدوال التي تقدمها الملفات المكتبية

يوجد عنوان الجدول عند الازاحة 178 من بداية الملف ( RVA )

1.gif

عند الذهاب الى عنوان الجدول سنجد التالي

2.gif

هذي هي تركيبة الجدول من بداية عنوانه

struct _IMAGE_EXPORT_DIRECTORY {
0x00 DWORD Characteristics;
0x04 DWORD TimeDateStamp;
0x08 WORD MajorVersion;
0x0a WORD MinorVersion;
0x0c DWORD Name;
0x10 DWORD Base;
0x14 DWORD NumberOfFunctions;
0x18 DWORD NumberOfNames;
0x1c DWORD AddressOfFunctions;
0x20 DWORD AddressOfNames;
0x24 DWORD AddressOfNameOrdinals;
};

مايهمنا هو شيئين NumberOfNames و AddressOfNames
في الصورة السابقة قمت بتلوين مكان وجود الحقل NumberOfNames باللون الاصفر
وكذلك AddressOfNames باللون الاخضر

من الصورة السابقة
NumberOfNames = 10 وهي عدد الدوال
AddressOfNames = 040068 وهي بداية عنوان جدول الاسماء

لننتقل الى AddressOfNames

3.gif

ما هو مظلل باللون الرصاصي يشير الى بداية الجزء ويمثل عنوان اسم اول دالة ( حجم العنونة DWord )
للنتقل الى هذا العنوان

4.gif

كما تشاهد في الصورة اسم الدالة التي يشير اليها العنوان السابق ، وهكذا يتم الوصول الى بقية الدوال
ونتوقف عن قراءة الدوال عند الوصول الى العدد المسجل في NumberOfNames والتي يمثل العدد الكلي للدوال

هذا كل مافي الأمر،
وقد قمت بعمل برنامج بـ C++ Builder يقوم بإستخراج اسماء الدوال من جدول Export Table تلقائياً
يمكنك الاطلاع عليه فهو مرفق مع السورس كود

5.gif

exporttable.zip

مصنف في: C & C++, عام | | لا تعليقات »