找不到變量生成的位置?讓插件來幫你輕松定位
聲明:本文僅作研究分享,如有侵權,還請告知刪除,謝謝。
搞過某號店登錄的朋友都知道有個“window._t”變量,該變量如果不依靠工具來查找生成的位置,比較難,非常的難,掉的頭發比較多。如果你能使用AST進行還原,則能很順利的找到其加密位置,這里不講怎么將混淆的代碼還原。我們通過油猴插件+腳本的方式來定位,我們來看代碼:
// ==UserScript==
// @name Hook global
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author 悅來客棧的老板
// @include *
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
//全局變量 監控
var t = window._t
Object.defineProperty(window, '_t', {
get: function() {
console.log('Getting window._t');
return t;
},
set: function(val) {
console.log('Setting window._t', val);
debugger;
t?=?val;
}
})
})();
代碼可以Hook到加密生成的地方,但是有個坑:
// @run-at document-start
這行代碼的目的是腳本注入的時機。
參考油猴手冊的解釋:
油猴手冊地址:
https://www.tampermonkey.net/documentation.php#_run_at
看不懂英文的我猜出來了它的大致意思:盡可能快的注入到js代碼中,這樣才能Hook,如果去掉這行代碼,是無法攔截的,讀者朋友們可以自行嘗試。
下面介紹另外一種方式進行變量定位:reres插件,其github地址:
https://github.com/annnhan/ReRes
下載插件后安裝到瀏覽器上面,如圖:
安裝好后,注意按照它的教程勾選允許訪問文件地址:
我們現在來看看它到底怎么幫我們定位到變量的位置。
使用谷歌瀏覽器打開如下網址,并按下F12,打開開發者工具:
https://passport.yhd.com/passport/login_input.do
隨便輸入用戶名和密碼,點擊登陸按鈕,進行抓包。在查找 captchaToken 參數時,全局搜索,定位到了這里:
控制臺分析得知:
j2[hr[b('0x361', 'XzVN')]('_', 't')]
這行代碼就是 window._t:
可是它已經生成了,按照傳統的方法去找加密的位置,得靠極大的耐心和運氣。
3.我們將這個頁面上的所有代碼復制,一共4191行代碼,并保存到電腦上,我這邊保存到了E盤(Hook.js):
4.在文件末尾加入如下的JS代碼,并保存:
(function() {
'use strict';
var t = window._t
Object.defineProperty(window, '_t', {
get: function() {
console.log('Getting window._t');
return t;
},
set: function(val) {
console.log('Setting window._t', val);
debugger;
t = val;
}
})
})();
這個就是上面油猴腳本里的代碼,只不過不需要下面這些信息:
// ==UserScript==
// @name Hook global
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author 悅來客棧的老板
// @include *
// @grant none
// @run-at document-start
// ==/UserScript==
4.單擊reres插件按鈕,再單擊 添加規則:
5.按照它的規則,需要找到匹配的url:
這里JS的url地址是這個:
在箭頭所指的位置單擊右鍵,選擇 Copy link address:
這樣就將要匹配的url復制到了剪切板,將其復制到這里:
下面的 Response根據添加規則,
線上地址請以http://開頭,本地地址以file:///開頭,比如http://cssha.com或file:///D:/a.js
我這里在E盤,因此按照它的方式這樣添加:
點擊保存即可。
6.這個時候我們刷新 一號店 登陸的頁面,發現停在了這里:
再觀察堆棧,點擊下一行:
一下子就找到了它生成的位置,是不是非常的快.
直接本地修改JS代碼,那是不是可以*******?
和諧社會,請遵紀守法,做一個好公民。
網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。