C 逆向筆記9 彙編基礎

2021-10-03 21:10:45 字數 890 閱讀 7740

一 mov 和 lea

mov:

mov eax , [ 00401000]  --- 是取出裡面的值

eax=[00401000]

mov :把後面的值賦給 eax

lea eax, [ 00401000] 

eax=00401000  

二 push  pop  sub  add

push(改變堆疊,存放資料):

push epb==> sub esp,4  + mov[esp],epb   (mov[esp],epb  把epb值放到esp這個位址裡)

pop(彈出資料):

pop *** ==>mov ***,[esp] + add esp ,4  (mov ***,[esp]  陳esp位址裡的值給***)

sub(減): sub eax,1   ==>eax=eax-1 

add(加): add eax ,1  ===> eax=eax + 1 

三 call和堆疊的關係

eip暫存器:指令指標暫存器,**暫存器,儲存著我們將要執行的**

push了call這行**的下一行**。

push eip + jmp(某個位址)

本來是在51fcbc這個位置, 如何去到67d6a0  jmp無條件跳轉

return :

pop eip

逆向彙編基礎

1.1 cpu基本功能 1.1.1 目標 計算機系統中的cpu只能執行機器指令 由機器指令組成的程式,被稱為目標程式,也被稱為目標 計算機系統最終執行的是目標程式 int cf11 void 等價於 xor ecx,ecx xor eax,eax inc ecx ll3 cf11 mov edx,e...

逆向工程之彙編基礎

1.1 暫存器 以下是通用暫存器 除了非通用暫存器還有eip指令指標暫存器 多數字串指令通常把ecx用作計數器,把esi作為源指標,把edi作為目的指標,通常情況下棧操作會使用ebp和esp。除了通用暫存器和eip指令暫存器外還有6個16位段暫存器 段 cs 資料段 ds 棧段 ss 額外段 es ...

逆向基礎之彙編(一)

目錄 1.前言 2.進製 2.1 進製的簡寫 3.資料寬度 4.原始碼 反碼和補碼 4.1 有符號與無符號 4.1.1 無符號 4.1.2 有符號 4.2 編碼規則 4.2.1 原碼 4.2.2 反碼 4.2.3 補碼 5 位運算 5.1 與運算 5.2 或運算 5.3 異或運算 5.4 非運算 5...