首页
论坛
课程
招聘
[求助]我最近在学x64汇编与保护模式,在64位模式下,一直没整明白代码段寄存器是如何加载的。32位是call far 或者jmp far,64位我看书也没整明白,求助大佬帮忙解答下,感激不尽
2021-10-22 20:03 8467

[求助]我最近在学x64汇编与保护模式,在64位模式下,一直没整明白代码段寄存器是如何加载的。32位是call far 或者jmp far,64位我看书也没整明白,求助大佬帮忙解答下,感激不尽

2021-10-22 20:03
8467

我最近在学x64汇编与保护模式,在64位模式下,一直没整明白代码段寄存器是如何加载的。32位是call far 或者jmp far,64位我看书也没整明白,求助大佬帮忙解答下,感激不尽


[注意] 欢迎加入看雪团队!base上海,招聘CTF安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

收藏
点赞0
打赏
分享
最新回复 (20)
雪    币: 207
活跃值: 活跃值 (1198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yy虫子yy 活跃值 2021-10-24 04:20
2
0
64位也是call far / jmp far,但是不能用立即数,只能寄存器
例如:call far [rax] / jmp far [rax]
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 08:10
3
0
这个rax里面是存的什么呢,
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 09:45
4
0
大佬,你双机调试配置好了吗。我捣鼓了半个月了,双机调试硬是没整对,
雪    币: 207
活跃值: 活跃值 (1198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yy虫子yy 活跃值 2021-10-24 15:18
5
0
mb_anxnjeyk 这个rax里面是存的什么呢,
[rax] 指令地址
[rax+8] 代码段
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 17:12
6
0
不太明白,我在x64dbg里面用rax,rax里面高16位是一个段选择子,后面的是一个线性地址,结果运行时,跳不动,报异常
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 17:16
7
0

就是这个样子,我也不知道怎么回事

上传的附件:
雪    币: 207
活跃值: 活跃值 (1198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yy虫子yy 活跃值 2021-10-24 17:51
8
0
mb_anxnjeyk 就是这个样子,我也不知道怎么回事
无效的地址和段,jmp不过去当然报异常
而且,jmp rax 和 jmp [rax] 是不一样的
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 18:32
9
0
那怎么办呢
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-10-24 19:00
10
0
大佬在吗
雪    币: 207
活跃值: 活跃值 (1198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yy虫子yy 活跃值 2021-10-24 20:28
11
0

你是jmp的是[rax+8],那[rax+8]里面就要写入目标指令地址,[rax+0x10]里面写代码段
而且的话,你这个call没有REX.W指令前缀,cpu只会读入32位操作数
先去把32位asm整明白再来看64位吧

最后于 2021-10-24 20:30 被yy虫子yy编辑 ,原因:
雪    币: 162
活跃值: 活跃值 (49)
能力值: ( LV9,RANK:195 )
在线值:
发帖
回帖
粉丝
palkiver 活跃值 2021-10-28 18:39
12
0
汇编基础较差,建议先整整汇编
雪    币: 67
活跃值: 活跃值 (510)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
qiusuper 活跃值 2021-10-28 22:03
13
0
mov rax,xxxx
jmp rax 
雪    币: 67
活跃值: 活跃值 (510)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
qiusuper 活跃值 2021-10-28 22:04
14
0
这里的XXXX 是地址  32系统里占4个字节  64系统占8个字节
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-11-6 16:16
15
0
始终没整对,32位的我知道,64位的我没整对,
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-11-6 16:17
16
0
palkiver 汇编基础较差,建议先整整汇编
大佬,在吗,我最近在学x64硬编码,可是始终加载不了段寄存器
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 2021-11-6 17:10
17
0
段间跳转
雪    币: 5906
活跃值: 活跃值 (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
b!@nk 活跃值 2021-11-6 23:20
18
0
去学汇编,基础都不会,学个屁x64
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 5天前
19
0
我搞定了这个问题了
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 5天前
20
0
yy虫子yy 64位也是call far / jmp far,但是不能用立即数,只能寄存器 例如:call far [rax] / jmp far [rax]
大佬,我现在遇到了一个问题,x64调用门的使用,搞了两天了,还没整对
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_anxnjeyk 活跃值 5天前
21
0
yy虫子yy [rax] 指令地址 [rax+8] 代码段
大佬,可以看看我的另一篇求助吗,
游客
登录 | 注册 方可回帖
返回