首页
/
每日頭條
/
生活
/
c語言反彙編分析
c語言反彙編分析
更新时间:2026-01-09 02:49:58

「反彙編系列主要是在linux平台下,從彙編層面分析c 的數據類型、函數調用、返回值、分支、循環等底層原理,希望對大家有幫助~」

【目錄】

1-------------x64 中常用的寄存器

2-------------彙編語言中的基本尋址方式

2.1 --------數據尋址方式

要對c 程序進行反彙編分析學習,需要一定的彙編知識,所以這裡就跟大家一些簡單學習下我們後面序列文章所需的知識點。

  1. Intel 指令組成

intel指令主要由以下6部分組成

c語言反彙編分析(C反彙編系列一)1

Fig 1

  1. x86_64 中常用的寄存器

c語言反彙編分析(C反彙編系列一)2

Fig 1

上圖中說明了各個寄存器的用途以及是否是保留它用(上面的蝌蚪文通俗易懂),這裡就不再翻譯贅述了。

  1. 彙編語言中的基本尋址方式

2.1 數據尋址方式

彙編語言中的指令操作的數據主要來自寄存器,立即數,内存。

立即尋址:指令所需的操作數直接包含在指令代碼中,就是常說的立即數且隻能出現在源操作數位置直接尋址操作數來源于(指令中直接指出的地址所指向的内存)MOV AX [2000H],這個方括号的意思是“以括号内的值作為地址,(所指向的内存)中存儲的值”MOV AX,x這裡的這個x是之前在數據段定義的變量,當彙編程序被彙編時,彙編器會計算出x的偏移值,然後替換掉原來的x所以在DEBUG模式下,看到的就不是變量名,而是變量名在數據段中的偏移地址寄存器尋址操作數來源于某個寄存器/是這個寄存器裡存儲的值比如我要把某個16位的數從BX複制到AX,那麼我可以用MOV AX,BX這裡的兩個操作數都是寄存器尋址寄存器間接尋址這就很好理解了,現在括号裡放的不是立即數了,放的是寄存器了,代表操作數在内存中,它的地址的括号内的寄存器中不過這個間接尋址有幾個注意點:1. 寄存器一般使用的是基址寄存器BP\BX或變址寄存器SI\DI2. 完整的形式應該是[段地址]:[段内偏移]3. 當未顯式指定段寄存器時,BX\SI\DI中是相對于DS段的偏移地址,BP是相對于SS段的偏移地址寄存器相對尋址操作數的地址 = 間址寄存器 偏移量同直接尋址一樣,偏移量可以是一個常量也可以是一個符号名或變量名例如MOV AX,[SI 10H]或MOV AX,ARRAY[SI]基址變址尋址操作數地址 = 基址寄存器 變址寄存器例如MOV AX,[BX SI]

2.與轉移地址有關的尋址方式

這四種尋址方式主要運用于轉移指令JMP和過程調用指令CALL首先要了解這兩個東西:标号,過程名(自己看,不講了)

尋址方式講解段内直接就是說我們現在程序運行到這裡需要發生一個轉跳去執行其他地方的一些代碼辣麼這些代碼在哪裡呢我們進行了一些運算,用當前IP的值加上指令中指定的偏移量,得到了一個地址然後我們就要跳到那裡去比如JMP func1偏移量可以是8位或者16位,相對的我們就要使用 SHORT func1或者NEAR PTR func1段間直接這個和段内直接的區别是什麼呢就是一個X86彙編程序,可能有幾個代碼段,當使用段間直接尋址時,需要改變段地址的值,相當于跳到了另一個代碼段,開始執行新的代碼比如JMP FAR PTR func1段内間接跟段内直接的區别是:要轉跳的地址放在了寄存器裡,而不是一個标号(參考一下2裡的寄存器簡介尋址吧)段間間接類似于段内間接,但是,間接尋址的地址不能直接放在寄存器裡,隻能放在内存單元中,而且是一個雙字

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
産後多久還能做産後恢複
産後多久還能做産後恢複
【婦産科醫生的“産後恢複手冊”】月子裡産婦不能洗澡、洗頭,要多躺着、捂着?每當新媽媽“越界”時,總會有人在耳邊提醒:“開窗着涼會落下病根”、“月子裡洗頭,等你上了年紀就有罪受了”、“多吃點肉才能補身體”......敲黑闆的時間到了!婦産科醫...
2026-01-09
孕婦的生活方式
孕婦的生活方式
媽媽懷孕以後,寶寶從受精卵到坯胎再到胎寶,他們成長所依賴的營養全部來自母體,所以孕媽如果懷孕期間營養不良或者不均衡,會直接影響胎兒的大小和發育。孕媽的身體如果沒有條理好,那寶寶出生後的大小肯定會受到影響。那是不是孕期内,寶媽胡吃海喝,各種營...
2026-01-09
防治柑橘大實蠅常用的方法是什麼
防治柑橘大實蠅常用的方法是什麼
防治柑橘大實蠅常用的方法是什麼?加強檢疫措施,嚴禁從疫區調運帶蟲的果實、種子和帶土苗木到無柑橘大實蠅的柑橘産區,防止蟲害蔓延,今天小編就來說說關于防治柑橘大實蠅常用的方法是什麼?下面更多詳細答案一起來看看吧!防治柑橘大實蠅常用的方法是什麼加...
2026-01-09
絲博會日程安排
絲博會日程安排
第六屆絲博會國際館及主賓國國家館逛展指南由陝西省貿促會牽頭承辦的第六屆絲博會國際館于8月14日至18日在西安國際會展中心3号館展出,場館面積10000平方米,邀請到來自烏茲别克斯坦、日本、韓國、英國、俄羅斯、加拿大、加納、巴西等38個國家的...
2026-01-09
韓娛圈為什麼不能提yg
韓娛圈為什麼不能提yg
韓娛圈為什麼不能提yg?現如今不管是哪個年齡段的人,沒點兒八卦充實着這日子似乎過的就太無聊了,娛樂圈作為盛産美女帥哥各種八卦的地方更是首當其沖,于是人們在浏覽各大app時,所謂yxh就是那最奪人眼球抓人視線的八卦搬運工,作為一個長年吃瓜的老...
2026-01-09
Copyright 2023-2026 - www.tftnews.com All Rights Reserved