您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Scenexe socket fiddler. Modify incoming and outgoing packets by writing functions for incoming and outgoing.
当前为
此脚本不应直接安装,它是供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/457775/1135834/ScenexeSocketFiddler.js
// ==UserScript== // @name ScenexeSocketFiddler // @namespace ScenexeSocketFiddler // @version 0.3 // @description Scenexe socket fiddler. Modify incoming and outgoing packets by writing functions for incoming and outgoing. // @author discordtehe // @match https://*.scenexe.io // @require https://gf.qytechs.cn/scripts/457386-scenexeutils/code/ScenexeUtils.js?version=1134854 // @grant none // ==/UserScript== window.MSG_TYPES = { INCOMING: { GAME_UPDATE: 0, ADD_UPGRADE_POINT: 1, SET_STAT_UPGRADES: 2, ON_KILL: 3, RECEIVE_ANNOUNCEMENT: 4, RECEIVE_TIMER: 5, RECEIVE_NOTIFICATION: 6, RECEIVE_BODY_UPGRADES: 7, RECEIVE_WEAPON_UPGRADES: 8, PING: 9, RECEIVE_DIMENSION_ATTRIBUTES: 16, RECEIVE_CLASS_TREE: 17, COPY_TEXT: 32, ON_DEATH: 33, RENDER_ENTITY: 34, RECEIVE_TANK: 35, GATES_UPDATE: 36, EDITMODE: 37, SEND_TO_SERVER: 39, POPUP: 40, INIT_LEADERBOARD: 41, KICK_REASON: 42, ADD_STARS: 43, COMPLETE_ACHIEVEMENT: 44, CHANGE_ACHIEVEMENT_COMPLETION: 45 }, OUTGOING: { ROTATION_INPUT: 0, MOVEMENT_INPUT: 1, SHOOTING_INPUT: 2, PASSIVE_MODE: 3, SEND_CHAT_MESSAGE: 4, UPGRADE_STAT: 5, UPGRADE_BODY: 6, UPGRADE_WEAPON: 7, CHANGE_CONTROL_STATE: 8, PING: 9, CHANGE_CONTROL_POSITION: 10, SET_TYPING: 11, LOAD_WEAPON_UPGRADE: 16, LOAD_BODY_UPGRADE: 17, CHANGE_WEAPON: 18, CHANGE_BODY: 19, JOIN_GAME: 20, SESSION_ID: 21 } } 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)}) if (decoded != 'discard') { let fdata = ftarget.apply(fscope, fargs); return fdata; } return; } }) } 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); if (decoded != 'discard') { let data = target.apply(scope, args); return data; } return; } })
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址