您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Scenexe socket fiddler. Modify incoming and outgoing packets by writing functions for incoming and outgoing.
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/457775/1135823/Scenexe%20Socket%20Fiddler.js
- // ==UserScript==
- // @name Scenexe Socket Fiddler
- // @namespace ScenexeSocketFiddler
- // @version 0.1
- // @description Scenexe socket fiddler. Modify incoming and outgoing packets by writing functions for incoming and outgoing.
- // @author discordtehe
- // @match https://*.scenexe.io
- // @require https://greasyfork.org/scripts/457386-scenexeutils/code/ScenexeUtils.js?version=1134854
- // @grant none
- // ==/UserScript==
- window.incoming = (data)=>{return data};
- window.outgoing = (data)=>{return data};
- WebSocket.prototype.addEventListener = new Proxy(WebSocket.prototype.addEventListener, {
- apply: function (target, scope, args) {
- if (args[0] === 'message') {
- args[1] = new Proxy(args[1], {
- apply: function(ftarget, fscope, fargs) {
- var decoded = decode(new Uint8Array(fargs[0].data));
- decoded = incoming(decoded);
- if (decoded != undefined)
- fargs[0] = new MessageEvent('message', {data: encode(decoded)})
- let fdata = ftarget.apply(fscope, fargs);
- return fdata;
- }
- })
- }
- let data = target.apply(scope, args);
- return data;
- }
- })
- WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, {
- apply: function (target, scope, args) {
- var decoded = decodeInverse(new Uint8Array(args[0])); //decodeInverse because this data has been already encoded by scenexe's main.js
- decoded = outgoing(decoded);
- if (decoded != undefined)
- args[0] = encodeInverse(decoded);
- let data = target.apply(scope, args);
- return data;
- }
- })