+ -
当前位置:首页 → 问答吧 → 用汇编是不是可以访问任意内存?

用汇编是不是可以访问任意内存?

时间:2011-05-14

来源:互联网

我不懂汇编,,(一窍不通)

只会点C/C++

1。在C++程序中,我们绝对不可以访问没有申请使用的内存,不然操作系统会咔嚓掉应用程序。
听人说用汇编可以访问任意内存,真的吗?我们C++ C程序最终不也是被编译成汇编二进制代码吗?怎么又不可以?


2。我看到网上视频用Cheat Engine 搜索游戏客户端,找到生命值,魔法值之类的内存地址,然后用VB编程修改对应的内存,
这又是怎么回事?难道VB程序可以访问其他程序的内存空间,而C/C++却做不到?

作者: cuiy0001   发布时间: 2011-05-14

1. C/C++其实也是可以访问任意内存的,只是越界会死的很惨。至于汇编,你不会认为你的CPU是直接跑C代码的吧?所以汇编越界结局没啥差异;

2. VB可以调用Windows API,而Windows API提供了进程空间注入和调试的能力,所以可以修改其它进程空间的数据,C/C++照样可以做,只不过写起来没VB这么省事,特别是做GUI,太麻烦了!
除非你纯命令行使用,否则还是VB/C#好用点

作者: chenm001   发布时间: 2011-05-14

C最后还是跑的汇编代码. 只是调用API实现的注入

作者: kjliaorui   发布时间: 2011-05-14