首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新进程地址空间中的HTML内容

问更新进程地址空间中的HTML内容
EN

Stack Overflow用户
提问于 2015-11-16 14:35:00
回答 1查看 61关注 0票数 0

所有人!

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

我的确很喜欢这个,但它没有用:

  1. 在chrome或IE中,我打开一个网页,其中包含一个字符串"google“。
  2. 打开这个铬或IE进程,搜索进程的整个内存空间中的字符串"google",所以我得到一个内存地址0x01960064。
  3. 我编写了另一个字符串,比如通过API WriteProcessMemory到这个地址的“宝贝”。但在页面中,"google“的字符串并没有更改为”宝贝“。然后我去了0x01960064,这里已经是“宝贝”了。我又搜索了一遍“谷歌”,它在另一个地址,不再是0x01960064了。地址变了。

它为什么这样工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-16 14:41:57

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

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33737855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档