بسم الله الرحمن الرحيم

البرمجة

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

هذا الدرس مقسم إلى جزئين الجزء الأول نتعرف فيه على أنواع لغات البرمجة وإستخدامتها
والجزء الثاني نتعلم فيه الطرق الرئيسية لتعلم أي لغة برمجة وكيف نكتشف الثغرات الأمنية فيها


ماهي البرمجة :
البرمجة
هي أوامر نصية يترجمها الحاسب أو الجهاز الإلكتروني إلى برنامج يتفاعل مع المستخدم له.

مراحل حياة البرنامج:
1-
تبدأ حياة البرنامج بكتابة أكواد البرنامج
2-
تتم ترجمة الأكواد إلى لغة الألة وهي صفر وواحد عبر برنامج يسمى المترجم ( compiler )
3-
يتم تحويل الأكواد إلى برنامج كامل النمو وقابل للإستخدام
في بعض اللغات يكون الكومبايلر هو نفسه المشغل للبرنامج ومثال على ذلك لغة HTML حيث أن المترجم للغة هو متصفح الإنترنت وهو أيضاً المشغل للبرنامج

أنواع لغات البرمجة :
تنقسم لغات البرمجة إلى أنواع عديدة وكثيرة ولكن سوف نركز على أشهر اللغات في كل المجالات
1- برمجة تطبيقات الحاسب التقليدية
أ/ برمجة هيكلية وتطبيقية : وأشهرها لغة ++C ولغة Java
في هذا النوع تكون البرمجة عبارة عن كتابة لأكواد بشكل مصمت في أي برنامج تحرير نصوص ( مثل المفكرة ) ثم بعد ذلك تدخل هذه الأكواد إلى كومبايلر يقوم بتنقيح الأكواد وتحويلها إلى برنامج
ب/ برمجة مرئية : وأشهرها مجموعة لغات Visual.NETوهي تطوير لمجموعة MS Visual يتميز هذا النوع عن سابقة بأنه أقل كتابة للأكود وإنما تقوم بتحرير برامج; مثل ما تحرر النصوص في برنامج الورد تقريباً. ولكن هذا لن يغنيك عن كتابة بعض الأكواد البسيطة ثم بعد ذلك تخرج برنامج بشكل سريع

2- برمجة تطبيقات صفحات الإنترنت:
اللغة الأساسية في صفحات الإنترنت هي لغة HTML وهي لغة تكتب بأي محرر نصوص ثم يترجمها متصفح الإنترنت.
يلي هذه اللغة لغات تفاعل بسيطه ومنها لغة الجافا سكربت ولغة الفي بي سكربت , وهما متماثلتان بشكل كبير في الوظائف ومختلفه في الأكواد والهدف منهم زيادة التفاعل مع زائر الصفحة.

يلي هاتين اللغتين لغتات عديدة  منها الـ php و asp وهما أيضاً متماثلتان في عملهما لكن مختلفه تماماً في أكوادها والهدف منهما هو التفاعل مع الزائر بشكل كبير مثل المنتديات وغرف الدردشة.

3- برمجة الإلكترونيات الرقمية
من أشهرها لغة التجميع وهي لغة تتم فيها كتابة الأكواد ثم نقلها إلى شرائح إلكترونية حيث تقوم هذه الشرائح بوظائف إلكترونية.
هذا النوع من البرمجة يحتاج إلى أساس متين في علم الإلكترونيات الرقمية ولذا سوف نفصل فيه في دورة مستقلة بإذن الله

كيف تتعلم لغات البرمجة؟
في البداية يجب أن تكون لديك خلفية مسبقة في مبادئ البرمجة و أن تمارس كتابة الأكواد ممارسة فعلية ولو بشكل بسيط ,وقد يسرنا لك ذلك في دورة البرمجة الشاملة_ أنقر هنا_.

أما النقاط الأساسية لتعلم أي لغة فهي كما يلي:
1-
محرر النصوص ومالمترجم المناسب (compiler)

