问题标签 [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.
winapi - ReadProcessMemory 在某些页面上失败 (GetLastError()=299)
我尝试读取进程的所有提交页面(Win7-64)。在大多数页面上它都可以工作,但在少数页面上却失败了。我无法解释为什么。这是我的测试程序(编译x32,在Win7-64中测试):
我厌倦了查看失败页面的 MEMORY_BASIC_INFORMATION 但我没有发现任何奇怪的地方。此外,失败页面的数量因运行而异(平均约为 5)。是什么阻止我阅读这些页面?我是否需要调整进程令牌中的一些权限?
c++ - ReadProcessMemory() 为静态地址返回 0
我试图做的是读取一个静态地址,该地址指向一个具有一定价值的动态地址。但是,如果我尝试读取静态地址,它总是返回 0。读取它的唯一方法是在作弊引擎中将调试器附加到动态地址。但是,我只从动态地址读取它没有问题。
我什至尝试获得调试权限,但这并没有做任何事情。我不知道问题是什么,因为我对 C++ 很陌生。任何帮助表示赞赏。
谢谢你。
编辑
GetLastError() 首先返回 0,然后返回 299
编辑 2
返回
等等
编辑 3 字节读取为 4。
编辑 4
只是为了澄清。
使用 ReadProcessMemory() 直接从 0x74EA46D8 读取返回 0。
如果我打开作弊引擎并将地址 0x74EA46D8 指向地址列表。然后右键单击它并按“找出访问此地址的内容”它可以一下子被读取。启用 SeDebugPrivelege 什么都不做。
动态地址可以正常读取,无需调试权限(只要我手动输入地址或作弊引擎调试地址以便读取静态地址)
它的结构是这样的:
指向我尝试读取的地址的静态地址,除非见上文,否则返回 0 作为“新地址”。
动态地址,包含我要读取的值。如果我手动定义动态地址,这会很好。但如果我不这样做,它会失败,因为 new_address 为 0,除非见上文。
编辑 5
终于发现问题了,之前的地址写错了。该地址是作弊引擎的一部分,真实地址是 0x013CD878,偏移量为 0x4B0。这就是为什么除非我调试它,否则它不起作用的原因。
但我希望其他人能从我的错误中吸取教训:P
python - 带 ctypes 的 ReadProcessMemory
我正在做一个小单人教练。我不知道为什么函数 ReadProcessMemory 不起作用。通常它返回 False 或 True 但在这种情况下什么也没有。GetlastError() 给了我错误代码 6。
c# - 如何使用 ReadProcessMemory 获取托盘按钮文本
我想用 C# 获取 windows7(64 位)上的所有托盘图标,但是当我使用 windows api“ReadProcessMemory”时,无法识别托盘按钮文本。下面的代码
和api声明
问题就在这里
转换后,无法识别字符串“title”,可能像
不知道为什么,求助
winapi - 读取进程内存 Win32
当我输入时,我在 Dev-C++ Win32 中收到此错误:
C:\Dev-Cpp\main.cpp 整数常量上的无效后缀“CDDC”
知道为什么吗?
c++ - ReadProcessMemory 找到一个模式 - 粒度?
我需要在另一个进程的内存中找到一个模式,我正在使用 ReadProcessMemory。由于我使用的是 rabin karp 或类似算法(模式匹配),并且由于 ReadProcessMemory 将内存(ram -> ram)复制到缓冲区,因此涉及到一些轻微的开销。我想知道读取每个的最佳内存量是多少是时候履行我的职责了
我的意思是:ReadProcessMemory(each_byte) 听起来很费时间,而 ReadProcessMemory(all_the_process_memory) 听起来很费空间。是否有最佳权衡或更好的方法来设置读数的粒度?
ios - ReadProcessMemory WriteProcessMemory iOS
是否可以在 iOS 中管理与自身无关的进程的内存?
我的意思是能够在 iOS 应用程序上读取和写入字节,例如 Windows 的 ReadProcessMemory 和 WriteProcessMemory 函数。
我知道我必须在 Objective-C 中编程,但我不知道这些函数是否存在于其中,或者 iOS 的库中是否有它们。或者类似的东西。
有什么提示吗?
c++ - 使用 WinAPI 检索类指针?
在任何人问之前,这里没有恶意。该项目仅用于教育和个人使用,最多被设计为“作弊引擎”或未来可能的反作弊机制。无意以任何恶意方式使用它。
我有以下 3 个项目的解决方案:
- 32 位 MFC 应用程序,允许用户选择要注入的进程
- 32 位 Win32 DLL 通过 VirtualAlloc + WriteProcessMemory + CreateRemoteThread + LoadLibrary 技术注入目标进程
- 用于测试何时发生本地注入的 32 位 Win32 控制台应用程序
在 DLL 中,我创建了以下一组函数:
在 MFC 应用程序将 DLL 注入到控制台测试项目后...
它调用RemoteInitialize()来初始化远程类并将虚拟内存空间中的地址返回给调用者,然后将其本地化为CDeceived类的共享实例。以下是我的处理方式:
...但是本地化类指针似乎没有指向远程类指针,而是在它的虚拟表中保存了几个 NULL 指针,如果您尝试执行其中任何一个,则会导致访问冲突。
我可能应该注意到,我已经通过 OpenThreadToken、ImpersonateSelf 和 SetPrivilege 成功地为 MFC 应用程序提供了适当的调试权限。我是否还必须以某种方式将班级的地址锁定在内存中,也许?是volatile关键字不够用,还是在这里用错了?我需要做什么来检索由 DLL 分配的完全相同的指针?
提前致谢!任何有效的建议都将给予支持。
linux - Mono / Ubuntu中的ReadProcessMemory Win32API?
我已经在 Windows 中编程了一段时间,今天和一个朋友谈论 Ubuntu,我现在很好奇这个功能是否存在。我知道它在 win32api 中,因为我以前使用过它,但它在 Linux 上会在哪里?
有帮手吗?
function - 通过函数传递值
我正在尝试在 VisualC++ 中为 ReadProcessMemory 和 WriteProcessMemory 创建自己的函数,因此我不必在每次创建新函数调用时都输入所有信息。这个项目是 Windows 窗体。这就是问题所在
游戏中的值为 500,但从 Read() 返回的值为 0。不知道我做错了什么。我只是不想在每次单击按钮和复选框时都在我的 Read() 函数中定义所有内容。
谢谢