3 - Маъруза: Такомиллаштирилган статик таҳлил қилиш.
ХУДОЙҚУЛОВ ЗАРИФ ТЎРАҚУЛОВИЧ
КРИПТОЛОГИЯ кафедраси мудири, PhD.
Д бино, 2-қават, 201-хона, zarif.xudoyqulov@mail.ru
Телеграм канал: @CybersecurityCourse
Диссассамберлаш - ЗД яратишда юқорида дастурлаш тилидан фойдаланилади ва машина кодини ҳосил қилишда компиляторлардан фойдаланилади.
- Дизассембрлашда машина кодидан ассемблер код ҳосил қилинади ва уни таҳлиллаш орқали ЗД ҳақида хулоса чиқарилади.
Абстракция - Келтирилган модел содда бўлсада, ҳисоблаш тизимлари қуйидаги 6 та абстракция даражасидан фойдаланади:
- Қурилма (Hardware). Қурилма даражаси физик сатҳ бўлиб, электрик схемалардан иборат ва бу қурилмаларда мантиқий амаллар, XOR, AND, OR ва NOT бажарилади. Сабаби, физик жихоз ёки қурилмани дастурий томондан бошқариш жуда қийин.
- Микрокодлар (Microcode). Микрокодлар сатҳи прошивка (firmware) сатҳи деб ҳам аталади. Микрокодлар маълум аниқланган жихозларга мўлжалланган бўлади. Уларнинг асосий вазифаси юқори машина тилида ёзилган кодларни қурилмага мослаштириб бериш.
- Машина коди (Machine code). Машина коди ўн олтилик саноқ тизимида ёзилган рақамлардан иборат бўлиб, процессорни нима иш бажаришини белгилайди. Машина коди юқори дастурлаш тилида ёзилган кодларни компиляция қилиш жараёнида ҳосил қилинади.
Абстракция - Қуйи даражали дастурлаш тиллари (Low-level languages). Қуйи даражали дастурлаш тиллари инсон ўқий оладиган компьютер архитектураси кетма-кетлиги ҳолати бўлиб, кенг тарқалган қуйи даражали дастурлаш тили бу – ассемблер тилидир. ЗДларни машина коди орқали таҳлил этиш инсон учун мураккаб саналганлиги сабабли, ассемблер тилида ёзилган кодларни таҳлил этиш орқали ЗД ҳақида маълумотлар олинади.
- Юқори даражали дастурлаш тиллари (High-level languages). Кўплаб дастурчилар юқори даражали дастурлаш тилларидан фойдаланган ҳолда ўз иловаларини яратадилар. Юқори даражали дастурлаш тиллари машина тилидан узоқ бўлиб, инсон тушиниши учун анча осондир. Юқори дастурлаш тилларига С, С++ ва бошқаларни олиш мумкин. Бу дастурлаш тилида ёзилган кодлар компиляторлар орқали машина кодига айлантирилади.
- Изоҳлаш тиллари (Interpreted languages). Изоҳлаш тиллари энг юқори даражали тиллар ҳисобланади. Кўплаб дастурчилар айнан шу тиллардан, С#, Perl, .Net ва Java фойдаланадилар. Бу тиллардан ёзилган кодлар машина тилига компиляция этилмайди, балки байткодларда ўтказилади. Байткодлар дастурий кодларни оралиқ ифодаланиши бўлиб, интерпритаторлар орқали машина кодига айлантирилади.
Do'stlaringiz bilan baham: |