gpt4 book ai didi

c++ - 更新进程地址空间中的 HTML 内容

转载 作者:行者123 更新时间:2023-11-30 17:08:17 25 4
gpt4 key购买 nike

大家!

如何通过修改浏览器进程的内存来更改网页中显示的 HTML 字符串?

我确实喜欢这个,但它不起作用:

  1. 在 Chrome 或 IE 中,我打开一个网页,其中包含字符串“google”。
  2. 打开这个 chrome 或 IE 进程,并在进程的整个内存空间中搜索字符串“google”,这样我就得到了一个内存地址 0x01960064
  3. 我通过 API WriteProcessMemory 向此地址写入了另一个字符串,例如“baby”。但在页面中,字符串“google”并没有变成“baby”。然后我去了0x01960064,这里已经是“宝贝”了。我再次搜索“google”,它在另一个地址中,不再是 0x01960064 了。地址已更改。

为什么会这样? :(

最佳答案

字符串可能是对象,因此可能是堆分配的。

堆可能由某些垃圾收集器管理,因此即使您确实找到了正确的地址,也不能保证当您尝试注入(inject)新数据时存在相同的对象。

如果您不知道这一点,垃圾收集器通常会在清理后对堆进行碎片整理..

要解决此问题,您需要确保浏览器进程中的所有线程都已暂停。

关于c++ - 更新进程地址空间中的 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33737855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com