Greasemonkey 替换网页中的 unityObject 源
Greasemonkey replace unityObject source in webpage
我是 Greasemonkey 的新手,我搜索了很多我想做的事情,但没有找到任何东西。我正在为这个基于浏览器的 Unity FPS 做一些白帽黑客攻击,我试图让网页嵌入一个直接 linked 编辑的游戏文件副本,而不是普通的游戏客户端。
具体来说,我正在尝试更改 this 页面源代码第 335 行 UnityObject.embedUnity() 函数的第二个属性中的 URL。我认为 Greasemonkey 是解决它的方法。
我的困惑来自以下事实:查看源代码 (ctrl+u) 在 javascript 函数中显示该源代码,但在开发工具中使用检查器在嵌入标记中显示函数的结果.我不确定在我的 Greasemonkey 脚本中应该考虑哪些因素。我还没有直接的 link 文件,但我尝试了这个脚本(没有用)(google 只是一个占位符,用于查看文本替换是否有效):
var tags = document.getElementsByTagName('embed');
tags[0].src = tags[0].src.replace('http://oldurl.com', 'http://newurl.com')
我将如何编写脚本来执行此操作?
那个embed
元素是由位于页面<script>
标签内的Unity Player js代码插入的,当浏览器解析它时自动执行。
Firefox 仍然有 beforescriptexecute 事件,您可以在它运行之前使用它来更改该脚本:
document.addEventListener("beforescriptexecute", replacePlayer, true);
function replacePlayer(e) {
var lookFor = 'http://data.warmerise.com/Warmerise/Production/Warmerise.unity3d?5.7.5';
var replaceWith = 'http://google.com';
if (e.target.text.indexOf(lookFor) > 0) {
e.target.text = e.target.text.replace(lookFor, replaceWith);
}
}
我是 Greasemonkey 的新手,我搜索了很多我想做的事情,但没有找到任何东西。我正在为这个基于浏览器的 Unity FPS 做一些白帽黑客攻击,我试图让网页嵌入一个直接 linked 编辑的游戏文件副本,而不是普通的游戏客户端。 具体来说,我正在尝试更改 this 页面源代码第 335 行 UnityObject.embedUnity() 函数的第二个属性中的 URL。我认为 Greasemonkey 是解决它的方法。
我的困惑来自以下事实:查看源代码 (ctrl+u) 在 javascript 函数中显示该源代码,但在开发工具中使用检查器在嵌入标记中显示函数的结果.我不确定在我的 Greasemonkey 脚本中应该考虑哪些因素。我还没有直接的 link 文件,但我尝试了这个脚本(没有用)(google 只是一个占位符,用于查看文本替换是否有效):
var tags = document.getElementsByTagName('embed');
tags[0].src = tags[0].src.replace('http://oldurl.com', 'http://newurl.com')
我将如何编写脚本来执行此操作?
那个embed
元素是由位于页面<script>
标签内的Unity Player js代码插入的,当浏览器解析它时自动执行。
Firefox 仍然有 beforescriptexecute 事件,您可以在它运行之前使用它来更改该脚本:
document.addEventListener("beforescriptexecute", replacePlayer, true);
function replacePlayer(e) {
var lookFor = 'http://data.warmerise.com/Warmerise/Production/Warmerise.unity3d?5.7.5';
var replaceWith = 'http://google.com';
if (e.target.text.indexOf(lookFor) > 0) {
e.target.text = e.target.text.replace(lookFor, replaceWith);
}
}