C# 如何从一个看起来像“的指针”中读取;“进程名称”+;地址?

C# 如何从一个看起来像“的指针”中读取;“进程名称”+;地址?,c#,.net,memory,pointers,C#,.net,Memory,Pointers,正如标题所说,我试图从作弊引擎指针扫描中找到的地址中读取。但唯一的问题是,我使用过的指针只有指针地址+偏移量。我正在使用VisualStudio2010中的C#.NET4.0。我想我记得以前看到过一些关于这方面的东西,但我没有想太多,因为这在当时并不适用于我 获取进程或模块ID并将其添加到指针地址,然后添加偏移量并从那里读取?但我记不起获取进程ID或模块ID的命令:/ 这也是我正在使用的5级指针,我只使用了1级或2级指针,但我猜大致相同。只要从指针读取地址,直到我得到一个要写入的基址 如果有帮助

正如标题所说,我试图从作弊引擎指针扫描中找到的地址中读取。但唯一的问题是,我使用过的指针只有指针地址+偏移量。我正在使用VisualStudio2010中的C#.NET4.0。我想我记得以前看到过一些关于这方面的东西,但我没有想太多,因为这在当时并不适用于我

获取进程或模块ID并将其添加到指针地址,然后添加偏移量并从那里读取?但我记不起获取进程ID或模块ID的命令:/

这也是我正在使用的5级指针,我只使用了1级或2级指针,但我猜大致相同。只要从指针读取地址,直到我得到一个要写入的基址

如果有帮助,我的指针如下所示: “ProcessName.exe”+003E6D98


“如果你说为什么你需要使用.NET的指针,这可能会有所帮助”-约翰·桑德斯


我正在为我的一个游戏制作一个教练。我以前做过,只是没有使用这种类型的指针,我完全忘记了如何处理这种类型的地址。我想我必须得到模块的id,但我忘了怎么做了。实际上,我的内存和指针都很好,我通常只有一个平均地址,旁边没有进程名。

OP在问题中得到了回答-作为CW答案

string sProcessName = "MyProcessName.exe";
Process[] MyProcesses = Process.GetProcessesByName(sProcessName);
IntPtr hProcModuleBA = MyProcesses[0].MainModule.BaseAddress;
IntPtr PointerAddr = new IntPtr(MyPointer.ToInt32() + BaseAddress.ToInt32());

这将在进程中搜索sProcessName,并将其添加到数组“MyProcesses”中。我选择了列表中的第一个从中获取基地址。它是40000:)

OpenProcess plus ReadProcessMemoryIt如果您能说出为什么您需要使用.NET的指针,可能会有所帮助。您可以通过循环运行的程序来查找进程名称来创建对进程的引用@约翰桑德斯-我将猜测它,因为他与C是一个家族,不熟悉C++,如果你理解你的行为,处理.NET中的指针没有什么问题。我甚至认为这更容易,因为如果你做错事,你很快就会被告知你做了错事,而不是被允许做错事。@JohnSaunders-他使用C#的理由并不重要。他想要一个C#的解决方案,如果你有能力指导他,你应该这样做。我的知识仅限于过程类。