吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 656|回复: 7
上一主题 下一主题
收起左侧

[已解决] x64下的rip相对寻址

 关闭 [复制链接]
跳转到指定楼层
楼主
y03051022 发表于 2024-1-3 18:39 回帖奖励
在计算一个地址的时候 是rip+偏移+当前指令的长度,为什么要加当前指令的长度啊

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
无闻无问 发表于 2024-1-3 19:16
就是跳位置,从当前指令到目标指令跳多少字节,肯定要加咯
3#
 楼主| y03051022 发表于 2024-1-3 19:18 |楼主
无闻无问 发表于 2024-1-3 19:16
就是跳位置,从当前指令到目标指令跳多少字节,肯定要加咯

大佬 mov rbx,[0x56];  像这样一条指令 实际就是 rip + 0x56+当前指令长度 这个地址上的数据放到rbx里对吗
4#
少年持剑 发表于 2024-1-3 19:56
y03051022 发表于 2024-1-3 19:18
大佬 mov rbx,[0x56];  像这样一条指令 实际就是 rip + 0x56+当前指令长度 这个地址上的数据放到rbx里对 ...

相对寻址计算的是硬编码里面的偏移,但是汇编只是单纯的把0x56地址里面的值 赋值给rbx
5#
alicc 发表于 2024-1-3 20:04
下断一步步走
6#
 楼主| y03051022 发表于 2024-1-3 20:05 |楼主
少年持剑 发表于 2024-1-3 19:56
相对寻址计算的是硬编码里面的偏移,但是汇编只是单纯的把0x56地址里面的值 赋值给rbx

像 这样的 lea     r10,[nt!KeServiceDescriptorTable] 我像计算KeServiceDescriptorTable的值是多少应该怎么计算啊 大佬
7#
 楼主| y03051022 发表于 2024-1-3 20:24 |楼主
懂了 谢谢大佬 我倒闷过来了
8#
DEATHTOUCH 发表于 2024-1-3 23:57
之前写x64内联汇编的时候遇到过,用RIP相对寻址是为了实现PIC(Position Independent Code),即位置无关代码,好处就是代码不管装入到内存的哪里都可以寻址到需要的数据。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表