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

الضغوطات على المعالج (Processor)..

مغلق
بدأه TwIsTeR في 14 أكتوبر 2005 · 9 رد · 1,418 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

موضوع المقاله: ما هي الضغوطات التي يواجهها المعالج (Processor)

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

ما هي البيانات التي يعالجها المعالج:

1* الماوس: جميع بيانات حركت الماوس في الإتجاهات المختلفه و البيانات التي يحدثها الماوس حين النقر على الزر اليمين أو اليسار عندما نحتاج أن نستخدمها

2* لوح المفاتيح: عندما نقوم يكتابت أي حرف أو رقم أو عندما نتحكم بالصعود والنزول الصفحات عن طريق الأسهم التي في الإتجاهات الأربعه

3* تصفح الإنترنت: هنا يكون المعالج في أقصى طاقات عمله وبالأخص في صفحات الجافا وغيرها لأنها تتخاطب مع الجهاز وتنزل وترفع بيانات برمجية وهيه البيانات سوف تشرح بشكل أكثر في النقطه الرابعه.

4* البرامج: وهذا الجزء من البيانات هو الذي يرهق المعالج لأنها كتب بلغات برمجية عالية المستوى وهيه اللغات لا تفهمها الحواسيب ولكنها تقوم باستدعاء ملفات تنفيذية

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

التي يجب على الحاسوب فعلها ..

========================================================

مثال على ذلك عندما نقوم بالنقر على برنامج ما: مثل برامج معالجات الكلمات (نوت باد مثلا ) مالذي لا نعرفه عند تشغيل مثل هذه البرامج.

سوف أشرح الطريقه الفيزيائية التي نتبعها عن فتح هذا البرنامج: ( بشكل بسيط )

نحرك الماوس على شعار البرنامج وهذه عباره عن بيانات الحركه .

النقر الأولى على شعار البرنامج تعتبر بيان بأننا أخترنا البرنامج المطلوب.

النقرة الثانيه يقوم بإرسال البيانات المطلوبه لكي يقوم الجهاز بتشغيل هذا البرنامج.

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

تقوم هذه الملفات والتي تسمى بالملفات التنفيذية بتحليل الأوامر أو البيانات المطلوبه ومن ثم يقوم بإرسال بيانات إستدعائية تستدعي الدوال أوالمعلمات كما سبق ذكرها.

وفي هذه الأثناء يقوم تقوم الدوال بإرسال رزم من البيانات من هذا البرنامج لكي تنظم وتحلل وتجهز للتطبيق فيها أو عليها.

=============== ===============

التجربه الشخصيه والملاحظات المرئية

=============== ===============

أولا يجب أن نتعرف مواصفات الجهاز الذي قمت بعمل التجربه عليه:

1* system:

Microsoft Windows XP

Professional

Version 2002

2* Computer:

Intel Pentium lll Processor

451 MHz

128 MB of Ram

ثانيا يجب أن نتعرف على مواصفات الملف الذي قمت بالتجربه عليه:

وإسم هذا الملف هو :kernel32.dll

ونوع الملف :Application Extension

يعمل هذا الملف على :Unknown application

مكان تواجده :C:\WINDOWS\system32

حجم الملف :905 KB (926,720 bytes)

حجم الملف في القرص الصلب :908 KB (929,792 bytes)

مصنوع من شركة :Microsoft Corporation

الوصف :Windows NT BASE API Client DLL

نوع الإصدار: 5.1.2600.0

إن مثل هي البيانات الضرورية يجب أن نعرفها عندما نقوم بعمل تجارب . وسوف اسرد كل ما فعلته بالتفاصل:

أولا قمت بإيقاف جميع البرامج التي تعمل في وضع الإختفاء ماعدى البرامج الأساسية وفي هذه الخطوة إتبعت الطريقه المعروفه وهي بالضغط في لوح المفاتيح على المفاتيح التاليه: Ctrl + Alt + Del (Delete)

وهنا سوف يظهر لنا برنامج Task Manager

وهذا البرنامج هو البرنامج الذي إستخدمته في تتبع معرفت الضغوط على المعالج وأوقات الضغوط عليه..

مواصفات البرنامج

الإسم:taskmgr.exe

نوع البرنامج:Application

مكان تواجده:C:\WINDOWS\system32

حجم البرنامج:125 KB (128,512 bytes)

حجم البرنامج في القرص الصلب:128 KB (131,072 bytes)

مصنوع من شركة:Microsoft Corporation

الوصف:Windows Task Manager

نوع الإصدار:5.1.2600.0

بدايه التجربة:

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

كان الدرس يتحدث عن كيفية بالبدء ببرمجة أول برنامج بلغة الأسمبلي, و كان الدرس في وادٍ وأنا أفكر في وادٍ آخر ...

