王一之 发表于 2023-11-1 11:54:54

tansuo 发表于 2023-11-1 11:32
![无标题.png](data/attachment/forum/202311/01/113122a9oq1foouqvt14vg.png)
头几天发给你的微信图 ...

看他的堆栈,Call Stack,可以看到是从哪里进来的

李恒道 发表于 2023-11-1 13:53:38

tansuo 发表于 2023-11-1 11:32
![无标题.png](data/attachment/forum/202311/01/113122a9oq1foouqvt14vg.png)
头几天发给你的微信图 ...
有没有一种可能
起码把我的回复看完....

我都提出解决代码和思路了

陈公子的话 发表于 2023-11-1 14:17:05

hook重写替换

tansuo 发表于 2023-11-1 14:39:12

王一之 发表于 2023-11-1 11:54
看他的堆栈,Call Stack,可以看到是从哪里进来的

我在sources替换一个8.bc080ccd.js文件,替换文件为空,之后在调试又出了好多debugge不知道为什么?求加大佬QQ,微信读书脚本发给你,你调试试,我的QQ2448640323

tansuo 发表于 2023-11-1 15:01:46

李恒道 发表于 2023-11-1 13:53
有没有一种可能
起码把我的回复看完....



大佬我看了 第一个链接正对着你给我的代码,这段代码的目的是在调用函数的时候,检查函数是否是一个匿名函数且函数体中包含了 debugger 语句。如果是,则返回 undefined,否则继续执行原始的 call 或 apply 方法。这样做的目的可能是为了在调试时跳过某些特定的函数。之后我按上面代码写一个脚本,可是运行这个脚本刷新微信读书时就在哪里反应就是不显示文字,关闭这个脚本并刷新微信读书就可以显示,我就不知道如何办了

tansuo 发表于 2023-11-1 15:03:49

陈公子的话 发表于 2023-11-1 14:17
hook重写替换

大佬 求重写的代码

李恒道 发表于 2023-11-1 15:05:51

tansuo 发表于 2023-11-1 15:01
大佬我看了 第一个链接正对着你给我的代码,这段代码的目的是在调用函数的时候,检查函数是否是一个匿名 ...
我只是根据一个文章举出来demo
不是完善掉了所有页面的处理

应该学习思路
比如运行报错了什么
这个原理是什么
ob的话解开ob看看具体是哪里不显示导致的
报错的本质是什么

按照这个逻辑继续完善缺失的代码就可以了

李恒道 发表于 2023-11-1 16:04:24

tansuo 发表于 2023-11-1 15:01
大佬我看了 第一个链接正对着你给我的代码,这段代码的目的是在调用函数的时候,检查函数是否是一个匿名 ...
还有就是不要用gpt敷衍了...
论坛是人互相交流的
我坚持解答是为了科普知识
不是为了每天跟gpt左右互搏

这种东西自己不思考和研究指望gpt一个语言生成器来写这辈子也不可能写完的

tansuo 发表于 2023-11-1 16:21:09

本帖最后由 tansuo 于 2023-11-1 16:31 编辑

代码我没改,我只是大概了解代码功能和第一个链接就写个脚本用于微信读书,不是那个机器人弄的代码,对与错真的不知道,运行时微信读书不反应,稍等我上电脑发你脚本代码,报错也没找到解决方法,Maximum callstacksizeexceeded

tansuo 发表于 2023-11-1 16:22:37

李恒道 发表于 2023-11-1 16:04
还有就是不要用gpt敷衍了...
论坛是人互相交流的
我坚持解答是为了科普知识


// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @descriptiontry to take over the world!
// @author       You
// @match      https://weread.qq.com/web/reader/*
// @match      https://weread.qq.com/web/book/read*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net.cn
// @grant      none
// ==/UserScript==

const toString = Function.prototype.toString

Function.prototype.originCall = Function.prototype.call
Function.prototype.originApply = Function.prototype.apply
Function.prototype.call = function (thisArg, ...args) {
    if (toString.originApply(this) === 'function anonymous(\n) {\ndebugger\n}') {
      return undefined
    }
    return this.originCall(thisArg, ...args)
}

Function.prototype.apply = function (thisArg, args=[]) {
    if (toString.originApply(this) === 'function anonymous(\n) {\ndebugger\n}') {
      return undefined
    }
    return this.originApply(thisArg, args)
}
页: 1 [2]
查看完整版本: 无限触发 debugger