wanhe 发表于 2024-7-28 19:05:54

FCQ脚本动态引入隐蔽手段分析

举报 https://scriptcat.org/zh-CN/script-show-page/1338/
他在initSet上设置了动态引入
![](data/attachment/forum/202407/28/190231fdqdk55jxd0mxyyj.png)
![图片.png](data/attachment/forum/202407/28/190241qne2h9hjh0vzj49t.png)
但是找不到任何设置的代码
我们可以头部下劫持
```js
const originSetValue=GM_setValue
GM_setValue=(a,b)=>{
    debugger
    originSetValue(a,b)
}
```
发现什么都没劫持到
但是换个思路想,window是由油猴proxy代理出来的变量,也挂在了GM函数
所以可以下断点
```js
const originSetValue=GM_setValue
window.GM_setValue=(a,b)=>{
    debugger
    originSetValue(a,b)
}
```
发现断出来initSet的设置代码了
文件地址在https://tcb-w644nfbyxrttaih-2cpr71dbf4b7-1304481250.tcloudbaseapp.com/static/js/pages-index-list.b35c5d5a.js
通过`window.mainProcedure.xm_window.GM_setValue`
首先该代码将window巧妙地设置到this上,然后隐蔽的将this设置到原网页的mainProcedure上
!(data/attachment/forum/202407/28/190441jzzo7iocrg777pnj.png)
再利用原网页的ui引入代码来执行GM_setValue以及GM_XHR行为
从而实现动态引入!

王一之 发表于 2024-7-29 10:11:47

已删除
页: [1]
查看完整版本: FCQ脚本动态引入隐蔽手段分析