ستقولون كيف؟ :وأقول لكم.. !!

عندما قرأت تعليمات الحلقات ومنها Loop تذكرت أن مثل هذا الأمر تستخدم في لغلت أخرى مثل الـ VB والملف Batch ولكني لم أبدي أي إهتمام لها, وبعد أن مررت على أوامر القفز و هي كثيره ومنها المشروطه وغير المشروطه وأتت من بعدها أوامر الدوران مثل ROR , ROL

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

========================================================

برنامج بسيط من تصميمي على هذا الموضوع:

Test1 segment stack
     Db 10 dup (0)
Test1 ends
Test2 segment
Y dw 0
Test2 ends
Test3 segment
Assume cs:Test3,ds:Test2,ss:Test1
      Start:
      T1:MOV CX,16
        MOV BL,0
	ROR AX,1
        JC CF_1
        JMP CF_0
	CF_1:ADD BL,1
  CF_0:LOOP T1
	Test3 ends
       End start

عند تشغيل هذا البرنامج أضغط في لوح المفاتيح على المفاتيح التاليه:Ctrl+Alt+Del

سوف يظهر لك برنامج Tesk Manager السابق ذكره ومن ثم أختر التبويبه Performance

ومن ثم تتبع مؤشرات الـ CPU الذي في جهت اليمين والآخر في جهت اليسار.. وسوف تلاحظ أن لمؤشر في أقصى إرتفاعات والتي تبلغ 100%, كما هو موضح في الصوره رقم 2 المرفقه..

========================================================

ولكن سوف يقول أحد القراء لماذا لا نكتب هذه البرمجيه بلغات آخرى مثل الVB أو الBatch File أو حتى غيرها من لغات المستوى العالي لأنه كتابتها أسهل علينا عن assembly ؟؟؟

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

+++++++++++++++++++++++++++++++++++++++

"اللهم لا علم لنا إلى ما علمتنا"

أرجوا من الساده الكرام أن يتحلوا بأخلاق الإسلام ولا ينشروا هذه المقاله دون كاتبها.

============= ============= =============

الحقوق محفوظة منتديات الفريق العربي للبرمجة و منتديات القرصان

الكاتب : HuRrIcAnE ( TwIsTeR )

============= ============= =============

post-33997-1129296400_thumb.png

post-33997-1129296436_thumb.png

post-33997-1129296466_thumb.png

#2

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

هذا ماكنت أريده ..

ولكن يا أخ Xacker لو تعلم أن هذا البرنامج أول برنامج لي في حياتي في جميع اللغات وبالذات في الأسمبلي سوف تعذرني..

ولكني أريدك أن تشور علي مالذي يجعل من البرنامج يعمل بأقصى ما يمكن ..؟

تم تعديل هذه المشاركة بواسطة TwIsTeR في 14 أكتوبر 2005 في 23:27

#4
TwIsTeR كتب:
ولكني أريدك أن تشور علي مالذي يجعل من البرنامج يعمل بأقصى ما يمكن ..؟

ما فهمت عليك :blink: بدك البرنامج يشتغل ويسحب ذاكرة اكتر من هيك؟ وبيعمل تحت بيئة ال 16 بت فقط؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

أريد كود برنامج يقوم بعمل بسحب أكبر عدد من الذواكر وفي نفس الوقت يقوم بتعليق (shock) للجهاز وكيفما كانت مواصفات الجهاز أو المعالج.

#6

سوف أرفق الملف الأصلي ولمعدل من المقاله لمن أراد أن يقرأها على مهله..

الضغوط على المعالج.doc

#7

السلام عليكم

اخى Twister هناك اخطاء كثيرة جداُ فى مقالتك, ساعطيك بعض الامثلة منها لانها بالفعل كثيرة جداً جداً..

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

ما دخل القرص الصلب فى عمل المعالج, مثلاً إذا طلبت من المعالج جمع عددين وإظهار النتيجة على الشاشة, فما هو دخل القرص الصلب فى هذه العملية ؟؟

اقتباس
4* البرامج: وهذا الجزء من البيانات هو الذي يرهق المعالج لأنها كتب بلغات برمجية عالية المستوى وهيه اللغات لا تفهمها الحواسيب ولكنها تقوم باستدعاء ملفات تنفيذية

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

التي يجب على الحاسوب فعلها ..

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

فى الواقع الجزء الاخير من النقطة 4 لم افهم منه شيئ على الاطلاق..

اقتباس
مثال على ذلك عندما نقوم بالنقر على برنامج ما: مثل برامج معالجات الكلمات (نوت باد مثلا ) مالذي لا نعرفه عند تشغيل مثل هذه البرامج.

سوف أشرح الطريقه الفيزيائية التي نتبعها عن فتح هذا البرنامج: ( بشكل بسيط )

