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里面会显示函数来源
F12 -> Sources -> Overrides -> Select folder for overrides,然后选择一个文件夹,有访问权限的提示,点击允许。选择完毕后勾上 Enable Local Overrides。
之后在Sources里面编辑你要编辑的代码文件,右键 Save for overrides。之后刷新页面即可。
保存成功后,文件边上会出现一个紫色的点,之后就可以在里面继续编辑,使用快捷键ctrl+s来保存。(也可以在本地使用其他编辑器进行编辑)。
vue jquary Axios react
在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;
}
)();
浏览器控制台输入
Function.prototype.__defineGetter__('constructor', function() {
return function(...args) {
console.log('code:', ...args);
return Function(...args);
};
});
运行混淆后的代码,就可以看到原始代码
input: 存放ob混淆代码;
output: 存放还原后的代码;
tools: 存放打包的babel库以及部分还原的AST插件;
main.js: 运行主文件;
node main.js