您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
8/28/2022, 8:19:50 PM
当前为
- // ==UserScript==
- // @name Eval Script
- // @namespace Wolfy0615
- // @match https://mppclone.com/*
- // @match https://multiplayerpiano.com/*
- // @grant none
- // @version 1.3
- // @author Wolfy0615
- // @require https://greasyfork.org/scripts/450595-utilinspectforbrowser/code/UtilInspectForBrowser.js
- // @description 8/28/2022, 8:19:50 PM
- // ==/UserScript==
- // Why the require? Minified code is scary.
- // Unminified code is avalible here: https://gist.github.com/Wolfy0615/e2617aca7cece2c2f067f3082fc37b5c?permalink_comment_id=4287505#gistcomment-4287505
- // Please note: Some function names etc. may seem odd, but the file is realitivly small. This module comes straight from NodeJS and was *compiled* for the browser.
- // This means I did not write that code myself, it was simply compiled to the file so it could work for the browser.
- function handleMessage(msg) {
- let client = MPP.client;
- let token = localStorage.token;
- if (client) {
- if (msg.a.startsWith(">") && msg.p._id == client.getOwnParticipant()._id) {
- try {
- let localStorage = {};
- window.localStorage = {};
- let evaled = eval(msg.a.substring(1).trim());
- client.sendArray([{
- m: 'a',
- message: `✔️ ${typeof evaled} ${window.inspect(evaled)}`.substring(0, 512).replaceAll(token, "[REDACTED]").replaceAll("\n", " ")
- }])
- } catch (err) {
- if (err) {
- client.sendArray([{
- m: 'a',
- message: `❌ ${typeof err} ${err}`
- }]);
- }
- }
- }
- }
- }
- function init() {
- MPP.client.on("a", msg => { handleMessage(msg); });
- }
- const checkInterval = setInterval(() => {
- if (window.MPP) {
- clearInterval(checkInterval);
- init();
- }
- }, 200);