الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مامعنى while(1)

مغلق
بدأه thekingofc في 9 ديسمبر 2004 · 9 رد · 799 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوان هذه العباره حيرتني رايتها في احد البرامج التعليمة وهي كمايلي

While(1)

{

some functions

}

اعرف الدالة وايل واستعمالها ولكن مالم افهمه هو ماالمقصود من الرقم واحد فيها وكيف يعمل

#4

السلام عليكم

اي شئ عدى الصفر يتبر ture , يعنى يمكنك ان تضع اى قيمه بين القوسين فيصبح ناتجها true وبذالك يقوم البرنامج بتفعيل ما بداخل while .

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#5

شكرا لك اخي احمد غريب

واحب اضيف ايضا ان هناك اشكال عديده لجملة الشرط While

حيث ان هناك

While(الشرط)
{
الكود
};

وهناك

do
{

الكود
}
while(الشرط);

وهناك فرق بينهما

فالجمله الاولي لا تنفذ الكود الا في حالة حدوث الشرط

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

تم تعديل هذه المشاركة بواسطة البارودي في 10 ديسمبر 2004 في 01:55

#6

فقط اريد ان اقول هنا ان الاوامر التي داخل الـ While سوف تنفذ الى ما لا نهاية (و هذه حيلة تنفع لبناء فايروس ) .. لأن الشرط دائما متحقق True ..

بنت اليمن ،،

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#8

لايمكن إعتباره فايروسا ,, لكنه شيء مخرب بالنسبة لكل المستخدمين المبتدئين ,, ومستخدمي أنظمة وندوز القديمة 9x ,,

في XP يمكن إغلاق المعالجة فورا بال task manger وينتهي عمل البرنامج المزعج مباشرة ,,

في9x من الصعوبة فعل ذلك بالطرق المباشرة ,,

وإذا كان المستخدم يملك معالج بريسكوت لن يؤثر البرنامج بشيء أيضا لأن المعالج المنفصلة في بريسكوت hyper thrading ,, ستشغل 50 % فقط من قوة المعالج لتشغيل ال process الخاصة بالمخرب :) ,, ولن يعلق الوندوز :) ولن يكون هناك أي تخريب :)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#9

طيب حلو الكلام .. ممكن نعتبره نوع من التخريب ..

لكن ايش رأيكم لو كان من ضمن الاوامر اللي داخل جملة الـ While اقتناص لعناوين النوافذ التي تفتح (بالإعتماد على دوال الـ API ) و في حالة ان النافذة خاصة بالـ task manger يقوم بإغلاقها على الفور .. اما بالنسبة لمعالجات HT ممكن نخلي الفايروس عبارة عن مربع حوار لابد ان يوقف المستخدم من اجل ردت فعل .. كالضغط على زر OK ..

و الآن .. هل ممكن نعتبره فايروس ... ؟ :)

بنت اليمن ،،

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#10

السلام عليكم

هذه الحيله تستخدم فى جميع برامج الوندوز, ليس بالضروره ان يكون الغرض منها التخريب.

لو فتحت شفرة اى برنامج وندوز فى قسم winmain ستجد while من هذا النوع للحصول على الاشرات القادمه من الوندوز ومن ثم تحليلها و إرسالها لل procedure الذى يقوم بدوره بتشغيلها.

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

فى بعض الاحيان ايضاً يستخدم المبرمج if true او if 1=1 وهى تؤدى نفس الغرض, كما انه يوجد فى بعض لغات البرمجه اوامر مماثله مثل forever do حقيقاً لا اذكر فى اى لغه ولكن رايت مثل هذا الامر وهو شئ طبيعى جداً إذا وضعنا شرط الخروج من الحلقه فى داخلها مثل exit او return.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

هذا الموضوع مغلق.

مواضيع مشابهة