Chrome开发者工具

详见Chrome开发者工具

js调试/定位方法

Chrome 技巧

F12 -> Settings -> Preferences -> Sources -> 勾上 Search in anonymous and content script 和 Automatically reveal files in sidebar

Search in anonymous and content script: 右上角三个点 -> Search,在这里搜索会搜索匿名函数
Automatically reveal files in sidebar: 在Call Stack里面会显示函数来源

在线修改js代码

F12 -> Sources -> Overrides -> Select folder for overrides,然后选择一个文件夹,有访问权限的提示,点击允许。选择完毕后勾上 Enable Local Overrides。
之后在Sources里面编辑你要编辑的代码文件,右键 Save for overrides。之后刷新页面即可。
保存成功后,文件边上会出现一个紫色的点,之后就可以在里面继续编辑,使用快捷键ctrl+s来保存。(也可以在本地使用其他编辑器进行编辑)。

可以忽略的js

vue jquary Axios react

总结一下无限debugger的过法

在debugger所在行右键加条件断点: Add conditional breakpoint 输入: false,但是一些网站会卡死
在debugger所在行右键选择 never pause here
使用 Fiddler 等工具替换源网页中的debugger关键字
使用chrome的overrides替换源js文件,修改debugger相关代码

过debugger-1 constructor 构造器构造出来的,如: https://bz.zzzmh.cn/

(function(){
    var _constructor = constructor;
    Function.prototype.constructor = function(s) {
        if (s == "debugger") {
            console.log(s);
            return function(){};
        }
        return _constructor(s);
    }
})();

过debugger-2 eval

(function() {
    'use strict';
    var eval_ = window.eval;
    window.eval = function(x) {
        eval_(x.replace("debugger;", "        ;"));
    }
    ;
    window.eval.toString = eval_.toString;
}
)();

jjencode、aaencode、jsfuck解密方式

浏览器控制台输入

Function.prototype.__defineGetter__('constructor', function() {
return function(...args) {
console.log('code:', ...args);
return Function(...args);
};
});

运行混淆后的代码,就可以看到原始代码

可生成混淆代码的网站 bejson jsobfuscate

可生成混淆代码的网站 obfuscator

还原Obfuscator混淆过的js代码 decodeObfuscator

input: 存放ob混淆代码;
output: 存放还原后的代码;
tools: 存放打包的babel库以及部分还原的AST插件;
main.js: 运行主文件;

node main.js