这期内容当中小编将会给大家带来有关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中如何进行油猴插件的使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4042528/blog/4488310