91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js逆向的另類思路扣代碼是怎樣的

發布時間:2021-12-13 18:05:47 來源:億速云 閱讀:131 作者:柒染 欄目:大數據

本篇文章為大家展示了js逆向的另類思路扣代碼是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

經常js分析的人來說有些網站檢測瀏覽器指紋是很常見的事,但是我們一點一點分析是很費時間,費腦筋的。

    我們扣代碼的結果是我們要調用他的加密或解密或某個值的算法,當我們把他的算法扣下來執行,正常情況下是沒問題的,但是如果他計算了瀏覽器指紋,那基本上你除了完整的分析別無他法,今天我們來講一個hook劫持。當然我只講原理,具體你們自己研究琢磨。

    首先介紹一下這個es6的特性:Proxy 對象用于定義基本操作的自定義行為(如屬性查找,賦值,枚舉,函數調用等)。

簡單來說就是我們可以完全代理某個對象,基于這個對象的所有操作都會被攔截下來,但是他的內部對象操作攔不下來,比如:

a={b:function(){return "123"}}
a = new Proxy(a, {    get: function(target, key, receiver) {        console.log(target, key, receiver);        return target[key];    },    set: function(target, key, value, receiver) {        console.log(target, key, value, receiver);        target[key] = value;    }});

js逆向的另類思路扣代碼是怎樣的

當我們調用a.b 就用過代理攔截下來,但是

js逆向的另類思路扣代碼是怎樣的

當我們:a.b.c我們發現.c并沒有攔截到,那是因為.c是屬于b對象,并不能嵌套攔截,如果有需要我們可以嵌套:比如

js逆向的另類思路扣代碼是怎樣的

a={b:{c:function(){return "123"}}}
a = new Proxy(a, {    get: function(target, key, receiver) {        console.log(target, key, receiver);    if(target[key] instanceof Object){        return new Proxy(target[key],{        get:function(a,b,c){          return a[b];        },set:function(a,b,c,d){          a[b] = c;        }      })    }        return target[key];    },    set: function(target, key, value, receiver) {        console.log(target, key, value, receiver);        target[key] = value;    }});

這樣的話就可以嵌套,看到這里你們是不是明白了,

假如他有一段代碼我們摳出來要看他是不是有指紋計算,我們可以這樣寫


window = {};window = new Proxy(window, {    get: function(target, key, receiver) {        console.log(target, key, receiver);        return target[key];    },    set: function(target, key, value, receiver) {        console.log(target, key, value, receiver);        target[key] = value;    }});navigator= {};navigator= new Proxy(navigator, {    get: function(target, key, receiver) {        console.log(target, key, receiver);        return target[key];    },    set: function(target, key, value, receiver) {        console.log(target, key, value, receiver);        target[key] = value;    }});

我們偽造window對象然后它里面只要是基于window的操作我們都會攔截下來,然后處理,看到這里大家都明白了,但是我們開個腦洞基于這個proxy的更有趣的玩法,既然他能攔截所有操作,那我們就可以基于這個偽造一個真實的瀏覽器環境,不過實現起來工作量那就不小了,只能是缺啥補啥。

上述內容就是js逆向的另類思路扣代碼是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

万源市| 岑溪市| 子洲县| 广宁县| 辽阳市| 库车县| 河北区| 崇仁县| 江山市| 长春市| 广平县| 扎兰屯市| 庐江县| 句容市| 阿城市| 公主岭市| 谢通门县| 临澧县| 霍邱县| 阳信县| 石屏县| 本溪市| 邵东县| 上高县| 报价| 无棣县| 福鼎市| 会同县| 白朗县| 武威市| 荃湾区| 阜城县| 井陉县| 新竹市| 武鸣县| 龙口市| 肇东市| 翼城县| 建昌县| 金昌市| 尼玛县|