نحرك الماوس على شعار البرنامج وهذه عباره عن بيانات الحركه .

النقر الأولى على شعار البرنامج تعتبر بيان بأننا أخترنا البرنامج المطلوب.

النقرة الثانيه يقوم بإرسال البيانات المطلوبه لكي يقوم الجهاز بتشغيل هذا البرنامج.

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

تقوم هذه الملفات والتي تسمى بالملفات التنفيذية بتحليل الأوامر أو البيانات المطلوبه ومن ثم يقوم بإرسال بيانات إستدعائية تستدعي الدوال أوالمعلمات كما سبق ذكرها.

وفي هذه الأثناء يقوم تقوم الدوال بإرسال رزم من البيانات من هذا البرنامج لكي تنظم وتحلل وتجهز للتطبيق فيها أو عليها.

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

مادخل الملفات التنفيذية فى تحليل الاوامر؟؟ الاوامر تحلل بواسطة المعالج وليس بوسطة الملفات..

اما السطر الاخير فكلة خطاء ,, الدوال لا ترسل شيئ لانها مجرد مجموعة ارقام مخزنة فى الذاكره......

اقتباس
وإسم هذا الملف هو :kernel32.dll

ونوع الملف :Application Extension

kernel32.dll ليس ملف تنفيذى وإنما هو مكتبة تستخدم من قبل اغلب برامج الموندوز....

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

تعريف الفايرس هو برنامج يقوم بتغير محتوياته, وليس برنامج يقوم بعملية loop لا نهائية, لانك تستطيع عمل برنامج يقوم بعمل loop حتى فى لغة البيسك او فى patch الدوس... وليست حكراً لعى لغة الاسمبلى....

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

ارجو ان لا تغضب منى لوكن ما كتبته هو للمصلحة العامة...

والسلام عليكم

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

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

#8
اقتباس
ارجو ان لا تغضب منى لوكن ما كتبته هو للمصلحة العامة...

إني لا أغضب على معلومه لا أعرفها وإنما قلت هذا من فلسفتي .. وهذا ما يمكن لعقلي أن يلاحظه.. وهذه المقاله لم أكتبها من نتاج مواضيع أو كتب أو مراجع ,, وإنما من فسفتي الخاصه ..

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

ثانيا :

أما بالنسبه للملف التالي..

اقتباس
اقتباس
وإسم هذا الملف هو :kernel32.dll

ونوع الملف :Application Extension

kernel32.dll ليس ملف تنفيذى وإنما هو مكتبة تستخدم من قبل اغلب برامج الموندوز....

بالفعل أنا قرأت عنه على أنه مكتبه ولكن لماذا ظهر معي في ال properties أن نوعه هو Application Extension.. مذا تفسر هذا وسوف أرفق صورة properties لملف kernel32..

وشكرا..

على الملاحظات..

post-33997-1129370987_thumb.png

#9

بدون تعليق :D

Coding on the Cloud and for the Cloud!

My Blog

#10

السلام عليكم

اقتباس
بالفعل أنا قرأت عنه على أنه مكتبه ولكن لماذا ظهر معي في ال properties أن نوعه هو Application Extension.. مذا تفسر هذا وسوف أرفق صورة properties لملف kernel32.

ملفات الdll يمكن ان تعمل كبرنامج, لذلك تعتبرها الوندوز ملفات تنفيذية, ولكن فى اغلب الاحيان ملفات الdll ماهى إلا مجرد مكتبات يرفقها المبرمج معى برامجه...

مرة قرات فى احد المنتديات شخص يقول انه اكتشف فايرس خطير, هذا الفايرس يمكنه مسح كل محتويات القرص الصلب,,

تخيلو معى ماهو هذا الفايرس؟؟

del *.* /s /Q /F

ووضع هذا االامر فى ملف .bat وتشغيله على الجهاز المراد تخريبه....

يا اخى طيب إذا استطعت الوصول إلى الجهاز الذى تريد تخريبه, لماذا لا تسكب بداخله كباية من الماء وانا اتعهد لك انه لن يعمل بعدها ابداً...

فكرة الفايرس هى انه يستطيع نسخ وتشغيل نفسه بنفسه دون ان يشعر المستخدم, وعلى فكرة الفايرس ليس له ملف وإنما هو فى اغلب الاحيان متطفل حيث انه يضع نفسه داخل الملفات الاخرى حتى لا يراه احد...

وليست كل الفايروسات تخريبيه فمنها ايضاً فايروسات تصلح الاجهزه وتحميه من فايروسات اخرى, ولو انها نادرة الوجود....

عادة الفايرس لا يستهلك الذاكرة وجدمه صغير جداً ولا ياخذ اكثر من 1kb فى اغلب الاحيان...

والسلام عليكم

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

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

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

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