您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Personal License Crack for C3 by ImmortalAI ft. WladekHack
// ==UserScript== // @name Construct 3 Crack // @namespace https://t.me/wladekhack // @version 1.0 // @description Personal License Crack for C3 by ImmortalAI ft. WladekHack // @author ImmortalAI ft. WladekHack // @match https://account.construct.net/* // @run-at document-start // @icon https://construct-static.com/images/v1253/r/global/construct-3-logo_v64.png // @grant none // ==/UserScript== (function() { 'use strict'; const loginJsonUrl = 'https://account.construct.net/login.json'; const tokenJsonUrl = 'https://account.construct.net/token.json'; const modifiedLoginJson = { "request": { "status":"ok", "time":999999999, "date":"2021-08-29T20:20:49.2635326Z", "server":"prd-vm-login-01" }, "response": { "token":"b63a40dd-0088-4f88-8bd5-f31db0834a92", "userID":1 } }; const modifiedTokenJson = { "request":{ "status":"ok", "time":999999999, "date":"2021-10-05T01:28:00.8575421Z", "server":"prd-vm-login-01" }, "response":{ "newToken":"ff9b3ec1-3798-4bff-8fbf-9ce012c80375", "user":{ "id":1052352, "username":"WladekHack", "highResAvatar":{ "url":"https://construct-static.com/avatars/1183565/get" } }, "license":{ "type":"personal", "hash":"", "gamejamLicenseAvailable":true, "activeGamejamLicense":{ "startTime":1633003200, "endTime":1649231178, "name":"WladekHack", "relatedURL":"https://www.construct.net/en/blogs/construct-official-blog-1/ludum-dare-once-again-free-1572" }, "scriptingEnabled":true, "reason":"Thereisnoseatorlicenseassignedtoyou.", "canUseBuildService":true, "canUseRemovePreview":true, "canExport":true, "canShareProject":true } } }; // Override the fetch function to intercept the response const originalFetch = window.fetch; window.fetch = function() { return originalFetch.apply(this, arguments).then((response) => { if (response.url === loginJsonUrl) { return new Response(JSON.stringify(modifiedLoginJson), { status: 200, statusText: 'OK', headers: new Headers({ 'Content-Type': 'application/json' }) }); } else if (response.url === tokenJsonUrl) { return new Response(JSON.stringify(modifiedTokenJson), { status: 200, statusText: 'OK', headers: new Headers({ 'Content-Type': 'application/json' }) }); } return response; }); }; })();