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;
});
};
})();