首先在「記憶體布局」頁面尋找可讀寫記憶體
找到相應位置
下面每次執行完畢後均重新執行恢復上述情形
設定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 通式分解 位址或偏移 基位址暫存器,索引暫存器,比例因子...