首页
社区
课程
招聘
[求助]如何计算虚拟地址
发表于: 2020-2-20 16:06 2867

[求助]如何计算虚拟地址

2020-2-20 16:06
2867
有个汇编代码是这样,请问怎么依据 D0271900 计算出这个 1401076D8这个地址?

0305 D0271900         | add eax,dword ptr ds:[1401076D8]  

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2087
活跃值: (472)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
大概是取地址为1401076D8的内存值d1,计算eax+d1,然后把加法的结果值存在eax寄存器吧?
2020-2-20 16:34
0
雪    币: 276
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
gaveu屯烫烫 大概是取地址为1401076D8的内存值d1,计算eax+d1,然后把加法的结果值存在eax寄存器吧?
这行代码是这个意思 关键是怎么计算出1401076D8这个值 汇编这里是D0271900,并不是1401076D8
2020-2-20 16:53
0
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
4
指令地址+指令长度+D0271900
注意:D0271900不可以使用无符号进行计算
2020-2-20 17:37
0
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
5
00401000         je 00401002
比如这条指令,他属于两个字节的je
地址计算方法就是 0x401000+*(char*)(0x401001)+2
等于说 *(char*)(0x401001)相对地址为0
2020-2-20 17:40
0
雪    币: 276
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
刘铠文 00401000 je 00401002 比如这条指令,他属于两个字节的je 地址计算方法就是 0x401000+*(char*)(0x401001)+2 等于说 *(char* ...
谢谢  明白了
2020-2-20 18:37
0
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
感谢分享
2020-2-23 13:18
1
游客
登录 | 注册 方可回帖
返回