Assembler-də Verilənlər və Adresləmə Rejimləri – Buffer Overflow Hazırlığı
Verilənlər tipləri hansılardır?Little Endian nədir? Yaddaşın segmentləri nələrdir? Adresləmə rejimləri nələrdir?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Little Endian
Little Endian — Bu buferin yığılması əməliyyatının yerinə yetirilməsi üçün konsepsiyadır. İndiki halda bilmək lazımdır ki, İnterl markası olan CPU-ları soldan sağa yox sağdan sola yerləşdirir. Məsələn:
MOV EAX, 2A3B4C5D
Kommandanın yerinə yetirilməsindən sonra EAX registri 5D4C3B2A dəyərini özündə saxlayacaqdır.
Verilənlərin Tipləri
Bəs Assembler dilində hansı növ verilənlər mövcuddur? Aşağıdakı cədvəldə assembler dilində mövcud olan verilənlərin növləri verilmişdir və bunları bilmək əhəmiyyətlidir.
| Tip | Tam adı | Ölçüsü | Assembler direktivi |
|---|---|---|---|
| BYTE | 1 bayt | 8 bit | DB |
| WORD | 2 bayt | 16 bit | DW |
| DWORD | Double Word (4b) | 32 bit | DD |
| QWORD | Quad Word (8b) | 64 bit | DQ |
Yadda saxlayın: bayt – 8 bit, söz -16 bit , ikiqat söz – 32 bit ,4-lü söz isə 64 bitdən ibarətdir.
Yaddaşın Segmentləri
Aşağıdakı şəkilə əsasən biz yaddaşın segmentlərini ələ alacayıq. .text hissəsində assembler dili üçün instruksiya saxlanılır..data və BSS dəyişənlərin saxlanması üçün istifadə edilir. Heap – burada dəyişənləri dinamik olaraq dəyişə və idarə edə biləcəyimiz yerdir.Stack – Son olan stack isə kompilyator tərəfindən idarə olunur.

Adresləmə Rejimləri
Assembler dilində verilənlərin və registrlərin manipulyasiya edilməsi üçün bir neçə adresləmə rejimləri vardır.
Aşağıdakı cədvələ əsasən deyə bilərikki, İmmediate rejimdə operand (məlumat) əmrin özündə sabit olaraq verilir. Yəni, əmrin daxilində birbaşa dəyər yazılır və o dəyər registrə və ya yaddaşa yüklənir.
Register rejimdə operand məlumatı birbaşa registrdə olur. Yəni əmrdə operand kimi başqa bir registr göstərilir və məlumat onun içindən götürülür və ya ora yazılır.
Direct -də isə operand kimi bir yaddaş ünvanı göstərir və o ünvandakı məlumatı götürür və ya ora yazır. Ünvan birbaşa əmrdə sabit göstərilir.
İndirect rejimdə ünvan bir registrdə saxlanılır. Əmr həmin registrdəki ünvana baxır və həmin ünvanın içindəki məlumatı götürür və ya ora yazır.
| Adresləmə rejimi | İzahı | Misal |
|---|---|---|
| Immediate | Sabit dəyər | mov eax, 5 |
| Register | Registrdəki dəyər | mov eax, ebx |
| Direct | Yaddaş ünvanı birbaşa | mov eax, [0x00401000] |
| Indirect | Ünvan registrdə | mov eax, [ebx] |
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat