吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 975|回复: 4
收起左侧

[求助] 指针操作和系统API的读写函数有什么不同?

[复制链接]
未晴雾香 发表于 2022-2-10 23:02
如题:指针操作和系统API的读写函数有什么不同?
一直想不明白,c++可以直接利用指针读取和修改一块内存区域,
windowsAPI中的ReadProcessMemory和WriteProcessMemory函数也可以用来读写内存,
二者之间有什么区别呢?
难道这些函数在本质上利用指针实现的?还是其他的方式?
请大神指点一二

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

天心阁下 发表于 2022-2-10 23:39
指针只能读自己进程的地址空间(虚拟地址!),进程与进程间互不干扰。
ReadProcessMemory/WriteProcessMemory 是系统的实现,可以读写其他进程的内存,与指针没有半毛钱关系
dbgcode 发表于 2022-2-11 02:27
系统API函数和普通函数没有任何区别,只是完成特定功能的函数。普通函数是软件开发人员设计,系统API函数由系统开发人员,标准库函数也一样。

既然明白了API函数也是普通函数,你的问题就是函数和指针有啥区别?

指针是指向一个具体的对象,它就是一个地址;函数是完成某项功能一个程序代码段。
函数形参可以有指针也可以没有指针,由完成的功能决定。

你的迷惑估计就是在指针指向了一个地址,而函数也具有操作那个地址的功能。
感觉也没啥可说的,差别特别大,指针只是一条指令,一个地址而已。函数是很多指令的集合,给相应参数就能完成对应功能。
tzblue 发表于 2022-2-11 08:30
LZ是不是有这样的困惑,既然利用指针可以修改一个内存区域中的数据,为何还要有ReadProcessMemory和WriteProcessMemory这样的函数存在呢?两者有一个明显区别,就是指针只能够指向本进程的地址空间。这两个API,可以读写其他进程的地址空间。
不苦小和尚 发表于 2022-2-11 08:33
楼上正解,write只是对指针的封装
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 18:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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