الصفحة الرئيسية شروحات الفيديو البرمجة فيديو: أساسيات البرمجة بلغة Ruby
فيديو: أساسيات البرمجة بلغة Ruby
تقييم المستخدمين: / 15
عاديممتاز 
الكاتب عبدالمهيمن الآغا   
الجمعة, 08 يوليو 2011 15:49

شرح فيديو يوضح المفاهيم الأساسية في البرمجة بلغة روبي. الشرح موجه ليكون مدخل للهاكرز ومختبري الاختراق الى عالم البرمجة وهو بداية لسلسة شروحات فيديو عن لغة Ruby سيتم نشرهم في iSecur1ty ليتمكن المتابعين بالنهاية من برمجة وتطوير أدواتهم الخاصة بأنفسهم.

 

الفيديو:

 

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

 

روابط قد تفيدك:

 

يفضّل إستخدام موقع code.isecur1ty.org لمشاركة أي أكواد لكي تظهر ملونة وبالاتجاه الصحيح عوضا عن كتابتها بالتعليقات. يمكن الاكتفاء بذكر رقم الكود فقط بهذا الشكل: #1

 

أي أسئلة أو اضافات مرحب بها طبعاً.



عن الكاتب:


عبدالمهيمن الآغا, مؤسس iSecur1ty، مختص بالحماية وأساليب إختبار الإختراق. أملك خبرة في إدارة الشبكات والسيرفرات, تطوير المواقع والبرمجة بلغة Ruby التي برمجت بها عدّة مشاريع وأدوات مفتوحة المصدر.

التعليقات (33)Add Comment
abuobaeda
شكرا
أرسلت بواسطة: abuobaeda في July 08, 2011
وبنتظار السلسلة وهلا بدي حملوا لانوا عنا بسوريا الانترنت بطيئ
شكرا جزيلا
abdellatef
تعليق
أرسلت بواسطة: abdellatef في July 08, 2011
اخي عبد المهيمن اعملو تدعيم للتحميل ب idm
كل فديوهات لا تريد تتحمل
جزاك الله خيرا انا تعلمت الاساسايات قبل نريد تحميل الفديو هدا
abdellatef
هاي دورة لي تعلمت منها صوت وصورة
أرسلت بواسطة: abdellatef في July 08, 2011
هاهو رابط الدورة لي تعلمت منها ادا ما في اشكال

http://www.startimes.com/f.aspx?t=26518823&pg=1

وانصح بهدا المحرر للبرمجة بلغة الروبي

http://www.jetbrains.com/ruby/


FATHY ALQISY
بداية ممتازة
أرسلت بواسطة: FATHY ALQISY في July 08, 2011
شكرا يا غالي على الدرس الممتاز وياريت ان تكون الدروس التالية متقاربة حتى نطبق
كل شي اول بأول .

ملاحظة صوتك حلو يا عبدالمهيمن ولهجتك السورية مية على مية بتذكرني بماما (:
اخوك من الاردن.
h4x0r
...
أرسلت بواسطة: h4x0r في July 08, 2011
مشكور اخي عبد المهيمن لغة روبي رائعة
الشبح الدموي
...
أرسلت بواسطة: الشبح الدموي في July 08, 2011
تسلم اخي عبد المهيمن في انتضار باقي الدروس
thirteen
...
أرسلت بواسطة: thirteen في July 09, 2011
Ruby
ام
Python
حيث اني بدأت في تعلم Python
ولكن تواجهني بعض الصعوبات في كتابة
Exploit
وكنت افكر في الانتقال للغة اخر (ليست طبعا ‎Perl
(
فهل Ruby ‎‏ جيدة
lnxg33k
...
أرسلت بواسطة: أحمد العنترى في July 09, 2011
thirteen: والله بالنسبه لكتابة ال exploits ممكن تستخدم اى لغة
انما علشان تكتب واحده و تضيفها لل msf لازم ruby

ولكن تواجهني بعض الصعوبات في كتابة Exploit : انت ممكن تعمل موضوع فى الحاجات اللى واقفه معاك و نحاول نساعدك :)
ابوفهد
جزيل الشكر ...
أرسلت بواسطة: ابوفهد في July 09, 2011
شرح جميل جداً ، وهذه هي الشروح المفيده في البرمجة لانها تحتوي على امثله عملية .

وخصوصاً لمن تعلم البرمجة سابقاً وعرف ماهي المتغيرات والاف الشرطيه والحلقات .

شكراً لك اخي عبدالمهيمن ونحن بـ انتظارك
Omar Ahmed
...
أرسلت بواسطة: Omar Ahmed في July 09, 2011
abdellatef
لا مشكلة في تحميل الفيديو ببرنامج idm ..
لقد حملته و لا مشكله به ..
يبدو أن المشكلة من عندك ..
==============================
شكراً لك يا عبد المهيمن فقد انتظرنا هذه الدروس طويلاً جداً
عبدالمهيمن الآغا
...
أرسلت بواسطة: عبدالمهيمن الآغا في July 09, 2011
@abdellatef: شكراً على الاضافة.. لم أكن أعلم بوجود هذه الشروحات ولا تقلق الشروحات القادمة ستكون مختلفة ;) بالنسبة لبيئة التطوير التي وضعتها فهي غير مجانية. حالياً أنصح الاكتفاء بمحرر نصوص مثل gedit أو kate في لينكس و Notepad++ في ويندوز.

@FATHY ALQISY: ابقى مركز على الشرح وخليك من صوتي D: وان شاء الله سيكون في شرح جديد كل بضعة ايام.

@thirteen: أحمد ممكن يساعدك في بايثون.. أهم شيء اثبت على لغة واحدة ولا تبقى تنتقل من لغة لأخرى. طبيعي تواجه مشاكل لكن الحل انك تبحث وتجرب مو تقول السبب لغة البرمجة وتغيرها ;)

p3ntester
ثلميذ
أرسلت بواسطة: p3ntester في July 09, 2011
شكرا لك اخي على الشرح فرصة جيدة لتعلم لغة برمجة اخرى سوف اكون متابع الدروس الى الاخر ان شاء الله
سلام
youness
بداية مشجعة
أرسلت بواسطة: youness في July 09, 2011
حاءت في الوقت المناسب عبدو جزاك الله خيرا ...

الاساسيات موجودة .. ماهي الكتبات الاكثر استعمال في روبي ؟؟ لماذا لم تستعمل socket lib ؟
عبدالمهيمن الآغا
...
أرسلت بواسطة: عبدالمهيمن الآغا في July 10, 2011
استخدام sockets ومكتبة http حيتطلب كتابة اكواد وتوضيح اكثر سأقوم بهم بشروحات قادمة ان شاء الله وسأخصص فيديو لذلك. مكتبة open-uri تعتمد في عملها على المكتبات السابقة وهي كافية للمثال الذي وضحته فأنا لم ارد ان اتطرق لامور متقدمة من اول شرح.

بخصوص المكتبات فسؤلك عام جداً :) الموجودة بأساس لغة روبي تستخدم حسب الحاجة. اما المكتبات الاضافية عن طريق ruby gems يوجد لديك موقع ruby-toolbox.com ممتاز جداً للتعرف عليهم.
youness
اه
أرسلت بواسطة: youness في July 10, 2011
شكرا عبدو على التفاعل ... socket lib من اجل كتابة exploit بعيدا ؟؟ قرات على السريع ان socket في روبي نوعان tcpflow و اخؤى لا اذكرها ؟؟
اقصد كتابة exploit في حل من msf

