前端代码混淆后怎么防调试?控制台一打就崩了
我最近在搞一个付费的H5小游戏,为了防止别人直接扒代码,用了webpack加了Terser做混淆,还加了点反调试的代码。但上线后发现,只要用户打开DevTools,页面就直接白屏或者卡死,体验太差了。我试过网上那种覆盖console.log的方法,但好像没用。
比如下面这段简单的防调试代码,本地测试没问题,但放线上就不行:
<script>
(function() {
let devtools = false;
setInterval(() => {
if (devtools) return;
console.log('check');
devtools = /./.test(/./);
}, 1000);
})();
</script>
有没有更稳妥的防调试方案?既不让代码被轻易读,又不至于把正常用户搞崩溃?
暂无解答