首页
社区
课程
招聘
[求助]有关书上第12章的资源"RtlCreateInject"里的64位地址自定位问题
发表于: 2019-11-17 11:54 2129

[求助]有关书上第12章的资源"RtlCreateInject"里的64位地址自定位问题

2019-11-17 11:54
2129
这里的自定位代码是什么意思呢?为什么要and bx,0呢,请大佬指点一下

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 873
活跃值: (531)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
call next会将rip入栈,所以pop rbx就相当于取当前地址。由于写入shellcode的地址是段的开头(申请的内存都是对齐的),所以低16位一定是0,and bx, 0就相当于取当前shellcode的开头,从作用上说和用sub rbx, xxx是一样的。
2019-11-17 14:20
0
雪    币: 1931
活跃值: (63)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
monvvv call next会将rip入栈,所以pop rbx就相当于取当前地址。由于写入shellcode的地址是段的开头(申请的内存都是对齐的),所以低16位一定是0,and bx, 0就相当于取当前she ...
为什么不能用 
call  L001
L001:
   pop ebx
   sub ebx,5
32位就是这样计算的啊?
2019-11-17 17:49
0
雪    币: 12502
活跃值: (3048)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
没说不能这样用。而是为了对齐,你malloc的内存,地址尾数一定是0,但是你的eip的值可能是奇数或者偶数,人家这个手法很聪明。
2019-11-18 13:49
0
雪    币: 12502
活跃值: (3048)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
比如你申请的内存地址尾数是0,但是你的eip是个奇数,那我问你,不告诉你其他条件情况下,你的eip加上或者减去多少才能保证尾数绝对是0,
2019-11-18 13:51
0
游客
登录 | 注册 方可回帖
返回
//