这期内容当中小编将会给大家带来有关JS中如何进行油猴插件的使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
我之前也试过用脚本 Hook 过,但是没Hook住,因为姿势不对,用了他教的方法后,很轻松就找生成的地方了。用油猴,保头发,妥妥的。
脚本如下:
// ==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;
return t;
}
})
})();
添加好脚本后,来试试效果。
新打开一个标签页,按下F12,并在地址栏输入:
https://passport.yhd.com/passport/login_input.do
然后,回车,这时,停了下来:
看到没,很轻松的就Hook住了,一跟头发都不没掉好吗(自己无聊薅掉的不算哈)。
我们来看堆栈,点击下一行(nQ),并美化代码,效果如图:
将这些变量分别在控制台上打印出来:
又是 split,又是 reverse,难怪昨天搜索不到的,再看下面这行代码:
lm[nV] = nR;
这个 lm 是 window 对象,nV 的值就是 "_t", nR是值,果然是在这里传递的,我们看到 nR是传递进来的,继续跟堆栈往上追,来到了这:
原来是调用这个函数,b('0x2fd', 'ad)B') 的值 在控制台下看 是 : call,这下就明白了,nM就是传递进去的值,再看看nM是哪里赋值的:
在这个 case '2' ,nM是最先赋值的,也就是我们找到的加密位置。
上述就是小编为大家分享的JS中如何进行油猴插件的使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。