【问题标题】:Is it possible to change script running clientside on a webpage?是否可以更改网页上运行客户端的脚本?
【发布时间】:2015-09-23 11:12:07
【问题描述】:

所以我在笔记本电脑上玩在线游戏,这是一个非常简单的 html5 游戏,但不存在优化。屏幕上有几个圆圈的游戏占用了我 85% 的 cpu。

从逻辑上讲,我开始分析游戏并试图弄清楚是否可以针对我的笔记本电脑优化它。现在,我想知道的是如何运行游戏,但要使用正在运行的 JS 脚本的调整版本。

如果我尝试保存页面并从我的笔记本电脑运行它,它当然有 CORS 问题,所以我无法访问服务器。

我能否以某种方式更改在我的浏览器中执行的脚本,但仍留在正在运行的“网页内部”,以便我可以正常向服务器发出 XHR 请求?

另外,虽然这不在问题的标题中,但我能否以某种方式将 XHR 请求代理到我的脚本,但又不违反 CORS 规则?

如果我从浏览器和桌面上保存的 HTML 运行相同的东西,为什么会有如此不同?我有相同的 IP 并且正在做同样的事情,但是从 url 看它“感觉就像”我是从其他地方运行它。我可以以某种方式模仿我正在“从网页”运行,而是从修改后的保存的 html 运行它吗?

【问题讨论】:

  • “本地”是什么意思?您的浏览器也是本地的,javascript 也是如此..
  • 这让我很困惑。我缺少术语,但不知道在哪里可以找到它。我将编辑问题
  • 您不是第一个也可能不是最后一个来到这个网站询问如何“修改”agar.io 代码的人。这不是黑客网站,我们无法告诉您如何修改他人的源代码,或如何阻止他们检测到您的“修改”。

标签: javascript html client-side


【解决方案1】:

您可以代理,因为没有跨域保护机制或某种登录方式(这会使事情变得复杂)。

你可以做的是使用一个浏览器扩展,它允许你添加 CSS、HTML和JavaScript。

我并不完全精通扩展,所以我不确定你是否可以修改现有代码,但我猜如果你可以添加任意 JS 代码,你可以很好地将包含游戏的脚本标签替换为基于它的类似个人修改的脚本。值得一试...

Link to getting started with chrome extensions

更新:

如果您打算这样做,代理的数量就是向您的应用程序请求一个 URL,并使用页面 (html) 而不是原始源来执行某些操作。我假设您想更改页面并将其提供给您的浏览器。

考虑到这一点,您将需要以下内容,我不懂 C#,因此您必须在谷歌周围搜索库和实用程序:

  • 一种请求URL的方法(见底部链接)
  • 一种修改页面的方法,你需要一个DOM爬虫
  • 一种通过点击您自己的 URL 来启动所述过程并将其提供给您的浏览器的方法,这意味着您需要某种 网络服务器

I found the following question specifically on proxying with C#

【讨论】:

  • 您对从哪里开始阅读代理有什么建议吗?我实际上想弄清楚如何将其代理到 C# 应用程序。我最困惑的是如何完成对谁在实际运行代码的整个识别以及如何做一些伪装
猜你喜欢
  • 2012-06-29
  • 1970-01-01
  • 2020-07-08
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
相关资源
最近更新 更多