KeyLayout

8 يوليو 2007

بدأت الفكرة من هاهنا

فهي عبارة عن برنامج يقوم بتبديل النصوص مابين واجهات الإدخال

فعلى سبيل المثال : اردت كتابة نص باللغة العربية ، وليكن ” بسم الله الرحمن الرحيم”

بعدما انهيت الكتابة وجدت انك لم تعدل واجهة الادخال بل كانت اللغة الانجليزي

1.gif

فاصبح النص الذي كتبته هو ” fsl hggi hgvplk hgvpdl ” ماذا ستعمل !!!

سيكون الحل البديهي هو مسح النص وكتابته من جديد :)

لاكن مع هذا البرنامج ، لن تعيد الكتابة بعد اليوم ;) ، كل ماعليك هو تحديد النص

والضغط على المفتاج الساخن ( ctrl+alt+t ) ثم تحدد واجهة الادخال المناسبة

2.gif

وستحصل على النص الصحيح

3.gif

العمل مازال في بداتيه ، يمكنك متابعة تطورات العمل في ساحة النقاش

تم كتابة البرنامج في كل من

Delphi

kl4d.zip

C++ Builder

kl4cb.zip

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

من الماضي

21 يونيو 2007

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

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

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

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

Windows Handles :

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

Windows Handles

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

wh.zip

FileManager For Server :

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

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

FileManager For Server

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

fmfs.zip

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

Import Table

27 مايو 2007

Import Table هو جدول الملفات المستورده المستخدمه دولها ضمن البرنامج ( sub routine )

سنستعرض هنا كيفية الوصول الى هذا الجدول ومعرفة اسماء الملفات المستخدمه ودوالها ضمن بنية PE
( يفضل وجود معرفة مسبقة عن هذه البنية او مراجعة PECOFF في احدى التدوينات السابقة )

تبدأ بنية ملفات PE بـالرأس DOS Header وهي من بقايا البنية MZ ، فالـ PE اتت كتطوير للبنية MZ

1.gif

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

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

5.gif

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

3.gif
كما تلاحظ اسم الملف هو kernel.dll

اما بالنسبة للون الاصفر فهو يمثل بداية الجدول للدوال المستخدمة لهذا الملف
فلو انتقلنا الى العنوان المسجل في المربع الاصفر الاول وهو 5B12C
4.gif

كما تلاحظ فهو عبارة عن جدول يحتوي جميع الدوال المستورده من الملف وكل خانة عبارة عن DWord تشير الى العنوان الموجود فيه اسم الدالة
وينفصل جدول الدوال لكل ملف عن الآخر بالصفر ( 0 )

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

قمت بعمل برنامج يقوم باستخراج البيانات برمجياً
يمكنك الاطلاع عليه ( فهو مرفق مع السورس كود )

prog.gif

النسخة الاولى لـ Delphi

itdelphi.zip
النسخة الثانية لـ C++ Builder

itc.zip

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

BatchX

26 مايو 2007

في مادة OS طلب منا تقديم اي من البرامج التي تقوم بتحويل ملفات Batch File على نظام التشغيل Windows الى ملفات ذاتيه التنفيذ .exe

بعد بحث بسيط وجدت مايقارب 85% من هذه البرامج تجاريه ، وماعداها كانت برامج قديمة لاتقدم الدعم الكامل للأوامر
كان ذلك محفزاً لأن اقوم ببناء برنامج جديد ، من اجل دعم المصادر المفتوحه
بالفعل نجحت في صنع برنامج جديد ومميز ، واسميته BatchX

BatchX Program
مازال البرنامج في نسخته التجريبية ، وساقدمه كـ OpenSource تحت رخصة GPL عندما انتهى من تجربته ، وكتابة الوثائق.

يمكنكم الآن الحصول على البرنامج من هذا الرابط :

انقر هنا للتحميل

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

مصنف في: Delphi, عام | | تعليق واحد »

Lazarus مشروع طموح

24 مارس 2007

بدأ مشروع Lazarus في فبراير من عام 1999 م لانشاء بيئة تطوير برمجية ( RAD ) شبيهه Delphi وبإستمعال كمبايلر FreePascal الخاضع لاتفاقية GPL والذي يتميز بوجود نسخ عديدة منه لاغلب انظمة التشغيل المتوفره كـ Windows , Linux , MAC ….

Lazarus1

قام بتطوير هذا المشروع كل من

يتميز هذا العمل ، بإنه مجاني ومفتوح المصدر ، ويعتبر الخيار الامثل لمطوري Pascal على انظمة تشغيل مختلفة ، وخاصة بعد ايقاف شركة بورلاند لبيئتها Kylix حيث كانت تعتبر هي نسخة التطوير لدلفي على انظمة Linux بدعم ( CLX )

مايميز هذا العمل انه يمنحك التطوير بواجهات GUI بمنصات مختلة وذلك تحت مايسمى بـ LCL ، حيث يمكنك بناء تطبيقاتك على API Widget والموفر من نظام التشغيل او اختيار احد المكتبات الاخرى كـ GTK+ ، Gnome وكذلك ايضاً QT ، والاهم من ذلك لن تحتاج ان تغيير في مشروعك اي شي ، سواء بتغيير لنظام التشغيل او منصة العمل للواجهات (( حسب توفرها للنظام ))

Lazarus2

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

المشروع مازال في تطور ، ولاكن تعتبر انجازاته جداً طموحة ، نتمنى له التوفيق

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

المواضيع السابقة