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

ما هي الذاكرة Heap ?

مغلق
بدأه Ahmed$oft في 20 يوليو 2005 · 6 رد · 1,925 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد وجدت في المنتدى موضوع للأخ الفاضل Jaas عن ثغرة ذاكرة ال Heap ...

فما هي هذه الذاكرة وماذا تفعل؟ وما الفرق بينها وبين Stack?

وكمان قرأت موضوعين للأخ بيج بوس عن الـ Buffer Overflow و Stack Overflow والحمد لله فهمتهم تمام ولكن ما الفرق بينهم وبين ال Heap Overflow?

تحياتي ...

Web Developer using JSP & Servlet

اللهم انصر الإسلام والمسلمين وأهلك الكفرة أعداء الدين

#2

ليك أخي

أنا هجاوبك بما أعرف

المكدس هو عبارة عن جزء من الذاكرة خاص ببرنامج معين

يعني كل برنامج له ذاكرة

و يتم إستخدامه لحفض مكان الرجووع بعد منادات الإجراءات

و هو يعمل بطريقة الداخل أولا الخارج أخرا

أما الكومة فهي عبارة عن جزء من الذاكرة خاصة أيضا ببرنامج

معين

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

عملية الطفح إنك تدفع في قمة المكدس عندما يكون المكدس ممتلئ

و بالتالي يتم هنا عملية OverFlew

سلام

#3
Desigen كتب:
أما الكومة فهي عبارة عن جزء من الذاكرة خاصة أيضا ببرنامج

معين

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

السلام عليكم

الرجاء توضحلي استخدامها اكثر من ذلك وياريت التوضيح بالأمثلة ويا سلام لو كان في كود عشان الفكرة تتخمر في الذهن :rolleyes:

تحياتي ...

Web Developer using JSP & Servlet

اللهم انصر الإسلام والمسلمين وأهلك الكفرة أعداء الدين

#4

المكدس stack و الركام Heap هو عبارة عن هيكل لتمثيل المعلومات Data Structure .

اُستفاد علماء الحاسب من المدكس من خاصيته push-pop في ضخ و خرج المتغيرات المحليه و بارمترات الدوال في لغة السي و اُستخدم في الاسيمبلي لضغ و خرج المعلومات للمسجلات و هناك استخدامات لها كثيره يرجع لكونها هيكل للبيانات فعلي سبيل المثال كتبت مكدس للعبة لضغ احداث اللعبة و خروجها مثلاً push game_menu ثم push level_1 و هكذا ...

الركام هيكل للبيانات استفادت نُظم التشغيل كهيكل بيانات بحجز جزء من الذاكرة له و تعتبر هذه الذاكرة سريعه علي عكس المكدس و استفادت منها لغة السي في التعامل مع المؤشرات و حجز الذاكر ديناميكياً باستخدام الكلمة new .

بخصوص فيض المكدس و الركام - overflow فالمكدس و الركام لهم خاصيه الفيض إن كان هيكل البيانات امتليء بما لا يسمح بتعبئته وهناك طرق لجعله يفيض - استخدم هذه الخاصية بعض الهواة في تحميل ما يسمي shell code داخل مكدس البرنامج المراد قرصنته و التحكم بالبرنامج و سيرفر نت اي حاجه طالما تعمل علي الويندوز ;) .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#5
احمد صالح كتب:
الركام هيكل للبيانات  استفادت نُظم التشغيل كهيكل بيانات بحجز جزء من الذاكرة  له و تعتبر هذه الذاكرة سريعه علي عكس المكدس و استفادت منها لغة السي في التعامل مع المؤشرات و حجز الذاكر ديناميكياً باستخدام الكلمة new .

السلام عليكم

الف شكر يا أحمد صالح ولكن انت ذكرت استخدام الـ Heap من خلال السي ويا ريت تقولي كيفية استخدامها بواسطة الأسمبلي؟ او اي واحد يعرف الجواب (h)

تحياتي ....

Web Developer using JSP & Servlet

اللهم انصر الإسلام والمسلمين وأهلك الكفرة أعداء الدين

#6

إستخدم الداله HeapAlloc لحجز ذاكره فى الـheap وعندما تحصل على مقبض للذاكره يمكنك ان تخزن فيها ما تشاء خلال عمل البرنامج..

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

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

#7
احمد غريب كتب:
إستخدم الداله HeapAlloc لحجز ذاكره فى الـheap وعندما تحصل على مقبض للذاكره يمكنك ان تخزن فيها ما تشاء خلال عمل البرنامج..

الف شكر يا أحمد غريب بس يا ريت لو تعطيني كود او شفرة بلغة الأسمبلي يكون صغير يفهمني اكتر

تحياتي ...

Web Developer using JSP & Servlet

اللهم انصر الإسلام والمسلمين وأهلك الكفرة أعداء الدين

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

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