Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制内存变量_C#_C++_Memory_Assembly_Masm - Fatal编程技术网

C# 控制内存变量

C# 控制内存变量,c#,c++,memory,assembly,masm,C#,C++,Memory,Assembly,Masm,我不知道该怎么问这个。。我想通过定位内存地址之类的东西来控制存储在内存中的数据。。有点像作弊引擎,但我计划在MASM中这样做,如果它可以很容易做到的话。。如果不是的话,我想用C来做,如果可能的话。我最后的选择是C++。p> 在汇编中,您所能做的就是从特定的内存地址读写。例如: mov eax, 0x12345678 mov 0x87654321, [eax] 将0x87654321写入地址为0x12345678的内存中。你可以在C或C++中做同样的事情: unsigned int *p = (

我不知道该怎么问这个。。我想通过定位内存地址之类的东西来控制存储在内存中的数据。。有点像作弊引擎,但我计划在MASM中这样做,如果它可以很容易做到的话。。如果不是的话,我想用C来做,如果可能的话。我最后的选择是C++。p> 在汇编中,您所能做的就是从特定的内存地址读写。例如:

mov eax, 0x12345678
mov 0x87654321, [eax]
将0x87654321写入地址为0x12345678的内存中。你可以在C或C++中做同样的事情:

unsigned int *p = (int *)0x12345678;
*p = 0x87654321;

我不知道C,但如果它有指针,你可以做

用户进程无法访问其他进程的进程内存。您将需要处理内核。

因此,您希望找到特定模式编号或字符串在哪些内存地址中?然后必须更具体一点,否则。。。操纵另一个进程的内存充其量将是未定义的行为或黑客行为。你到底想做什么?我真的想处理内存中的数据。如我的问题所述,什么数据在什么内存中?进程中的任何物理内存地址或内存或另一个进程中的内存?但VMM将阻止一个进程在另一个进程中读取或写入内存。事实上,两个进程可能在同一地址空间上映射了不同的页面!这不会导致分割错误吗?我想我误解了OP的问题-如果你能读写物理内存,你就可以自由回家了@BlackBear-如果0x12345678是有效指针,则不允许…@Carl modern OS,即所有操作系统都不允许您在程序范围之外执行此操作;只有内核模块才能真正访问所有memory@Will,或引导加载程序,或嵌入式设备,或任何其他低级应用程序……+1这就是作弊引擎的工作方式。可能攻击途径将注入另一个进程;Windows使这相当容易。。。