組合語言 多種定址方式實現記憶體讀寫

2022-10-08 21:03:32 字數 1337 閱讀 2179

首先在「記憶體布局」頁面尋找可讀寫記憶體

找到相應位置

下面每次執行完畢後均重新執行恢復上述情形

設定ecx=100,esi=004b8000h

結果

設定ecx=100,esi=004b8000h,eax=11223344h

結果

設定ecx=100,esi=004b0000h,eax=11223344h

結果設定ecx=100,esi=004b8000h,edi=00000000h

**結果

設定ecx=100,esi=004b8000h,edi=00000000h

**結果

設定ecx=100,esi=0h

**結果

原理就是把程式所在位址的值搬到其他記憶體,其中其他位址與程式位址一一對應且依次增加,實現了程式的複製。最關鍵的在於「對應且增加」多少次,即ecx的值,這要根據程式大小來計算

設定edi=0h

**如下

其中ecx=1ah是數了數程式有26位元組後加上的,結果如下,完美實現

組合語言定址方式

組合語言的定址方式 彙編有7種定址方式 mov 是組合語言用得最多的語句 他的使用方法 是 mov 目的位址,源位址 下面便通過mov來介紹組合語言的幾種定址方式 1.立即定址 mov ax,1234h 2.暫存器定址 mov si,ax 源運算元和目的運算元 同時為暫存器 3.直接定址 mov a...

組合語言之定址方式

1 固定定址 inherent addressing 特定的單運算元指令,運算元隱含在操作碼中,在固定定址的指令中,運算元被隱含在指令中,不需要執行匯流排週期,執行速度快 例子 1.1 cbw命令,將al中的符號位擴充套件到ah中,形成16位的運算元。比如al中的符號位是1,則執行cbw命令後,ah...

組合語言定址方式(Linux

位址或偏移 基位址暫存器,索引暫存器,比例因子 計算結果 位址或偏移 基位址或偏移量暫存器 比例因子 索引暫存器 其中所有欄位都是可選的。具體如何省略的,會在後面說明。注意,藍色代表使用,綠色代表保被省略的部分。movl 0x1234,eax 通式分解 位址或偏移 基位址暫存器,索引暫存器,比例因子...