Boubakr
بارك الله فيك
أرسلت بواسطة: The White Angel في July 10, 2011
بارك الله فيك أخي على الشرح
نحتاج لدورات متقدمة لاستخدام الـ Python في الـ Pentest.
خالد عمر
...
أرسلت بواسطة: خالد عمر في July 10, 2011
بارك الله فيك يا اخى الكريم عبد المهيمن
مش جديده عليك دائما تدهشنا بشروحاتك :-*
و لكن لى سؤال هل هذه السلسله سوف تكون كما قولت فى بدايه الفيديو انها لمختبر الاختراق
ام انك سوف تبدأ من الصفر الى الاحتراف ( كما يقال دائما :D ) ;
سؤال اخى هل من الممكن ان احاول ان اقدم مساعده بخصوص بايثون او فى روبى ،
ام يوجد فى احد فى الفريق يعمل على هذا ؟.
دمتم بود
تحياتى / خالد عمر
عبدالمهيمن الآغا
...
أرسلت بواسطة: عبدالمهيمن الآغا في July 10, 2011
@youness: ما علاقة اداة tcpflow بلغة روبي؟ افضل طريقة لكتابة الثغرات في روبي هي مشروع ميتاسبلويت بلا شك بالاعتماد على المكتبات التي يوفرها. اطلع على سورس كود بعض الثغرات وسترى امثلة حقيقية.


@خالد عمر: أجل فأغلب التطبيق سيكون على سكريبتات وبرامج تستخدم باختبار الاختراق. لا هذه الشروحات لن تجعلك محترف بل هي بداية طريق وتعريف باللغة فقط.. الاحتراف يأتي من البحث والممارسة الطويلة وليس بمشاهدة الشروحات أو القراءة. اذا اردت المساهمة فيمكنك ذلك طبعاً :)
prince
...
أرسلت بواسطة: prince في July 10, 2011
مشكورر اخي عبدو على بداية السلسلة وفرصة اكثرمن رائعة لتعلم لغة روبي
في انتظار المزيد من الشروحات
كمال سمير
رد
أرسلت بواسطة: كمال سمير في July 10, 2011
شكرا على هالموضوع الجميل
لاكن عندي سؤال اذا مافي مشكلة
مثلا اريد اكت برنامج لادخال يزور وباسورد
طيب كيف اكدر اطبع مرتين يعني مثلا
print " enter your username :" g
اذا كان اليوزر admin يذهب الى
طلب الباسورد او هكذا
ياريت تكتبلي سورس من هذا القبيل

وسؤال ثاني اذا ما في ازعاج
اكدر اعمل مثل لغة باسكال
يعني مثلا اذا تحقق هذا الشرط اذهب الى السطر
معين

وشكرا وارجو اني ما اكون ازعجتك
youness
...
أرسلت بواسطة: youness في July 10, 2011
ههه ليس tcpflow كنت اقصد tcpsocket ...
thirteen
...
أرسلت بواسطة: thirteen في July 11, 2011
الصعوبات التي اواجها في بايتون غريبة جدا
كنت احاول كتابة استغلال
csrf
معتمدا علي
sockets
ولكن الشئ الغريب ان الاستغلال يحضر
الرد من الموقع اذا كان مكتوب بالانجليزية فقط
جربت حلول كثيرة ولكنها فشلت تماما

و ما يضايقني ايضا مع ان المسافات وطريقة الكتابة مقدسة في بايثون الا انها تتغير من اصدار لاخر
مثال في الاصدارات الحديثة
print‏ ‏('hello world')
الاصدارات القديمة
print‏ ‏'hello world'
وهكذا
مما يجعل من الصعب البحث عن حلول تتوافق مع الاصدار الذي تستخدمه
هذا لان معظم المبرمجين يستخدمون اللغة القديمة قبل التعديلات

كنت اعتمد علي php
في كتابة الاستغلال ولكني الان اريد ان انتقل الي لغة اكثر احترافية
عبدالمهيمن الآغا
رد: كمال سمير
أرسلت بواسطة: عبدالمهيمن الآغا في July 11, 2011
http://code.isecur1ty.org/88

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

