KeyLayout
8 يوليو 2007بدأت الفكرة من هاهنا
فهي عبارة عن برنامج يقوم بتبديل النصوص مابين واجهات الإدخال
فعلى سبيل المثال : اردت كتابة نص باللغة العربية ، وليكن ” بسم الله الرحمن الرحيم”
بعدما انهيت الكتابة وجدت انك لم تعدل واجهة الادخال بل كانت اللغة الانجليزي
فاصبح النص الذي كتبته هو ” fsl hggi hgvplk hgvpdl ” ماذا ستعمل !!!
سيكون الحل البديهي هو مسح النص وكتابته من جديد
لاكن مع هذا البرنامج ، لن تعيد الكتابة بعد اليوم
، كل ماعليك هو تحديد النص
والضغط على المفتاج الساخن ( ctrl+alt+t ) ثم تحدد واجهة الادخال المناسبة
وستحصل على النص الصحيح
العمل مازال في بداتيه ، يمكنك متابعة تطورات العمل في ساحة النقاش
تم كتابة البرنامج في كل من
Delphi
C++ Builder
من الماضي
21 يونيو 2007كنت اقوم بجولة تفقدية على الملفات داخل الجهاز لنسخ ماهو ضروري منها ، استعداداً للأنتقال القادم
بالصدفه وقعت على مجموعة من البرامج كنت اعمل على تطويرها منذ مايقارب 4 الى 5 سنوات مضت
لاكن البعض منها لم يكتمل بعد والبعض الآخر اكتمل وضل حبيس مجلده
احببت ان انشرها هنا لكي يستفيد منها الآخرون ، ووقع اختياري على برنامجين اعتقد انهما هما الافضل للنشر
Windows Handles :
يقوم هذا البرنامج باستعرض كيفية التعامل مع المقابض ( Handle ) ضمن نظام التشغيل Windows
ماهو مهم هو كيفية التعامل مع SubHandle ، اعتقد انه جيدر بالاطلاع لكل بحاث في هذا المجال ، البرنامج مرفق مع السورس كود
FileManager For Server :
هذا البرنامج قمت بتطويره اثناء دراستي في المرحلة الثانوية ، من اجل تقديم نوع من المساعدة لمدرس الحاسوب لادارة الملفات داخل المعمل عبر الشبكة
ولاكن للأسف لم يكتمل هذا العمل على الرغم اني قطعت جزء كبير منه
يمكنك الاطلاع على البرنامج فهو مرفق مع السورس كود ، اتمنى ان يتم استخدامه بصورة سليمة
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 عندما انتهى من تجربته ، وكتابة الوثائق.
يمكنكم الآن الحصول على البرنامج من هذا الرابط :
وفي حال وجود مقترح او مشكلة او استفسار ارجوا كتابته تعليق على هذا الموضوع او ارسالة على بريدي الالكتروني
Lazarus مشروع طموح
24 مارس 2007بدأ مشروع Lazarus في فبراير من عام 1999 م لانشاء بيئة تطوير برمجية ( RAD ) شبيهه Delphi وبإستمعال كمبايلر FreePascal الخاضع لاتفاقية GPL والذي يتميز بوجود نسخ عديدة منه لاغلب انظمة التشغيل المتوفره كـ Windows , Linux , MAC ….

قام بتطوير هذا المشروع كل من
- Cliff Baeseman
- Shane Miller
- Michael A. Hess
يتميز هذا العمل ، بإنه مجاني ومفتوح المصدر ، ويعتبر الخيار الامثل لمطوري Pascal على انظمة تشغيل مختلفة ، وخاصة بعد ايقاف شركة بورلاند لبيئتها Kylix حيث كانت تعتبر هي نسخة التطوير لدلفي على انظمة Linux بدعم ( CLX )
مايميز هذا العمل انه يمنحك التطوير بواجهات GUI بمنصات مختلة وذلك تحت مايسمى بـ LCL ، حيث يمكنك بناء تطبيقاتك على API Widget والموفر من نظام التشغيل او اختيار احد المكتبات الاخرى كـ GTK+ ، Gnome وكذلك ايضاً QT ، والاهم من ذلك لن تحتاج ان تغيير في مشروعك اي شي ، سواء بتغيير لنظام التشغيل او منصة العمل للواجهات (( حسب توفرها للنظام ))

يمكنك الاطلاع عليه ، وتجربته ، والحصول على كثير من التفاصيل عبر موقعه
http://www.lazarus.freepascal.org
المشروع مازال في تطور ، ولاكن تعتبر انجازاته جداً طموحة ، نتمنى له التوفيق




