x64下的rip相对寻址
在计算一个地址的时候 是rip+偏移+当前指令的长度,为什么要加当前指令的长度啊 就是跳位置,从当前指令到目标指令跳多少字节,肯定要加咯 无闻无问 发表于 2024-1-3 19:16就是跳位置,从当前指令到目标指令跳多少字节,肯定要加咯
大佬 mov rbx,;像这样一条指令 实际就是 rip + 0x56+当前指令长度 这个地址上的数据放到rbx里对吗 y03051022 发表于 2024-1-3 19:18
大佬 mov rbx,;像这样一条指令 实际就是 rip + 0x56+当前指令长度 这个地址上的数据放到rbx里对 ...
相对寻址计算的是硬编码里面的偏移,但是汇编只是单纯的把0x56地址里面的值 赋值给rbx 下断一步步走 少年持剑 发表于 2024-1-3 19:56
相对寻址计算的是硬编码里面的偏移,但是汇编只是单纯的把0x56地址里面的值 赋值给rbx
像 这样的 lea r10, 我像计算KeServiceDescriptorTable的值是多少应该怎么计算啊 大佬 懂了 谢谢大佬 我倒闷过来了 之前写x64内联汇编的时候遇到过,用RIP相对寻址是为了实现PIC(Position Independent Code),即位置无关代码,好处就是代码不管装入到内存的哪里都可以寻址到需要的数据。
页:
[1]