上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
12
返回列表 发新帖
楼主: 李恒道 - 

[油猴脚本开发指南]Proxy与defineProperty性能分析

[复制链接]
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-4 21:07:06 | 显示全部楼层
    cxxjackie 发表于 2021-10-3 10:00
    xhr也可以用defineProperty的,劫持open就行了,我之前应该发过:

    之前用__lookupGetter__有兼容性问题 ...

    哥哥我测试好像没有成功
    提示Uncaught TypeError: can't redefine non-configurable property "response"
    方便给个例子么
    https://www.douyin.com/user/MS4w ... _page=app_code_link
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复
    订阅

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-10-5 11:00:38 | 显示全部楼层
    李恒道 发表于 2021-10-4 21:07
    哥哥我测试好像没有成功
    提示Uncaught TypeError: can't redefine non-configurable property "response" ...

    调试了一下,Object.getOwnPropertyDescriptor那一句后面少了一个.get,我直接在之前的代码上改的没仔细看而non-configurable的问题似乎是网站在已有的xhr上再次调用了open方法(相当于abort,在https://developer.mozilla.org/zh ... XMLHttpRequest/open有一行说明,我没这么用过所以不太了解),造成劫持函数被执行了2次,而Object.defineProperty在不写configurable的时候默认为false,所以第二次就报错了。可以在xhr上加一个属性来判断是否劫持过,或者直接设置configurable为true。另外修改不成功可能是因为劫持的属性不对,有些请求读的是responseText有些是response,这个要根据实际情况来改,或者干脆把2个都劫持了。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-5 11:58:25 | 显示全部楼层
    cxxjackie 发表于 2021-10-5 11:00
    调试了一下,Object.getOwnPropertyDescriptor那一句后面少了一个.get,我直接在之前的代码上改的没仔细 ...

    调试成功了,哥哥牛逼!等CSS基础搞完就拆这个代码
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-18 22:08:58 | 显示全部楼层
    cxxjackie 发表于 2021-10-2 23:07
    Proxy我是真的不太熟悉,也很少用,所以分析不出什么东西来。从你测试的数据来看,确实可以得出Proxy比de ...

    哥哥
    今天碰到一个页面
    是addeventlistener了一个input事件
    包了十多层事件的分发
    js高达190w行代码
    调一行卡一行
    这种情况的网页应该怎么处理
    我直接原地爆炸了
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-10-19 09:45:20 | 显示全部楼层
    李恒道 发表于 2021-10-18 22:08
    哥哥
    今天碰到一个页面
    是addeventlistener了一个input事件

    给个链接?我有时间再看看。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-19 14:31:06 | 显示全部楼层
    cxxjackie 发表于 2021-10-19 09:45
    给个链接?我有时间再看看。

    https://wax.bloks.io/
    在这里登录之后,就可以操作游戏了,
    游戏界面https://play.farmersworld.io/
    进去之后右上角+好的输入框修改,不跟下边exchange响应
    是inputevent事件,我追了五六层还在分发事件


    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-10-19 20:18:39 | 显示全部楼层
    李恒道 发表于 2021-10-19 14:31
    https://wax.bloks.io/
    在这里登录之后,就可以操作游戏了,
    游戏界面https://play.farmersworld.io/

    这是个挖矿游戏么?我注册不挂梯子都出不来验证码。。。这个具体是要实现什么效果?我进去的时候好像说要什么卡片才能玩,几百美元一张卡把我看傻了。稍微看了一下代码,好像他把所有函数都给包装了,第一个参数t似乎是原函数,第二个参数e.mechanism.data.function似乎是函数名,感觉可以用条件断点来做,后面我就没跟了,具体是要改什么呢?这种砸钱的游戏应该做了不少特殊处理,不太好弄。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-20 00:07:29 | 显示全部楼层
    cxxjackie 发表于 2021-10-19 20:18
    这是个挖矿游戏么?我注册不挂梯子都出不来验证码。。。这个具体是要实现什么效果?我进去的时候好像说要 ...

    右上角有个加号
    点一下弹出一个对话框,有一个输入框一个exchange
    如果直接修改value的话exchange不会变黄
    我试了条件断点,追了五六层硬是他妈没追到函数...
    是修改编辑框内容之后通过input事件触发的exchange的按钮改变
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2021-10-20 09:31:48 | 显示全部楼层
    李恒道 发表于 2021-10-20 00:07
    右上角有个加号
    点一下弹出一个对话框,有一个输入框一个exchange
    如果直接修改value的话exchange不会变 ...

    这个。。。好像不是很难,那个input的class是modal-input,点调试工具右上角的3个点选Search,搜索modal-input只有2个结果,一个css一个js,跟进那个js就可以看到onChange事件,直接打断点可以断下来,那个p函数应该是你需要的,跟进去就行了。这种对事件做了处理的不一定要老老实实去跟逻辑(我都不想去研究他是什么逻辑,混淆太恶心了),用好搜索还是很有帮助的。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2021-10-20 09:36:03 | 显示全部楼层
    cxxjackie 发表于 2021-10-20 09:31
    这个。。。好像不是很难,那个input的class是modal-input,点调试工具右上角的3个点选Search,搜索modal- ...

    ???
    我没考虑到...妈的
    晚上没事我再调一下
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    12
    返回列表 发新帖

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表