2017-11-25 169 views
-1

我想编写一个脚本来重新定义现有的obfuscated javascript函数。如何重新定义obfucated的javascript函数

这是我从我的网站上复制的功能。

userAgentKey: function(e) { 
 
      return this.options.excludeUserAgent || e.push({ 
 
       key: "user_agent", 
 
       value: this.getUserAgent() 
 
      }), e 
 
     },

这个函数返回我的浏览器的用户代理(用于指纹识别)。

我想操纵返回值,并希望此函数返回“exampleBrowserUserAgent”。 我没有任何OOP经验。

我的问题是,这并不重新定义我的代码..

function userAgentKey(){ 
 
return "exampleBrowserUserAgent" 
 
}

我怎么能操纵的返回值?

感谢您的帮助!

编辑:网站使用fingerprintjs2.here是链接:enter link description here

+0

请您能提供一个链接到您的网站,或您尝试间接修改的脚本? – TheMintyMate

+0

要操纵您的用户代理,请使用您的浏览器设置。 (请注意,使用不常见的非标准值可以使指纹更容易) – Bergi

+0

我编辑了我的问题。你可以找到fingerprint2.js的链接。谢谢。是的,欺骗useragent会更容易,但我想编写一个userscript,因为我想用随机值操作所有指纹结果(例如来自不同浏览器的随机用户代理) – MoscowDeathBrigade

回答

0

那岂不是更容易只是修改浏览器的userAgent

Object.defineProperty(navigator, "userAgent", {value: "exampleBrowserUserAgent"}); 

当然,你也可以直接修改方法,因为你的脚本访问范围,该方法是,和加载方法,但尚未执行:

SomeObject.userAgentKey = myUserAgentKeyFunc; 

如果您正在尝试更改userAgent,因为您不希望其他人知道您正在使用哪个浏览器,所以您最好只是在开发人员工具中正确更改它,或者创建一个可以为您修改它的扩展程序。

+0

感谢您的解决方案,它对我来说工作正常!我想要一个用户脚本的原因是因为我想编写一个脚本来保存用户从不同的跟踪技术,而无需安装1000个插件或编辑(危险的)浏览器设置(如about:config)。 – MoscowDeathBrigade