如何重新定义一个obfucated javascript函数

时间:2017-11-25 19:51:43

标签: javascript function redefine

我想编写一个重新定义现有混淆javascript函数的脚本。

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



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




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

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

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



function userAgentKey(){
return "exampleBrowserUserAgent"
}




我该如何操纵返回值?

感谢您的帮助!

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

1 个答案:

答案 0 :(得分:0)

仅修改浏览器的userAgent会不会更容易?

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

当然,您也可以直接修改该方法,因为您的脚本可以访问该方法所在的范围,并且该方法已加载但尚未执行:

SomeObject.userAgentKey = myUserAgentKeyFunc;

如果您尝试更改userAgent,因为您不希望其他人知道您正在使用哪个浏览器,那么最好只需在开发人员工具中更改它,或创建一个修改它的扩展程序对你而言。