吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 474|回复: 7
收起左侧

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

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

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

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

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

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

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

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-19 04:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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