الى اى شخص يواجه مشكلة أو يريد معرفة أو عنده جديد
الى اى شخص يواجه مشكلة أو يريد معرفة أو عنده جديد
اكون شاكر و ممنون ادا ساعدتني و حليت لي هالبروجيكت
أنا اسف جدا و متزعلش منى انا هنا فقط للمهتمين
يعنى الذى يحاول و لكن عنده مشكلة معينة و bugs وليس لحل تمارين كاملة
كما قلت انا هنا للمساعدة و لكن ما تطلبه لن يساعدك فالمهتم بأى لغة برمجة لا يسأل عن حل كامل بل و فى بعض الاحيان لايسأل حيث يريد ايجاد الحل بمفرده
على العموم انا جاهز لاى مساعدة لمن يهتم فقط
what do u think about making a contest between the members in programing
و الجهل زاد فى البتاع, لا مقرى ولا منقول...
what do u think about making a contest between the members in programing
و الجهل زاد فى البتاع, لا مقرى ولا منقول...
أهلا أمجد
فى جميع الاحوال السعى للمعرفة شئ ضرورى فلا يوجد احد يعرف كل شئ و يمكنك ان تعرف لاى درجو وصلت عن طريق ان تسأل نفسك بعد فترة من تعلمك لاى مهارة تحس انك تعرف كل شئ عنها و لكن كلما زاد علمك بها سوف تكتشف انك لانعلم شئ ( انك تعلم بالفعل و تعلمت الكثير) و لكن يكون هذا احساسك ان هناك الكثير لم تتعلمه
و عالعموم لابد من التنافس لكى تنمى مهاراتك و مثالا على ذلك لقد بدأت فى لغة c من 9 سنوات و بمجرد ان مرت 6 شهور اكتسبت فيها مهارة عالية و لم يكن بين اصدقائى من يماثلنى فكنت احسنهم اتعرف ماذا حدث ؟ ادى ذلك الى تركى لتنمية مهارتىفى اللغة لمدة 3 سنوات و انا استخدم ما تعلمته فقط و ذلك لاحساسى اننى الاحسن و لم اعاود تنمية مهاراتى مرة اخرى الا بالدخول الى الانترنت و التعرض لاشخاص لهم خبرة اكثر منى و هنا لا نتكلم عن السنحيث كان منهم من هو اصغر منى و لكنه احسن منى
انا اتكلمت كتير انا عارف و لكن هناك شات كتير للاجانب فى البرمجة و لم ارى مثل هذا للعرب الذين اصبحوا مجرد مستخدمين للجهاز حتى البرمجة التى نتعلمها ما هى الا لتجعلنا مستخدمين و اخص بذلك جميع لغات الفيجوال
اتمنى ان تكون مهتم باللغات الاصلية التى تجعلك حر لاستخدام اى نظام تريدهاو كل الانظمة
i totally agree with u
i beleve that true programming is a mind set, a way of thinking that person must learn, not just knowing some tools and memorizing functions and
techniques
which is really happining with the so-called programmers, that VB is the onlt thing they know about programming
u c my self i started be learning C, i spent about two years in that, and ofcourse i didn't acheve perfection, just got the mind set of structured programming< then i thought it's time to shift up to OOP programming with C++, which was great my next step as i plan is to move in two defferant directions at the same time.. learning VC++ and GCC , u know to be familier with the boath worlds of microsoft and linux
also i was very interested in your post because u mentiond GCC, which mean that u r a linux developer, which is very rare in arabic countrys
so, i beleve that a contest is a good idea to get to know the true programming minds in this forum<and i think this will help us all to improve ourselves
what do u think?
also sorry 4 replying twice<i think it was an error on the connection..
التعديل الأخير تم بواسطة amgadpasha ; 25-05-2004 الساعة 01:44 AM
و الجهل زاد فى البتاع, لا مقرى ولا منقول...
شكرا على ردك لو تقدر تكتب بالعربى يكون أفضل يا امجد لانك بكتابة الانجليزى تخص بالعلم من يعرف الانجليزية فقط يمكننا كتابة مصطلحات البرمج بالانجليزى و لكن ياريت الشرح بالعربى
oop- object oriented programming
بمجرد ذكرك ل oop من الاكيد انك من المهتمين فعلا و نصيحة لا تضيع اى وقت و اتجه اليها مياشرة فستعطيككمية كبيرة من المتعة فى البرمجة
وعالعموم انا استخدمت gcc under linux لسبب مهم جدا
عند كتابة اى برنامج بالسى يتعامل مع الذاكرة بشكل مباشر سواء real mode - protected mode memmory
يكون هناك كمية bugs كتير و هذه هى المشكلة ففى نظام microsoft dos- windows
بمجرد ان تختبر برنامجك مرة و اثنين و كان به خطأ متعلق بالذاكرة سيتوقف الجهاز عن العمل فتضطر الى اعادة تشغيل الجهاز مما يضيع مجهودك الزهنى و يشتت أفكارك و لكن فى linux لا يحدث ذلك نهائيا مما يجعلك تشعر انك على نظام ثابت تماما
لكن الفروقات بين gcc ,c or c++,g++ not in bases فهذه ميزة السى انك تكتب بها على اى نظام
عندى سؤال بعد اذنك اريد معرفة عمرك انا 26 سنة و كام سنة ليك فى البرمجة عموما سواء بالسى أو غيرها
اذا كنت تعرف حاجة من هذه الكلمات ياريت تجاوبنى حتى اذا تكلمنا عن البرمجة كلا منا يعرف مستوى الاخرلكى يفهم كلا منا الاخر
assembly , interrupt,registers ,ports ,real mode mem ,protected mode mem ,
حسنا, فى البدايه انا عمرى 20 عام, و بدأت الأهتمام بالبرمجه منذ حوالى 5 سنوات
بالنسبه للمصطلحات التى ذكرتها(لا أعرف إذا كان هذا أختبار أم ماذا, لكن على اية حال)
assembly: لغة التجميع, واحده من لغات المستوى المنخفض(low level language)من الممكن أن تعتبر اللغه الوحيده فى هذا المستوى, عباره عن أختصارات باللغة الأنجليزيه لأوامر المعالج(machine language instructions)و بالتالى فلكل معالج يوجد برنامج (assemblerمجمع ؟)وهو البرنامج المستخدم لتحويل أوامر اللغه الى لغة الأله..
interrupts: لا أعرف ترجمتها للعربيه (مقاطعات؟) هى دوال(functions) يقدمها نظام التشغيل و المعالج للقيام ببعض الوظائف فى اجزاء الكمبيوتر مثل الأدخال و الأحراج, يمكن التفكير فيها مثل ال (system calls)يمكن إستخدامها فى اللغات التى تسمح بكتابة أوامر تجميع(مثل ال سى)
regesters:مسجلات؟ هى اجزاء من الذاكره موجوده بالمعالج الدقيق,بعضها ممكن التغيير فيه عن طريق المبرمج, هى أيضا غالبا تستخدم مع اوامر التجميع لتنفيذ دوال خاصه بالمعالج
ports:منافذ؟ هى الواجهات مع الأجزاء الصلبه من الجهاز, مثل اجزاء الأدخال و الأخراج, الذاكره الخارجيه(القرص الصلب و مشغلات الأقراص), كروت الأضافه مثل المودم,الطابعات مثلآ, و أيضا منافذ الأتصالأت مع أجهزه أخرى(com ports) سواء توالى أو توازى
real mode memory mangment:وسيله لأداره الذاكره تسمح للبرنامج بالدخول على كافة اجزاء الذاكره(segments), بما فيها الذاكره المخصصه لبرامج أخرى, او المخصصه لعمليات نظام التشغيل
protected mode memory mangment:وسيله لأداره الذاكره لا تسمح للبرنامج بالوصول إلا الى أجزاء الذاكره المخصصه له
هذان المصطلحان بالذات يمكن الكلام عنهم للكثير من الوقت, وذكر مزايا و عيوب كل طريقه مع ذكر أدواتهم و تطوره مثل
DPMI,selectors and descriptors, segments and offsets, paging and virtual memory, and XMI and VCPI
أعتقد أن أصعب شىء فى الدنيا هو شرح الكمبيوتر باللغه العربيه , لكنك معك حق فى تعميم الأستفاده على الجميع, أذا كنت أغفلت ترجمة احد المصطلحات أو أذا كانت أحد الترجمات غير دقيقه أو صحيحه أرجو تنبيهي..
و الجهل زاد فى البتاع, لا مقرى ولا منقول...
هلا والله يالغالي ,,
أنا صراحة من المتعلمين للغة الـC والـ++C وأقدر أبرمج برامج بسيطة لكن مو كبيرة
وأنا اهتمامي هو الأمن والاختراق اسمحولي
وابغى اعرف هل عند واحد فيكم خبرة في كتابة الـbof = Buffer OverFlow ؟؟
او هل عند احد فيكم خبرة في برمجة الثغرات يعني Art OF Exploitation ??
ياليت تجاوبوني ؟
Miss Congenialty : is always Sandra Bullock
اولا يا امجد ده مش اختبار و لكن لمعرفة اين انت حتى لا نتكلم فى اشياء كان من الممكن الاتفهمها و لكن من الواضح انك ممتاز ممتاز و تستطيع القول انى ممكن اغير منك بسسبب سنك و معرفتك فانا فى سن العشرين لم تكن عندى كل هذه المعلومات حيث كما تعلم من الصعب جدا الحصول على اى كتاب به معلومات خاصة او الشرح باستفاضة و جاءت هنا فائدة الانترنت و سهولة البحث عن اى معلومات تريدها
المهم نبد أ الجد : انت عملت اى برنامج كامل بالسى حتى لو صغير ؟ و ما هى اقصى حدودك مع السى اى استخدمتها مثلا مع صفحات الانترنت cgi او عملت بيه مثلا برنامج للتعامل مع الانترنت او برامج جرافيك او data base
القصد اى ما هو اهتمامك فى نوع البرمجة بالسى
انا خاليا باكتب برنامج لعمل data base file عبارة عن ملف يشبه dbf و لكن بطريقة جديدة مع اضافة بعض الخصائص الخاصة له
اقول لك معلوماتك ممتازة ويا ترى تعرف فى hardware كويس يعنى مثلا جربت ان تتحكم بغرفتك عن طريق printer port و برنامج interface بالسى
ماذا تقصد ب كتابة buffer overflow
اذا كنت تقص ببرامج الاختراق برامج client - server
مثل برامج sub7 or netbus او ماشابه فهى مثل اى برنامج بسيط فمثال انك عملت برنامج به كمية من الشروط و يطلب منك ادخال رقم فاذا كان الرقم 1 اقفل الجهاز و اذا كان 2 انسخ ملف معين و اذا كان 3 افعل كذا و كذا
فالبرنامج يتكون من جزئين جزء يعمل عند الضحية و هو عبارة عن برنامج server و مهمته انه ينتظر و يستمع و يستقبل اى بيانات تأتيه من port معين انت محدده فى برنامجك و على اساس البيانات التى تصله يتم التصرف
و الجزء الاخر من البرنامج يكون عندك client و هو لارسال البيانات الى الجهاز الضحية
وهذه هى الفكرة العامة للانترنت
يمكنك ان تعتبرها مثل رسيفر الاقمار الصناعية حيث انك تتوجه الى مجموعة قنوات و كل قناة لها طريقة تشفير ولا يمكنك ان تستقبل بيانات من اى قناة االا بشرطين (ان تكونعلى تردد القناة و ان تعرف تشفير القناة)
كذلك فى الانترنت للدخول الى جهاز (يجب ان تعرف ip و ان تعرف ال port المفتوح وطريقة تشفيره)
للتوضيح
التصفح http لكى تستقبل التصفح يقم المتصفح لديك بفتح port 80 و تأتيك البيانات و يمكنك استقبالها بعمل برنامج بسيط و لكن اذا رأيت هذه البيانات لن تفهم معظمها و لكن المتصفح لديك به طريقة التشفير فيستقبل هذه البيانات و يعرضها لك فى شكل الصفحة
توقعت ان ماراح يفهم معنى الـbof الا قليل لانها مصطلح يستخدم في الامن والاختراق اكثر من البرمجة
اخوي الـBuffer Overflow يعني انك حجزت مساحة في الـMemory لـString مكون من 10 حروف وانت تضيف 11 فكذا راح يصير عملية طفح دارىء بالعربي وبالانجليزي buffer overflow
اتمنى تكون فهمت وش اقصد
وبالنسبة لبرمجة برامج الاختراق انا صراحة مللت من البرمجة بالفيجوال بيسك ابي اعرف كيف يتم برمجة برامج الاختراق مثل sub7 بالسي ++ او بالسي او بالفيجوال سي ++ فياليت ترد ؟؟
Miss Congenialty : is always Sandra Bullock
او كى
أنا أهتماماتى فى السى لغاية دلوقتى مش حاجه محدده, لكن يعنى بميل شويه للحاجات اللى ليها علاقه بالكمبيوتر.. يعنى باحاول أبعد عن الحاجات اللى هيه إستخدام الكمبيوتر لتسهيل الشغل فى حاجه ملهاش علاقه بالكمبيوتر, زى الحاجات ال business related ya3ne, information mangment, CRM , databases, يعنى مابحبش الحاجات دى مش عارف ليه و برضه بكره جدآ الجرافيكس, مثلآ بحب ال operating systems we el compilers, networking shwaeah بحس إن هى دى فعلآ ال compuuer science, u know Vs. information systems
لغاية دلوقتى أنا عملت برامج كتير جدآ بالسى سواء فى الكليه أو مع نفسى, يعنى أنا بفتكر إن مش الحاجات اللى عملتها هى اللى تقدر تحكم بيها على مستوى حد.. متهيئلى الواحد بيوصل لمستوى معين بيبقى قادر يحدد فيه الحاجات اللى يقدر يعملها أو ميقدرش منغير مايبتدى شغل ..
انا هقولك اكتر برنامج أنا عملتو و فخور بيه لأنى فعلآ تعبت فيه أوى, الكلام ده كان من 3 سنين, أكيد دلوقتى كنت هاعملو بسهوله أكتر, هو برنامج سهل على أى حال بس متعب..ببساطه برنامج بيعمل عمليات حسابيه على المصفوفات.. بس العقده هى: ضرب المصفوفات وهى متخزنه فى arrays بعد واحد one dimension
بالنسبه لموضوع الهاردوير المشروع اللى إنت بتتكلم فيه ده بالذات كنت عايز أعمله من سنتين ولا حاجه(لأنى فعلآ بأكسل أطفى النور قبل مانام) هوا البرنامج سهل جدآ بس المشكله فى الدايره بتاعت مفتاح الريلاىrelay لقيت أن الموضوع هاياخد وقت و كان عندى أمتحانات ساعتها فكسلت..لو تحب نشتغل فى الموضوع ده أو لو كنت إنت عملته أنا مستعد..
و الجهل زاد فى البتاع, لا مقرى ولا منقول...
أنا اللى أعرفه إن موضوع ال over flow ده كان من زمان قوى older versions of UNIX and windows , صعب دلوقت تلاقى system تقدر تضربه ب over flowلأن كل المبرمجين اللى بيكتبو برامج ليها علاقه بل security بياخدوا بالهم من الموضوع و بيحطوا كود بي chick على ال inputs بتاعت أى variable..
على أى حال أل over flow مش بيتكتب خالص..
إللى بيحصل أنك بتشوف السيرفر اللى أنت عاوز تدخل عليه بيستخدم برنامج أيه بتحاول تجيب السورس كود بتاع البرنامج ده ممكن بل reverse engineering ,decompiling the system و تشوف الأجزاء اللى تقدر تعمل over flow عليها وبعدين تروح تكتب برنامج صغير يبعت ال data ديه للجزء ده من ال system..
أما عن ال Exploitation أعتقد إن أشهر حاجه دلوقتى هى ال back doors إزاى تقدر تغير فى ال system إللى إنت عايز تضربه بحيث يشتغل لحسابك, سواء عن طريق إنك ترمى trojan hourse وتسيبو يشتغل, أو إنك (ودى إللى فعلآ حركه جامده ) تشوف واحد من ال serveces إللى بتشتغل على النظام إللى إنت عايز تضربه,تكتب واحده زيها (أو تجيب السورس كود بتاعها لو لقيته), تزود عليها ال back door للى إنت عايزه و بعدين تبدل النسخه اللى موجوده على السيرفر بنسختك من غير ما ال admin ياخد باله ..الطريقه دى بتضمنلك دخول كامل على الجهاز اللى إنت عايزه و بالطريقه إللى إنت عايزها
أنا كنت قريت مقال عن الموضوع ده مره فى حته, لو عايز معلومات عنه ممكن أدورلك..و لو إنت عندك معلومات زياده عنه يا ريت تفيدنا
و الجهل زاد فى البتاع, لا مقرى ولا منقول...