问题标签 [readprocessmemory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13575 浏览

c# - 如何将 byte[] 数组转换为 IntPtr?

可能重复:
如何在 C# 中从 byte[] 获取 IntPtr

我正在从内存中读取字符串

然后我将此数组转换为字符串。

我现在遇到了一个问题,因为在程序内存中的地址 003A53D4 下有一个指针,它指向一个字符串。如何获取字符串的地址?谢谢 :)

这就是我尝试过的:

它说(大约第 4 行):

值不能为空。参数名称:目的地

当我将 new IntPtr()更改 为 new IntPtr(1) 它说

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

0 投票
1 回答
11347 浏览

c++ - 获取进程的基地址

我正在尝试制作一个从 Minesweeper 读取计时器值的程序。(操作系统是windows 7 64bit)

使用作弊引擎我找到了变量的基地址,但每次运行 Minesweeper 时它都会改变。

我需要做什么才能自动找出基地址?

它与可执行基地址有关吗?

这是我的代码:

0 投票
2 回答
4946 浏览

c++ - 进程的读取进程内存不会返回所有内容

我正在尝试扫描第 3 方应用程序的内存。我已经找到地址了;现在是在0x0643FB78。问题是,我永远无法到达那里,因为LPMODULEENTRY32->modBaseAddris0x00400000并且LPMODULEENTRY32->modBaseSize仅仅是0x006FF000,因此我可以扫描此模块的最大地址是0x00AFF000

这是否意味着我寻找的地址确实存在于另一个进程/模块/线程/某个东西中?我非常有信心我所拥有的过程确实包含地址。那我应该如何访问内存呢?谢谢你。

0 投票
1 回答
2137 浏览

c# - 将进程内存读入字符串

我知道关于进程的一切以及我想读取的地址,但我不知道如何使用 Readprocessmemory 函数。我需要添加一些用途吗?我是用 C++ 做的,但我怎么能用 C# 做呢?

0 投票
1 回答
292 浏览

.net - 如何在外部应用程序中监听一系列内存地址并使用 ReadProcessMemory 回显结果

谢谢阅读,

我正在玩一个在线游戏,以自学一些关于 ReadProcessMemory API 的知识。

我正在尝试使用游戏内聊天室并将其显示在我的应用程序中。使用应用程序,我能够搜索并找到所需数据的内存地址,但遇到了一些困难。

这是我用来从进程内存中读取的代码:

它使用此处显示的 MemoryReader 类:http ://www.vbforums.com/showthread.php?p=3819578

使用这段代码,我每次都能拉出一行聊天,这就是我的问题

  • 数据分布在(006E3218-006E6B46)的许多地址中,从该范围获取所有数据的最佳方法是什么?

非常感谢您花时间阅读本文!

希望你的,

史蒂夫

0 投票
1 回答
494 浏览

linux - 您如何在 Unix(或至少 Linux)中安全地读取内存?

我想读取一个字节的内存,但不知道内存是否真正可读。您可以在 OS X 下使用 vm_read 函数执行此操作,在 Windows 下使用 ReadProcessMemory 或_try / _catch 执行此操作。在 Linux 下,我相信我可以使用 ptrace,但前提是尚未调试。

仅供参考,我想这样做的原因是我正在编写异常处理程序状态转储代码,如果用户可以看到各种内存值是什么,或者知道它们是否无效,它将对用户有很大帮助。

0 投票
2 回答
3861 浏览

c++ - WINAPI ReadProcessMemory 总是相同的地址

我使用 WINAPI 函数从进程(地址:0x58F03C)中读取了一些数据ReadProcessMemory

由于每次重新启动进程时地址都会更改,我想知道是否有办法始终获得相同的地址?必须有一个,因为我看到很多能够做到这一点的“培训师计划”。他们如何获得正确的地址值来读取/写入?

目前,我通过使用 扫描一个值来获得它,CheatEngine并执行下一次扫描以查找更改的值。

谢谢。

0 投票
2 回答
1650 浏览

.net - Marshal.Copy vs ReadProcessMemory / WriteProcessMemory win32 api - 在同一个过程中

我想知道是否有人可以概述在 Windows .NET(C#/VB.net)应用程序中使用ReadProcessMemory/ WriteProcessMemoryoverMarshal.Copy来读取/写入应用程序进程的内存(而不是其他内存)的主要区别、优点和缺点过程)。特别是对于涉及进程内存中任意地址的操作以及将内存块作为字节数组处理(即读/写原始数据)。

在/Marshal.Copy工作的所有情况下都可以工作,还是更具限制性?ReadProcessMemoryWriteProcessMemory

的实现是否在内部Marshal.Copy使用ReadProcessMemory/ WriteProcessMemoryAPI?

澄清一下:我说的是读取/写入调用(拥有)进程的内存,而不是其他进程的内存!

谢谢。

0 投票
1 回答
1581 浏览

vb.net - '一维字节数组'类型的值不能转换为整数,有什么想法吗?

我以前使用以下代码从指针和偏移量中读取内存地址,但是现在我再次使用它并且无法弄清楚我上次是如何工作的,我收到错误“值“字节的一维数组”类型的无法转换为整数”,突出显示 ReadProcessMemory 调用中的 BytesAtAddress 变量。

我已经坚持了大约 25 分钟,任何人都可以向我指出问题所在,因为我确信这很简单。

谢谢!

0 投票
1 回答
356 浏览

c# - 操作 int 和 string 类型以实现函数参数兼容性

我正在使用一个readprocessmemory类,并让它用于读取多级指针并在 label2.text 的最终地址处显示整数。

这适用于我指定基地址的地方(如下所示的“0x40000”):

现在,我不想指定基地址“40000”,而是想使用一个函数来“找出”进程的基地址并将其存储在一个变量中并将其作为参数传递。这是第一部分:

不幸的是,该"Trainer.ReadPointerInteger"函数需要“0x40000”形式的基地址参数。所以我这样做了:

现在我想将变量传递给ReadPointerInteger's第二个参数,我尝试了这个:

看起来这应该可行,但问题(错误)是“Trainer”函数的第二个参数是一个 Int,这对我的新手来说很奇怪,因为我不直观地拥有一个包含的输入参数字母作为 Int。无论如何,我被困在这里,想知道是否有人可以指出如何解决 Int/String 问题?

仅供参考,ReadPointerInteger课程是: