逆向學習筆記之彙編02

2021-10-18 10:16:31 字數 2666 閱讀 3116

r代表通用暫存器,m代表記憶體,imm代表立即數,r8代表8位通用暫存器,m8代表8位記憶體,imm8代表8位立即數

mov 目標運算元,源運算元

mov r/m8,r8

mov r/m16,r16

mov r/m32,r32

mov r8,r/m8

mov r16,r/m16

mov r32,r/m32

mov r8,imm8

mov r16,imm16

mov r16,imm32

源運算元:立即數,通用暫存器,段暫存器,記憶體單元

目標運算元:通用暫存器,段暫存器,記憶體單元

二者資料寬度要保持一致且不能同時為記憶體單元

加法指令,最後結果存在前者中

add al,imm8

add ax,imm16

add eax,imm32

add r/m8,imm8

add r/m16,imm16

add r/m32,imm32

add r/m16,imm8

add r/m32,imm8

add r/m8,r8

add r/m16,r16

add r/m32,r32

add r8,r/m8

add r16,r/m16

add r32,r/m32

減法指令,前者減去後者,結果存入前者

sub al,imm8

sub ax,imm16

sub eax,imm32

sub r/m8,imm8

sub r/m16,imm16

sub r/m32,imm32

sub r/m16,imm8

sub r/m32,imm8

sub r/m8,r8

sub r/m16,r16

sub r/m32,r32

sub r8,r/m8

sub r16,r/m16

sub r32,r/m32

與運算,結果儲存到前者

and al,imm8

and ax,imm16

and eax,imm32

and r/m8,imm8

and r/m16,imm16

and r/m32,imm32

and r/m16,imm8

and r/m32,imm8

and r/m8,r8

and r/m16,r16

and r/m32,r32

and r8,r/m8

and r16,r/m16

and r32,r/m32

或運算,結果保留到前者

or al,imm8

or ax,imm16

or eax,imm32

or r/m8,imm8

or r/m16,imm16

or r/m32,imm32

or r/m16,imm8

or r/m32,imm8

or r/m8,r8

or r/m16,r16

or r/m32,r32

or r8,r/m8

or r16,r/m16

or r32,r/m32

異或運算,結果保留到前者

xor al,imm8

xor ax,imm16

xor eax,imm32

xor r/m8,imm8

xor r/m16,imm16

xor r/m32,imm32

xor r/m16,imm8

xor r/m32,imm8

xor r/m8,r8

xor r/m16,r16

xor r/m32,r32

xor r8,r/m8

xor r16,r/m16

xor r32,r/m32

非運算

not r/m8

not r/m16

not r/m32

記憶體與記憶體間移動資料,使用esi和edi暫存器,其中儲存的是兩個需要操作的記憶體位址。每次執行後,esi與edi都會改變。此改變是加還是減取決於df為是0還是1,加減數取決於指令操作位數。

movs byte ptr es:[edi],byte ptr es:[esi] 簡寫為:movsb

movs word ptr es:[edi],word ptr es:[esi] 簡寫為:movsw

movs dword ptr es:[edi],dword ptr es:[esi] 簡寫為:movsd

將al/ax/eax中的值儲存到[edi]指定的記憶體單元

stos byte ptr es:[edi] 簡寫為:stosb,對應al

stos word ptr es:[edi] 簡寫為:stosw,對應ax

stos dword ptr es:[edi] 簡寫為:stosd,對應eax

按計數暫存器(ecx)中指定的次數重複執行字串命令

例如:mov ecx,10

rep movsd

js逆向學習筆記之hook

1 覆蓋原方法 hook示例1 function hello 不修改hello中的 的情況下,呼叫hello 輸出2222 hello function hook示例2 替換js內部的alert使其,在呼叫alert的時候,不再彈出警示框,而是在控制台輸出hello world var origin...

iOS逆向學習筆記 一

1.除錯裝置 iphone 5s 因為從5s開始支援arm64 2.系統版本 ios 9.1完美越獄 1.什麼是ios jailbreak?利用ios系統的漏洞,獲取ios系統的最高許可權 root 解開之前的各種限制 合法行為 2.ios jailbreak的優點 靈活管理檔案系統,讓iphone...

iOS逆向學習筆記 二

1.提高工作效率的工具 iterm2 比terminal的命令列工具要好用的多。go2shell 從finder快速定位到命令列工具 安裝的時候需要先拖拽到資料夾上方,安裝完成後,再從上方託下來。2.mac遠端登入到iphone 我們經常在mac的終端上,通過敲一些命令列來完成一些操作。連線通過ss...