إبحث عن محرر النصوص المناسب لهذه اللغة وكذلك الكومبايلر وهذا سوف تجده في بداية أي كتاب تعليمي مخصص للمبتدئين أو في المواقع الداعمه للغة التي سوف تتعلمها

2- تعلم قواعد اللغة
حتى تعرف قواعد أي لغة عليك أن تقوم بالبحث عن دليل إستخدام هذه اللغة وذلك بكتابة إسم اللغة متبوعاً بكلمة manual
مثلاً حتى نتعلم لغة الـ php نكتب في محرك البحث php manual فيظهر لنا الموقع التالي
http://www.phpbuilder.com/manual
وسوف تلاحظ أن في هذا الموقع كل ما نحتاجه حول هذه اللغة

بالنسبة للغات الفيجول دوت نت وهي عديده منها الـ #C و الـ Visual Basc.net فقد وضعة ميكروسفت مجموعة تسمى بـ msdn وموقعها هو
http://msdn.microsoft.com/
بواسطة خاصية البحث الموضحه بالصورة يمكنك أن تتعلم عن أي شئ تريده حول أي لغة من ميكروسوفت


3- تعلم طريقة كتابة الدوال
المبرمج الذكي لا يقوم بكتابة برامجه من الصفر بل هو فقط يكتب علامة البداية والنهاية لبرنامجه ثم بعد ذلك يستعين بدوال جاهزه تكون موجوده على الانترنت او على برامج خاصة ومن ثم يقوم بنسخ الدالة التي يحتاجها ويلصقها في المكان المناسب.

من الأمثلة على البرامج التي تحتوي على دوال جاهزه للإستخدام برنامج Source Code Library والذي يحتوي على عشرات الدوال التي يمكن إستخدامها مباشرة عبر القص واللصق
وبإذن الله سوف نفصل في دورة البرمجه الشامله حول هذا البرنامج والذي يمكنك تنزيله من هنا

وبنظرة سريعة على البرنامج نلاحظ في الصورة التالية أنه يتكون من ثلاث أقسام

القسم الايسر يحدد لغة البرمجة
القسم الأوسط يحدد وظيفة الدالة
القسم الأيمن يظهر نص الدالة

كيف تكتشف الثغرات الأمنية في برامجك:
قبل أن نعرف كيف نكتشف ثغرة في برنامج يجب أن نعرف ماذا نستفيد من الثغرات؟
يفيدنا إكتشاف الثغرات في حالتين :
1- حماية البرنامج من خلال معرفة الثغرات و القيام بإغلاقها
2- فتح البرنامج في حالة فقدان كلمة السر أو تعطله


دائماً يكون إكتشاف الثغرات الِأمنيه في البرامج عبر عرض الكود البرمجي للبرنامج ثم بعد ذلك نحاول قراءة البرنامج ومعرفة سير عمله بناء على معرفتنا المسبقه بلغة البرمجه التي كتب بها البرنامج

يتولد لدينا الان سؤال جديد وهو كيف نفتح الكود المصدري لأي برنامج؟
* بالنسبة لمواقع الإنترنت فكل ما عليك هو إختيار المصدر من قائمة عرض في المتصفح وبعد ذلك سوف ترى الأكواد التي تمت كتابة الصفحه بها

* أما البرامج التطبيقية فهناك برامج كثيرة يمكنها أن تفتح الكود المصدري لأي برنامج بحسب لغة البرمجة التي كتب بها. من هذه البرامج برنامج يدعى Resource Hacker وهو موجود على الرابط التالي
http://www.angusj.com/resourcehacker/
بعد تحميلك للبرنامج فكل ما عليك هو الضغط بالزر الأيمن على البرنامج ومن ثم إختر ما هو موضح بالصورة

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

أنقر هنا للتنتقل إلى الجزء الرابع منها

 

أضف تعليقك

الإسم :
البريد :