首页
社区
课程
招聘
未解决 [求助]C++读写内存遇到的一个奇怪问题,请各位大佬帮忙
2023-6-18 18:11 5175

未解决 [求助]C++读写内存遇到的一个奇怪问题,请各位大佬帮忙

2023-6-18 18:11
5175



rax = 基址;//不行
rax = startAddress + 0x213DB78;//可以
基址 rax startAddress 都是DWORD64 类型

 

如图所示,我在使用rax = 基址的时候就无法读取数据
但在使用tartAddress + 0x213DB78就可以正常读取
二者输出显示的都是同样的地址;

 

而且我之前试过新建一个DWORD64 新地址 = 0x213DB78;
然后startAddress + 新地址 这样也是无法读取,
我刚接触C++没有多久,希望各位大佬能帮忙回答一下这个小问题,万分感谢:)


[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 0
打赏
分享
最新回复 (3)
雪    币: 267
活跃值: (438)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
linziqingl 4 2023-6-19 15:23
2
0
既然都会用rax 了, 那去看看你编译出来的程序汇编,找找编译、链接参数,生成中间汇编伪代码,看看c语句编译链接出来的对应汇编。通过这些你自然会找到原因,而且会收获不小。
还有一个简单办法: 你的rax 不要用,用自定义变量名,全程不与汇编冲突!
雪    币: 302
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_awlmudka 2023-6-19 20:10
3
0
linziqingl 既然都会用rax 了, 那去看看你编译出来的程序汇编,找找编译、链接参数,生成中间汇编伪代码,看看c语句编译链接出来的对应汇编。通过这些你自然会找到原因,而且会收获不小。 还有一个简单办法: 你的r ...
你好,我用的是64位编译,不能使用汇编,rax是变量名
雪    币: 302
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_awlmudka 2023-6-19 21:02
4
0
已经找到原因了!是我在读取内存的函数中错误的传递了读取长度,导致读取出来的地址过长,而且因为错误的调试方式才没有正确找到问题所在。
游客
登录 | 注册 方可回帖
返回