李恒道
发表于 2021-9-4 16:08:45
脚本体验师001 发表于 2021-9-4 13:18
李大师哥哥讲vue的劫持,这一块那一块的
这个在计划,但是离完成还有很久....大概再给我一个半月吧,还在研究源码
李恒道
发表于 2021-9-4 16:19:28
cxxjackie 发表于 2021-9-4 13:40
不不不,我写了道哥就没东西写了道哥教程写的图文并茂,还有视频讲解,我就不献丑了。 ...
{:4_104:}哥哥别闹了,如果以一之为战力,我大概是0.3之,你大概是1.5之了
cxxjackie
发表于 2021-9-4 17:26:24
李恒道 发表于 2021-9-4 16:19
哥哥别闹了,如果以一之为战力,我大概是0.3之,你大概是1.5之了
这就捧杀我了,让我写个脚本猫那样的扩展我可做不来,太复杂了
rubinTime
发表于 2021-12-5 21:46:45
cxxjackie 发表于 2021-8-25 21:22
我还是不喜欢Proxy这种劫持整个对象的做法,效率问题先放一边,看你的代码逻辑也显得非常复杂。像这个 ...
哥哥,我记得箭头函数是不是没有arguments对象,如果箭头函数上面套了一层普通函数的话,箭头函数中使用argument对象是会使用上层的普通函数的arguments对象
cxxjackie
发表于 2021-12-6 10:11:07
rubinTime 发表于 2021-12-5 21:46
哥哥,我记得箭头函数是不是没有arguments对象,如果箭头函数上面套了一层普通函数的话,箭头函数中使用a ...
是的,this也一样。
soulyale
发表于 2022-1-21 15:04:46
本帖最后由 soulyale 于 2022-1-21 15:05 编辑
我试着写个jQuery的Ajax的劫持,请大佬看看有什么问题没?
(function(){
let oldajx=$.ajax;
async functionfuckajx(){
oldajx.apply($,arguments).then((response)=>{
console.info(arguments.url,response.data);
return response;});
}
$.ajax=fuckajx;
})();
李恒道
发表于 2022-1-21 16:55:53
soulyale 发表于 2022-1-21 15:04
我试着写个jQuery的Ajax的劫持,请大佬看看有什么问题没?
这个肉眼看是绝对看不出来的,一边调输入和输出一边写吧
youwh
发表于 2023-6-1 21:42:08
我试着调试这个fetch劫持两个多小时了,都没弄明白,转过去看B站视频也没找到你的调试步骤,还是没明白,还是伸手直接问了,代码如下,除了'xml begin'这个其他的都没有打印,应该是没有触发调用,实在不明白怎么触发劫持,难道还有什么其他的条件吗,还是希望有一个完整的例子,不怕简单就怕不能代码不能跑🤣🤣
```
// ==UserScript==
// @name Simple
// @namespace http://tampermonkey.net/
// @version 0.1
// @descriptiontry to take over the world!
// @author You
// @match https://bbs.tampermonkey.net.cn/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=baidu.com
// ==/UserScript==
console.log('xml begin')
let oldfetch = fetch;
async function fuckfetch() {
console.log('xml1 bgin')
return new Promise((resolve, reject) => {
console.log('xml2 bein')
oldfetch.apply(this, arguments).then(response => {
console.log('xml3 begn')
const oldJson = response.json;
response.json = function() {
return new Promise((resolve, reject) => {
oldJson.apply(this, arguments).then(result => {
result.hook = 'success';
resolve(result);
});
});
};
resolve(response);
});
});
}
window.fetch = fuckfetch;
```
cxxjackie
发表于 2023-6-1 22:19:07
youwh 发表于 2023-6-1 21:42
我试着调试这个fetch劫持两个多小时了,都没弄明白,转过去看B站视频也没找到你的调试步骤,还是没明白 ...
一个是这个页面没有fetch请求,只有xhr请求,所以没触发。另一个是window.fetch应该改成unsafeWindow.fetch,油猴在没有显式声明@grant none的情况下是沙盒环境,window和unsafeWindow中的很多对象不属于同一引用,而劫持应当作用于真实环境,即unsafeWindow。
youwh
发表于 2023-6-1 23:10:07
cxxjackie 发表于 2023-6-1 22:19
一个是这个页面没有fetch请求,只有xhr请求,所以没触发。另一个是window.fetch应该改成unsafeWindow.fet ...
弄好了,谢谢哥哥,哥哥真棒👍