استخدام goto line من أسوء عادات البرمجة وأتذكره عندما تعاملت مع Visual Basic في عصور الجاهلية D: لانه سيسبب مشاكل صعب اكتشافها ويجعل الكود سيء جداً. روبي لغة مرتبة وهي كائنية التوجيه object oriented.. أمر لم أتطرق اليه بعد ومتعلق بهندسة البرمجيات وهذا ليس هدف هذه السلسة، ان كنت مهتماً:

https://secure.wikimedia.org/wikipedia/en/wiki/Object-oriented_programming
lnxg33k
...
أرسلت بواسطة: أحمد العنترى في July 11, 2011
thirteen: لما تتعامل مع ال web-application استخدم مكتبة urllib, urllib2

شوف الكود: http://code.isecur1ty.org/89

- الاختلاف بسيط بين python 2.x و python 3.x

مثلا فى python 3 لما نطبع لازم اقواس print (' Hello worl')
والاقواس مش شرط فى بايثون 2

انا استخدم python 2.7
محمود أبوالنور
التحميل ببرنامج idm
أرسلت بواسطة: محمود أبوالنور في July 11, 2011
بداية أشكرك أخي عبد المهميمن على الشرح المميز

أخي abdellatef يمكن تحميل الفيديو من الموقع بواسطة برنامج idm

وأنا حاليا أقوم بتحميل الفيديو بهذا البرنامج

وإذا كنت متأكدا من صحة اعدات البرنامج الخاصة بهذا الأمر

فقط تأكد من إدراج الإمتداد FLV في أنواع الملفات الخاصة بالبرنامج
p3ntester
مشكلة
أرسلت بواسطة: p3ntester في July 12, 2011
السلام عليكم
اخى عبد المهيمن ان اواجه مشكلة مع code.isecur1ty احاول الدخول بنفس الاميل الى مسجل به فى الموقع ولكن بدون جدوى وكداك لعبة التحدي هل هي مقتصرة على بعض الاعضاء ام مادا
شكرا
majed_19845
شكر
أرسلت بواسطة: majed_19845 في July 12, 2011
بارك الله فيك أخي عبد على هذه الخطوة الأكثر من رائعة
وأتمنى منك أن تكمل السلسلة وأن تكون دورة شاملة
وشكرا لك مرة أخرى
عبدالمهيمن الآغا
رد: p3ntester
أرسلت بواسطة: عبدالمهيمن الآغا في July 17, 2011
أرسل التفاصيل لايميل الموقع لأرى ما يمكن فعله.. لم أتابع أي منهم من مدة طويلة
p3ntester
p3ntester
أرسلت بواسطة: p3ntester في July 17, 2011
السلام عليكم

تمام اخى تم ارسال التفاصيل الاى الاميل الخاص بالموقع شكرا اخي على تجاوبكم

مع فائق الاحترام والتقدير
hamza
الفيديو القادم؟
أرسلت بواسطة: hamza في July 17, 2011
متى سيتم طرح الفيديو التالي؟
عبدالمهيمن الآغا
...
أرسلت بواسطة: عبدالمهيمن الآغا في July 17, 2011
اليوم ان شاء الله
Abed
...
أرسلت بواسطة: Abed في July 18, 2011
اذا أمكن عمل سلسلة من الCDs يكون ممتاز
أشكرك جداااااااااااااا
! FiReWaLL2010 !
.....
أرسلت بواسطة: ! FiReWaLL2010 ! في August 02, 2011
مشكور اخي عبدالمهيمن على تعليمنا هذه اللغة الجميله .. التي كنت اتمنى من قبل فتره ان اتعلمها ولكن لم اكن اعلم كيف ابداء :)

على العموم قبل يومين لقيت هذه المدونه للغة روبي بالعربيه ..

قد يستفيد منها البعض هنا ..

http://ruby-arabic.blogspot.com/

تقبل تقديري

اخوك
فايروول
.

أضف تعليق
يجب عليك الاشتراك بالموقع لتتمكن من كتابة التعليقات, الاشتراك مجاني ويستغرق بضع ثوان فقط!
اذا كنت مشترك مسبقا في الموقع فضلاً قم بتسجيل الدخول.

busy
 

SecurityTargets