1. 程式人生 > >破解js遮蔽chromeF12後頁面自動跳轉的解決方法

破解js遮蔽chromeF12後頁面自動跳轉的解決方法

我們先來看關鍵的遮蔽程式碼
function a() {
    window.location.href = "https://www.larrycms.com/";
    return false
}

    if (top.window.outerHeight - top.window.innerHeight > 150) {
        a()
    }
    if (top.window.outerWidth - top.window.innerWidth > 150) {
        a()
    }
};
r(document).keydown(function() {
    return y(arguments[0])
});

function y(r) {
    var o;
    if (window.event) {
        o = r.keyCode
    } else if (r.which) {
        o = r.which
    }
    if (o == 123) {
        e.larryCmsError("說好的demo版本只演示 不允許F12哦!加QQ群493153642免費下載最新版原始碼", e.larryCore.tit);
        return false
    }
    if (r.ctrlKey) {
        if (r.shiftKey && o == 73) {
            e.larryCmsError("說好的demo版本只演示 不允許ctrl+shift+I哦!加QQ群493153642免費下載最新版原始碼", e.larryCore.tit);
            return false
        }
    }
    if (r.ctrlKey && o == 83) {
        e.larryCmsError("說好的demo版本只演示 不允許ctrl+s儲存哦!加QQ群493153642免費下載最新版原始碼", e.larryCore.tit);
        return false
    }
}



具體就是頁面載入後執行s();判斷是不是有除錯工具
和按f12後觸發window.onresize判斷,和按鍵key判斷




具體破解方法:


以以下方式啟動chrome


C:\Users\wangcb\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=9222


訪問http://localhost:9222
選擇一個tab頁除錯


然後再按f12


注意這樣就會出現2個f12,如圖2




在下面那個f12執行以下程式碼


第一步:


    SDK.targetManager._mainConnection.sendMessage(JSON.stringify({
        "id": 1,
        "method": "Page.addScriptToEvaluateOnLoad",
        "params": {"scriptSource": "Object.defineProperty(window, 'layui', {get: function () {if (!!window.layuiInst) {if (!!window.cracked) {window.layuiInst.use = window.layuiInstUSE;} else {window.layuiInst.use = function (e, n, l) {if(JSON.stringify(e)==JSON.stringify(['jquery', 'layer', 'element', 'common'])) {console.log(e);return;}else {window.layuiInstUSE.apply(window.layuiInst,[e, n, l]);}}}}return window.layuiInst;}, set: function (value) {console.log(value);if (!!value.use) {window.layuiInstUSE = value.use;}window.layuiInst = value;}, enumerable: false});setTimeout(function () {window.cracked=true;},2000)"}
    }))




其中 if(JSON.stringify(e)==JSON.stringify(['jquery', 'layer', 'element', 'common']))需要自己修改判斷


然後第二布


SDK.targetManager._mainConnection.sendMessage('{"id":1, "method": "Page.navigate", "params": {"url": "http://demo.larrycms.com/backstage/index.php?"}}')


或者直接打位址列url


然後就可以在f12除錯了,頁面不會跳轉,效果圖圖1



注意每個頁面不同


其中 if(JSON.stringify(e)==JSON.stringify(['jquery', 'layer', 'element', 'common']))需要自己修改判斷