JML 发表于 2022-2-21 17:01:46

XHR劫持修改内容失败

参考创客贴解锁的脚本,尝试写Raindrop会员解锁,但是无法修改内容(ios上用网球修改有效)在论坛上搜过类似[帖子](https://bbs.tampermonkey.net.cn/thread-1201-1-1.html)了,还是不知道问题出在哪,小白一个,请大佬赐教

[案例链接](https://app.raindrop.io/settings/account)

修改的链接 `https://api.raindrop.io/v1/user`

代码

```
// ==UserScript==
// @name         Raindrop会员
// @namespace    Raindrop
// @version      1.0
// @description解锁Raindrop会员
// @author       nobody
// @match      *://app.raindrop.io/*
// @icon         https://app.raindrop.io/assets/favicon.fe6ac9867aba81553efdf895dbc1f770.ico
// @run-at               document-start
// @grant      none
// ==/UserScript==

const origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function () {
    const xhr = this;
    const getter = Object.getOwnPropertyDescriptor(
      XMLHttpRequest.prototype,
      "response",
    ).get;
    Object.defineProperty(xhr,"responseText", {
      get: () => {
            let result = getter.call(xhr);
            switch (true) {
                case arguments.includes('/v1/user'):
                  let json = JSON.parse(result);
                  json.user.pro = true;
                  json.user.config.add_default_collection = 1;
                  result = JSON.stringify(json);
                  break;
            }
            return result;
      }
    });
    return origOpen.apply(xhr, arguments);
};
```

cocang 发表于 2022-2-21 17:01:47

看了一下,网页版也是fetch,不是XHR啊

cocang 发表于 2022-2-21 18:51:13

这不是浏览器扩展么,你用油猴没用啊,直接下载修改.crx扩展包

cxxjackie 发表于 2022-2-21 19:53:51

我网页版也是fetch,你用xhr劫持当然行不通啊,建议参考论坛里关于fetch劫持的内容。还有switch case那里是什么古怪的写法,为什么不用if呢?

cocang 发表于 2022-2-21 19:59:11

没事看了一下
pro: true
proExpire: "2099-12-31T12:00:00.000Z"
不就够了么,至于能不能有效不清楚,看后端了

json.user.config.add_default_collection = 1;
这个没看明白

cocang 发表于 2022-2-21 20:12:55




zip文件就是扩展,丢浏览器chrome://extensions/ 安装就好了

李恒道 发表于 2022-2-21 22:07:20

如果是fetch劫持的话可以参考https://bbs.tampermonkey.net.cn/thread-1020-1-1.html

李恒道 发表于 2022-2-21 22:07:40

cocang 发表于 2022-2-21 19:59
没事看了一下
pro: true
proExpire: "2099-12-31T12:00:00.000Z"


哥哥有兴趣可以答一下开发者题目?
混个蓝名很帅的!

JML 发表于 2022-2-22 11:57:00

cxxjackie 发表于 2022-2-21 19:53
我网页版也是fetch,你用xhr劫持当然行不通啊,建议参考论坛里关于fetch劫持的内容。还有switch case那里是 ...

直接从“解锁创可贴”的代码抄的,懒得改而已

JML 发表于 2022-2-22 11:57:26

李恒道 发表于 2022-2-21 22:07
如果是fetch劫持的话可以参考https://bbs.tampermonkey.net.cn/thread-1020-1-1.html

好的,这就去,ggnb
页: [1]
查看完整版本: XHR劫持修改内容失败