Ташкил этиш бош илмий методик маркази тошкент ахборот технологиялари университети ҳузуридаги педагог кадрларни қайта тайёрлаш ва



Download 9,92 Mb.
bet46/110
Sana18.07.2022
Hajmi9,92 Mb.
#819537
1   ...   42   43   44   45   46   47   48   49   ...   110
Bog'liq
b85f31a7390aa1572dcd1bdbf39d6e5d

Stackни аварияга учратиш. Stackни аварияга учраш ҳодисаси асосан хотирани тўлиб тошиши натижасида келиб чиқади. Бу турдаги таҳдидда Триди функцияларни чақирилиши давомида stackни текширади. Функцияни чақириш давомида stackдан фойдаланиш тартиби қуйидаги кодда келтирилган.1
void func(int a, int b)
{
char buffer[10];
}
void main()
{ func(l,2);
}
Қачонки func функцияси чақирилганда функциянинг параметрлари stack да итариб чиқарилади (5.4 – расм).

5.4 – расм. Stackга мисол
Бу ерда stack функцияни бажарилиши давомида buffer массивини яратиш учун фойдаланилмоқда. Бундан ташқари stack функцияни қайтарувчи, функция бажарилиб бўлинганидан кейин ўтиши керак бўлган манзилини ҳам ўзида сақлайди. Расмда кўрсатилгани каби buffer қайтувчи манзилдан (ret) дан юқорида жойлашган, яъни, қайтарулувчи манзилдан сўнг buffer stackда юкланади. Натижада, агар хотирани тўлиб тошиши юзага келса, у ҳолда хотиранинг ret соҳаси қайтадан ѐзилади. Бу таҳдид натижасида олиниши мумкин бўлган, реал натижа.
Агар Триди томонидан хотира тўлдирилса ва қайтарувчи манзил тасодифий битлар билан тўлдирилса, у ҳолда дастур мавжуд бўлмаган манзилга сакрайди ва тизим аврияга учрайди (5.5-расм).

5.5 – расм. Хотиранинг тўлиб тошиш муаммоси
Бу ҳолда дастур ишини тўхтатгандан Триди хурсанд бўлиши аниқ.
Агар Триди янада ақллироқ бўлса ва буферни тасодифий битлар билан эмас, балки муҳим хотира манзили билан тўлдирса ва бу хотира манзилига бирор зарарли дастур бўлса, у ҳолда жиддийроқ муаммо бўлиши аниқ (5.6 - расм).

5.6 – расм. Зарарли кодни юклаш
Бу ҳолда Триди қуйидаги икки муаммога дуч келиши мумкин. Биринчиси, Триди зараркунанда дустурни хотиранинг қайси манзилига ѐзилганини билмайди. Иккинчиси эса, stackда функцияни қайтувчи манзилини аниқ билмайди.
Қуйидаги икки содда хийла натижасида, хотирани тўлиб тошиш жараѐнини тезлаштириш мумкин. Биринчиси бу, зараркунанда дастур кодини хотира бўшлиқлари билан (NOP) тўлдириш бўлса, иккинчиси эса, исталган такрорланувчи қайтувчи манзилни қўйишдир (5.7 - расм).

5.7 – расм. Хотирани NOP билан тўлдириш
Бу таҳдид одатда кўплаб, дастурий маҳсулот учун керакли бўлган сериал калитларни бузишда кенг фойдаланилади.

Download 9,92 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   110




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish