簡體   English   中英

組裝說明地址

[英]Assembly instruction address

為什么每次我反匯編相同的.exe文件時,相同的指令都在相同的地址中? 那是什么地址(RAM?HDD?虛擬?)?

基本思想是,為了允許程序的可移植性以及允許不同的程序在同一系統上運行而不會發生沖突,您所看到的基本上是相對的地址,當程序運行時,操作系統會將這些相對的地址轉換為真實的地址。

您根本需要地址的原因是引用其他指令(例如跳轉)地址的指令。

沒有理由。 這就是該操作系統上的可執行文件/鏈接格式決定如何工作的方式。 每種架構都是不同的,例如,即使在x86和x64上,可執行文件也可以加載到隨機的虛擬地址,或每次加載相同的虛擬地址。 反匯編程序將在文件中提供偏移量,或者在虛擬地址中提供虛擬地址,該地址只是運行時確定的基址+文件偏移量,也可能是節偏移量。 這是高度依賴於體系結構的,因此我無法真正給出具體答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM