彙編複習0x00 暫存器 190710

2021-09-25 04:07:44 字數 890 閱讀 2771

今天覆習了一波彙編,學了點ida操作(學的亂七八糟就不寫了)

王爽的書上是16位,只能起到引導作用,已經不實用了,也就是說學完了那本之後連入門都不算,只能說了解了個大概。

32位系統下:

暫存器:

比16位的前面多了乙個e;

如ip–>eip

但其實,也可以用ip表示。

舉個例子:

eip:11111111

ip: 1111

eax:12345678

ax: 5678

al: 78

ah: 56

可以改變幾個計數暫存器的值,

但不能修改eip的值,

eip的值只能在程序那個視窗中修改,

用ctrl+g

跑到要修改的介面上面去,

右鍵設為新ip

顏色標誌:

最左邊的小塊上面的

顏色,灰底黑字就是正在處於位置,

反正就是那個與其他不一樣的那個。

用那個來判斷是否成功轉ip了。

標誌暫存器:

同樣只有 0,1兩個結果

o :溢位標誌

操作溢位了就會改變

-==乙個小點:

修改完程式後,再次開啟,修改處會變成灰色,可以用ctrl+a變為正常顏色。

p (cs) :

計算對應存在的數(二進位制形式)中1的個數。

偶數就為1

奇數就為0

z (ds) 常見於cmp中

某計算結果為0時成立。

為0時就為1

反之為0

s標誌 符號標誌(fs)

首位符號位:

負數就為1

正數為0

c:進製標誌:

就類似小學學的滿十進一。

按照進製看就歐克

說說RISC V的x0暫存器

risc v有32個通用暫存器,其中第1個暫存器x0硬編碼為0,即讀出來總是0,寫進去總是被丟棄。x0為risc v指令集的簡化可貢獻不少啊。mingdu.zhengatgmail dot com 搞過linux的都知道linux有兩個特殊的裝置 dev zero和 dev null。從 dev z...

x86常用彙編暫存器

32位 16位高8位 低8位eax axah alebx bxbh blecx cxch cledx dxdh dlesi siedi diesp spebp bpe extend,x 邏輯與算數 以上暫存器在物理硬體層表示為半導體,半導體容納01數值最大長寬度32位,也可以表示為乙個低16位,或者...

逆向 1 彙編 0x05 通用暫存器

0x00 暫存器 儲存資料 cpu 記憶體 硬碟 暫存器位數 32位cpu 8 16 32 64位cpu 8 16 32 64 80x86架構未改變,16 32 64位暫存器增加了暫存器的位數,彙編學習路線可以由16 32 64 0x01 通用暫存器 32位 eax ebx ecx edx esp ...