Powerline.io infinite score and length

Exploits debugging capabilities in the Powerline.io server to grant infinite score and length

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
作者
Liam Zander
1日のインストール数
0
累計インストール数
163
評価
0 0 0
バージョン
1
作成日
2018/10/31
更新日
2018/10/31
大きさ
1.8KB
ライセンス
不明
対象サイト

// ==UserScript== // @name Powerline.io infinite score and length // @namespace http://tampermonkey.net/ // @version 1 // @description Exploits debugging capabilities in the Powerline.io server to grant infinite score and length // @author ww // @match http://powerline.io/* // @grant unsafeWindow // ==/UserScript==

(() => { var _WebSocket = unsafeWindow.WebSocket; // Copy the WebSocket constructor (to be hooked) let ws = null, // Current WebSocket the client is connected to handshakeCompleted = false; // whether or not the initial client handshake is complete unsafeWindow.WebSocket = function(address, protocol) { ws = new _WebSocket(address, protocol); var _send = ws.send; // Copy native send method ws.send = function() { // Intercept outgoing traffic const msg = new Uint8Array(arguments[0]); if (msg[0] == 1) { // If the first byte of the packet is 1, the packet is a handshake packet msg[0] = 171; // Change the byte to '171' which is the byte needed to enable debugging server-side console.log('Modified handshake packet and enabled debugging.'); handshakeCompleted = true; arguments[0] = msg.buffer; // Re-encode Uint8Array to ArrayBuffer } return _send.apply(this, arguments); // Call native send method within the context of this WebSocket. } console.log('Modified WebSocket with address', address); return ws; } setInterval(() => { if (ws && handshakeCompleted) { // If the WebSocket exists and the handshake is completed /* To increase your score, length, and speed as a debug client all that's needed is to send a one-byte packet that consists of 0x9 */ const packet = new Uint8Array([0x9]).buffer; ws.send(packet); // Send the packet } }, 100); // 100ms to unite network performance and score generation })();