李恒道 发表于 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/MS4wLjABAAAAFHIhAwhNzesS4tp0637qdpwDqq3OsfDE2zE_EMEAhEsGfD7I1BrkmvIm5kHtxEh4?previous_page=app_code_link

cxxjackie 发表于 2021-10-5 11:00:38

李恒道 发表于 2021-10-4 21:07
哥哥我测试好像没有成功
提示Uncaught TypeError: can't redefine non-configurable property "response" ...

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

李恒道 发表于 2021-10-5 11:58:25

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

调试成功了,哥哥牛逼!等CSS基础搞完就拆这个代码

李恒道 发表于 2021-10-18 22:08:58

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

哥哥
今天碰到一个页面
是addeventlistener了一个input事件
包了十多层事件的分发
js高达190w行代码
调一行卡一行
这种情况的网页应该怎么处理
我直接原地爆炸了

cxxjackie 发表于 2021-10-19 09:45:20

李恒道 发表于 2021-10-18 22:08
哥哥
今天碰到一个页面
是addeventlistener了一个input事件


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

李恒道 发表于 2021-10-19 14:31:06

cxxjackie 发表于 2021-10-19 09:45
给个链接?我有时间再看看。
https://wax.bloks.io/
在这里登录之后,就可以操作游戏了,
游戏界面https://play.farmersworld.io/
进去之后右上角+好的输入框修改,不跟下边exchange响应
是inputevent事件,我追了五六层还在分发事件


cxxjackie 发表于 2021-10-19 20:18:39

李恒道 发表于 2021-10-19 14:31
https://wax.bloks.io/
在这里登录之后,就可以操作游戏了,
游戏界面https://play.farmersworld.io/


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

李恒道 发表于 2021-10-20 00:07:29

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

右上角有个加号
点一下弹出一个对话框,有一个输入框一个exchange
如果直接修改value的话exchange不会变黄
我试了条件断点,追了五六层硬是他妈没追到函数...
是修改编辑框内容之后通过input事件触发的exchange的按钮改变

cxxjackie 发表于 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函数应该是你需要的,跟进去就行了。这种对事件做了处理的不一定要老老实实去跟逻辑(我都不想去研究他是什么逻辑,混淆太恶心了),用好搜索还是很有帮助的。

李恒道 发表于 2021-10-20 09:36:03

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

???
我没考虑到...妈的
晚上没事我再调一下
页: 1 [2]
查看完整版本: [油猴脚本开发指南]Proxy与defineProperty性能分析