You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript原生代码检测:现有方案缺陷及改进补丁的漏洞问询

原生代码检测的常见缺陷与补丁方案探讨

目前大量关于“原生代码检测”的文章里,多数采用简单的字符串检查WebSocket.toString()来判断原生函数是否被篡改,但这种方法效率低下且极易被绕过。

比如可以通过以下两种方式轻松绕过这类检测:

方式一:使用Proxy拦截toString调用

window.WebSocket = new Proxy(window.WebSocket, {
  get(target, property){
        if(property == 'toString'){
            return () => 'function WebSocket() { [native code] }'
        }
      return target[property]
     }
})

方式二:直接重写toString方法

window.WebSocket.toString = () => {return 'function WebSocket() { [native code] }'}

经过思考,我构思出一种可行的补丁方案,现将该方案附于下方,想请教各位对该方案的看法,以及是否存在漏洞?


内容的提问来源于stack exchange,提问作者RovenA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 06:41:30