![]() |
1
1
基本思想是,为了允许程序的可移植性和允许不同的程序在同一个系统上运行而不发生冲突,您所看到的基本上就是相对地址,当程序运行时,操作系统将其转换为实际地址。 您需要有地址的原因是为了引用其他指令(如跳转)的地址的指令。 |
![]() |
2
0
没有理由。这就是O/S上的可执行/链接格式决定如何工作的原因。每个体系结构都是不同的,例如,即使在x86和x64上,也可以在随机虚拟地址加载可执行文件,或者每次都在同一个地址加载可执行文件。反汇编程序要么给出文件中的偏移量,要么给出一个虚拟地址,它只是运行时确定的基地址+文件偏移量,可能还有一个节偏移量。这是 高度地 建筑依赖,所以我不能给出具体的答案… |
![]() |
themiurge · C#中的无用变量用于捕获委托的循环反汇编? 8 年前 |
![]() |
Mecki · 为什么otool会截断我的反汇编输出? 8 年前 |
![]() |
AkThao · 反汇编程序是如何工作的,它与反编译程序有何不同? 9 年前 |
![]() |
Xaqron · Win32Dasm折叠点操作错误 9 年前 |
![]() |
Gian U. · javap输出中缺少指令号 11 年前 |