文章预览
创建: 2024-06-28 16:14 https://scz.617.cn/web/202406281614.txt WEB前端逆向初学者的若干备忘。 某案例,几乎每个js都用同一套路混淆过,就反调试而言,主要干几件事: a. 美化检测 b. 无限debugger c. 屏蔽console对象各函数 d. 清Console 先说c,大致意思如下: function any ( ) { }; let pobj = typeof window !== "undefined" ? window : global; let obj = pobj.console; let name = 'log' ; let func = obj[name]; let func_ = any.constructor.prototype.bind( any ); func_.toString = func.toString.bind( func ); obj[name] = func_; console .log( 'invisible' ); 上例是某js替换(屏蔽)console.log的代码。接着说b。 let x = function () { return true ;}.constructor; let y = x( "console.log('ok')" ); x === Function . constructor ; x === Function . prototype . constructor ;
………………………………