// ==UserScript== // @name Coolmath Hangman Script // @namespace http://tampermonkey.net/ // @version 2024-04-27 // @description Coolmath Hangman auto solver and username bypasser // @author You // @match https://hangman-frontend.coolmathgames.com/* // @match https://hangman-backend.coolmathgames.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=coolmathgames.com // @license ISC // @grant none // @downloadURL https://update.greasyfork.icu/scripts/493647/Coolmath%20Hangman%20Script.user.js // @updateURL https://update.greasyfork.icu/scripts/493647/Coolmath%20Hangman%20Script.meta.js // ==/UserScript== // Auto solve quick play + private games const _call = Function.prototype.call; Function.prototype.call = function(...args) { const ret = _call.apply(this, args); if (args[args.length - 1] === 'value' && !!args[0]?.value?.puzzleStatus && args[0].value.puzzleStatus.length && !!args[0].value.ableToPick) { let letters = document.querySelector('div[class*="Pad_Pad"'); if (!letters) return ret; const keys = {}; [...letters.children].forEach((x, i) => { keys[String.fromCharCode(65 + i)] = () => { try { x.children[0].click() } catch {} }; }); const remaining = [...new Set(args[0].value.puzzleStatus.filter(x => x.type === 'underline').flatMap(x => x.value))]; if (keys[remaining[0]]) keys[remaining[0]](); } return ret; } // Auto solve local games Object.defineProperty(Object.prototype, 'wordData', { get() { return this._wordData; }, set(val) { window.remaining = [...new Set(val.word.toUpperCase().split('').filter(x => x.charCodeAt(0) > 64 && x.charCodeAt(0) < 91))]; setTimeout(() => { window.remaining.forEach(letter => { window.app.screenGame.tryGuessLetter(letter) }); }, 5000); this._wordData = val; }, }); // List of words not allowed in usernames, B64 encoded for obvious reasons const wordFilterArr = [ "M3NvbWU=", "M3dheQ==", "NHNvbWU=", "YWJvcnRpb24=", "YWJ1c2U=", "YWRkaWN0", "YWRvbGVzY2VudA==", "YWR1bHQ=", "YW5hbA==", "YW51cw==", "YXJhYg==", "YXJlb2xh", "YXJpb2xh", "YXJvdXNl", "YXJzZQ==", "YXNpYW4=", "YXNwZXJn", "YXNz", "YXV0aXM=", "YXpu", "YmFja2Rvb3I=", "YmFuZw==", "YmFwdGlzdA==", "YmFyZg==", "YmFzdGFyZA==", "YmJ3", "YmRzbQ==", "YmVhbmVy", "YmVhc3RhbA==", "YmVhc3RpYWw=", "YmVhdA==", "YmVhdHRoZW1lYXQ=", "YmVhdmVy", "YmVhdnI=", "YmVlcg==", "YmVzdGFs", "YmVzdGlhbA==", "YmlhdGNo", "YmlibGU=", "YmljdXJpb3Vz", "YmljdXJpb3V6", "Yml0Y2g=", "Yml0ZW1l", "YmxpbmQ=", "Ymxvb2R5", "Ymxvdw==", "Ymxvd2pvYg==", "Ymx1ZWJhbGw=", "Ym9hbmc=", "Ym9nYW4=", "Ym9odW5r", "Ym9sbG9jaw==", "Ym9sbG9r", "Ym9tYg==", "Ym9uZGFnZQ==", "Ym9uZXI=", "Ym9uZw==", "Ym9vYg==", "Ym9vZ2Vy", "Ym9vdHk=", "YnJhenplcnM=", "YnJlYXN0", "YnJvdGhlbA==", "YnVnZ2Vy", "YnVra2FrZQ==", "YnVybg==", "YnV0Y2g=", "YnV0dA==", "YnV0dGVy", "YnV0dHBsdWc=", "Y2FtYWx0bw==", "Y2FtZWx0b2U=", "Y2FtZ2lybA==", "Y2FycGV0bXVuY2g=", "Y2F0aG9saWM=", "NGNoYW4=", "Zm91cmNoYW4=", "Y2hhdHVyYmF0", "Y2hlcnJ5", "Y2hpY2s=", "Y2hpbGQ=", "Y2hpbmE=", "Y2hpbmVzZQ==", "Y2hpbms=", "Y2hsYW0=", "Y2hvYWQ=", "Y2hvYWs=", "Y2hvYXQ=", "Y2hvZGU=", "Y2hyaXN0", "Y2lnYXI=", "Y2lncw==", "Y2xhbWRp", "Y2xpdA==", "Y2xvZ3dvZw==", "Y29jYWluZQ==", "Y29jaw==", "Y29pdGFs", "Y29pdHVz", "Y29rZQ==", "Y29tbWll", "Y29tbXVu", "Y29uZG9t", "Y29vY2g=", "Y29vbGll", "Y29vbHk=", "Y29vbg==", "Y29wdWxhdA==", "Y29ybmhvbGU=", "Y293Z2lybA==", "Y3JhYnM=", "Y3JhY2s=", "Y3JhcA==", "Y3JlYW1waWU=", "Y3JpbWluYWw=", "Y3JvdGNo", "Y3Vjaw==", "Y3Vt", "Y3VudA==", "Y3liZXJzZXg=", "Y3liZXJzbGltZQ==", "ZGFobWVy", "ZGFtbQ==", "ZGFtbg==", "ZGFya2ll", "ZGFya3k=", "ZGNr", "ZGVhZA==", "ZGVhcHRocm9hdA==", "ZGVlcHRocm9hdA==", "ZGVmZWNhdA==", "ZGVnbw==", "ZGVtb2NyYXQ=", "ZGVtb24=", "ZGV1c3RjaA==", "ZGV2aWw=", "ZGV2bA==", "ZGljaw==", "ZGlkZGxl", "ZGlsZG8=", "ZGluZ2xlYmVycnk=", "ZGlzZWFzZQ==", "ZGlzdHVyYmVk", "ZGl4", "ZG9nZ2ll", "ZG9nZ3k=", "ZG9taW5hdHI=", "ZG9uZw==", "ZG9vZG9v", "ZG9va2ll", "ZG9va3k=", "ZG9vbQ==", "ZG9wZQ==", "ZG91YmxlcGVu", "ZHJhZw==", "ZHJ1Zw==", "ZHJ1bms=", "ZHZs", "ZHh5", "ZHlrZQ==", "ZWF0bWU=", "ZWJvbnk=", "ZWNzdGFjeQ==", "ZWNzdGFzeQ==", "ZWdncGxhbnQ=", "ZWphY3U=", "ZW5lbWE=", "ZW5lbXk=", "ZW50aG8=", "ZXJlY3Q=", "ZXJla3Q=", "ZXNjb3J0", "ZXRobmlj", "ZXhjcmVtZW50", "ZXhlY3V0", "ZXhwbG9zaW9u", "ZXh0YWN5", "ZXh0YXN5", "ZmFjZXNpdA==", "ZmFjaWFs", "ZmFjaw==", "ZmFlY2Vz", "ZmFn", "ZmFpdGg=", "ZmFubnk=", "ZmFueQ==", "ZmFydA==", "ZmFzY2hp", "ZmFzY2k=", "ZmF0c28=", "ZmNr", "ZmVhY2Vz", "ZmVjZXM=", "ZmVjaw==", "ZmVsYXRpbw==", "ZmVsY2g=", "ZmVsY2hpbmc=", "ZmVsbGF0ZQ==", "ZmVsbGF0aW8=", "ZmVsdGNo", "ZmVtZG9t", "ZmV0aXNo", "ZmlsaXBp", "ZmluZ2Vy", "ZmluZ3I=", "ZmlyaW5n", "ZmlzdA==", "Zmxhbmdl", "Zmxhbmo=", "Zmxhc2hlcg==", "ZmxhdHVs", "ZmxvZ2dpbmc=", "Zmxvbw==", "Zm5nZXI=", "Zm5ncg==", "Zm9r", "Zm9uZGw=", "Zm9vdGpvYg==", "Zm9yZXNr", "Zm9ybmljYXQ=", "Zm91cnNvbWU=", "Zm91cnR3ZW50", "Zm91cnR3bnQ=", "ZnJhdWQ=", "ZnViYXI=", "ZnVjaw==", "ZnVkZ2U=", "ZnVnbHk=", "ZnVr", "ZnVuZXJhbA==", "ZnVycmllcw==", "ZnV1", "Z2FuZ2Jhbmc=", "Z2FuZ2JuZw==", "Z2VlemVy", "Z2VuaXRhbA==", "Z2VybWFu", "Z2hldHRv", "Z2lybHM=", "Z2l2ZWhlYWQ=", "Z2xvcnlob2xl", "Z25nYm5n", "Z29k", "Z29sZGVuc2hvd2Vy", "Z29ub3Jy", "Z29vaw==", "Z29yaWxsYQ==", "Z3JlYXNlYmFsbA==", "Z3Jpbmdv", "Z3Jvc3M=", "Z3Vu", "aGFtYXM=", "aGFuZGpvYg==", "aGFyZG9u", "aGFyZW0=", "aGF0ZQ==", "aGVsbA==", "aGVudGFp", "aGVyb2lu", "aGVycGVz", "aGV0ZXJv", "aGlkZGVuY2Ft", "aGlqYWNr", "aGlsbGJpbGw=", "aGluZG9v", "aGluZHU=", "aGl0bGVy", "aG5kamI=", "aG5kam9i", "aG9l", "aG9sZQ==", "aG9taWNpZA==", "aG9tbw==", "aG9ua2U=", "aG9va2Vy", "aG9vdGVy", "aG9ybmV5", "aG9ybmk=", "aG9ybnk=", "aG9zZWpvYg==", "aG9zdGFnZQ==", "aG90dG90cm90", "aG91c2V3aWZl", "aHVtaWxpYXQ=", "aHVza3k=", "aHVzc3k=", "aHVzdGxlcg==", "aHltZW4=", "aHltaWU=", "aWRpb3Q=", "aWxsZWdhbA==", "aW5jZXN0", "aW5maWRlbA==", "aW50ZXJhY2lhbA==", "aW50ZXJjb3Vycw==", "aW50ZXJyYWNpYWw=", "aXNpcw==", "aXNyYWVs", "amFja2luZw==", "amVyaw==", "amVzdXM=", "amV3", "amloYWQ=", "amltZmlzaA==", "amlzbQ==", "aml6", "am9pbnQ=", "anVnZw==", "anVnZ2Fsbw==", "anVncw==", "anVuZ2xlYnVubg==", "a2FmZmly", "a2FmZnJl", "a2FmaXI=", "a2FtYXN1dHJh", "a2lrZQ==", "a2lsbA==", "a2luaw==", "a2tr", "a25pZmU=", "a25vYmVuZA==", "a25vY2tlcnM=", "a29jaw==", "a29uZHVt", "a29vbg==", "a290ZXg=", "a3JhcA==", "a3JhcHB5", "a3VuaWw=", "a3Vubmls", "a3Vubm4=", "a3lrZQ==", "bGFiaWE=", "bGFjdGF0ZQ==", "bGFwZGFuY2U=", "bGF0aW4=", "bGVzYg==", "bGV6", "bGliZXJhbA==", "bGliaWQ=", "bGlja2Vy", "bGlja21l", "bGlja3I=", "bGluZ2VyaWU=", "bGlxcg==", "bGlxdW9y", "bG1hbw==", "bG1mYW8=", "bG9hZGVk", "bG9saXRh", "bG9vc2Vy", "bG9zZXI=", "bG92ZWJvbmU=", "bG92ZWdvbw==", "bG92ZWd1bg==", "bG92ZWp1aWNl", "bG92ZW11c2NsZQ==", "bG92ZXBpc3RvbA==", "bG92ZXJvY2tldA==", "bHNk", "bHViZWpvYg==", "bHVjaWZlcg==", "bHluY2g=", "bWFjYWNh", "bWFja2RhZGR5", "bWFuaGF0ZXI=", "bWFucGFzdGU=", "bWFyaWp1YW5h", "bWFyeWphbmU=", "bWFzdGFiYXQ=", "bWFzdGVyYmF0", "bWFzdHJhYmF0", "bWFzdHVyYmF0", "bWF0dHJlc3NwcmluY2Vzcw==", "bWNrZGFkZHk=", "bWVhdGJlYXQ=", "bWVhdHJhY2s=", "bWV0aA==", "bWV4aWNtZ2dlcg==", "bWdnb3I=", "bWlkZWFzdA==", "bWlsZg==", "bWlub3JpdGllcw==", "bWlub3JpdHk=", "bW9ja2V5", "bW9ja2ll", "bW9ja3k=", "bW9mbw==", "bW9reQ==", "bW9sZXN0", "bW9uZXlzaG90", "bW9ua2V5", "bW9vbmNyaWNrZXQ=", "bW9ybW9u", "bW9yb24=", "bW9zbGVt", "bW9zbGlt", "bW90aGFm", "bW90aGVyZg==", "bXVmZg==", "bXVsYXRv", "bXVsYXR0bw==", "bXVuY2g=", "bXVuY2hlcg==", "bXVudA==", "bXVyZGVy", "bXVzbGVt", "bXVzbGlt", "bmFnZ2Vy", "bmFnZ3I=", "bmFrZWQ=", "bmFyY28=", "bmFzdHk=", "bmF6aQ==", "bmVjcm9waGls", "bmVncm8=", "bmdncg==", "bmlnZ2E=", "bmlnZ2Vy", "bmlnZ3Vy", "bmlnbGV0", "bmlnbm9n", "bmlncg==", "bmlncmU=", "bmlwcGxl", "bml0dGl0", "bmxnZw==", "bm9va2ll", "bm9va3k=", "bm9vbmVy", "bnVkZQ==", "bnVrZQ==", "bnltcGhv", "bnltcGhldHRl", "b250aGVyYWc=", "b3JhbA==", "b3JnYXNpbQ==", "b3JnYXNt", "b3JnaWVz", "b3JneQ==", "b3JpZW50YWw=", "b3JpZW50bA==", "b3NhbWE=", "cGFraXN0YW4=", "cGFsZXN0aW4=", "cGFuc2llcw==", "cGFuc3k=", "cGF5bw==", "cGNrZXRwb29s", "cGVhcmxuZWNrbGFjZQ==", "cGVja2Vy", "cGVkbw==", "cGVlbg==", "cGVlcHNob3c=", "cGVnZ2luZw==", "cGVuZHk=", "cGVuZGVqbw==", "cGVuZXRyYXQ=", "cGVuaXM=", "cGVudGhvdXNl", "cGVyaW9k", "cGVybG4=", "cGVydg==", "cGhpbGxpcGk=", "cGh1aw==", "cGltcA==", "cGlzcw==", "cGlzdG9s", "cGl4aWU=", "cGl4eQ==", "cGxheWJveQ==", "cGxheWdpcmw=", "cGxtcA==", "cG9ja2V0cG9vbA==", "cG9sYWNr", "cG9sb2Nr", "cG9vbnRhbmc=", "cG9vcA==", "cG9vcndoaXRl", "cG9waW1w", "cG9ybg==", "cG92ZXJ0eQ==", "cHJlZ25hdA==", "cHJlZ25hbnQ=", "cHJpY2s=", "cHJsbg==", "cHJvbnByaW5jZXNz", "cHJvc3RhdA==", "cHJvc3RpdHV0", "cHJvdGVzdGFudA==", "cHViZQ==", "cHViaWM=", "cHVja2J1bm4=", "cHVkYm95", "cHVkZGJveQ==", "cHVrZQ==", "cHVuZXRhbmc=", "cHVudGFuZw==", "cHVzc3k=", "cXVlZWY=", "cXVlZXI=", "cXVpY2tpZQ==", "cmFjaWFs", "cmFjaXN0", "cmFnaGVhZA==", "cmFwZQ==", "cmFwaXN0", "cmF3ZG9n", "cmF3ZGF3Zw==", "cmVhbGl0eWtpbmc=", "cmVhcmVuZA==", "cmVhcmVudHJ5", "cmVjdHVt", "cmVkbGlnaHQ=", "cmVkbmVjaw==", "cmVlZmVy", "cmVlc3RpZQ==", "cmVmdWdlZQ==", "cmVpY2g=", "cmVwdWJsaWNhbg==", "cmV0YXJk", "cmliYmVk", "cmlnZ2Vy", "cmltam9i", "cmltbWluZw==", "cm91bmRleWU=", "c2FkaXM=", "c2Fkb20=", "c2F0YW4=", "c2F1ZGk=", "c2Npc3NvcmluZw==", "c2NobG9uZw==", "c2NyZXc=", "c2Nyb3Q=", "c2Nyb3R1bQ==", "c2N1bQ==", "c2VkdWNl", "c2VkdWNpbmc=", "c2VtZW4=", "c2VwcHVrdQ==", "c2VydmFudA==", "c2V4", "c2hhaXQ=", "c2hhdA==", "c2hoaGl0", "c2hoaXQ=", "c2hpdA==", "c2hvb3Q=", "c2lwaGlsaXM=", "c2l4c2l4c2l4", "c2l4dHluaW5l", "c2thbms=", "c2tpbmZsdXRl", "c2t1bQ==", "c2xhbnRleWU=", "c2xhdWdodGVy", "c2xhdmU=", "c2xheQ==", "c2xlZXpl", "c2xpZGVpdGlu", "c2xpbWViYWxs", "c2xpbWVidWNrZXQ=", "c2x1dA==", "c21hY2s=", "c21lZ21h", "c21va2luZw==", "c211dA==", "c25hdGNo", "c25pcGVy", "c29kb20=", "c29ub2Zh", "c3Bhbms=", "c3Blcm0=", "c3BpY2s=", "c3Bvb2dl", "c3ByZWFkZWFnbGU=", "c3B1bms=", "c3RlcGJyb3RoZXI=", "c3RlcGZhdGhlcg==", "c3RlcGRhdWdodGVy", "c3RlcHNpc3Rlcg==", "c3RpZmZ5", "c3RyYXBvbg==", "c3RyaXA=", "c3Ryb2tl", "c3Ryb2tpbmc=", "c3R1cGlk", "c3Vjaw==", "c3VpY2lkZQ==", "c3dhbGxvdw==", "c3dhc3Rpa2E=", "c3dhdHN0aWth", "c3dhdHp0aWth", "c3dpbmdlcg==", "c3lwaGlsaXM=", "dGFtcG9u", "dGVhdA==", "dGVycm9y", "dGVzdGVz", "dGVzdGljbA==", "dGVzdGljdWw=", "dGhpY2tsaXBz", "dGhpcmRleWU=", "dGhpcmRsZWc=", "dGhyZWVzb20=", "dGhyZWVzb21l", "dGhyZWV3YXk=", "dGlua2xl", "dGl0am9i", "dGl0bGljaw==", "dGl0bG92ZQ==", "dGl0cw==", "dGl0dGll", "dGl0dHk=", "dG50", "dG9pbGV0", "dG9uZ2V0aHJ1c3Q=", "dG9uZ3Vl", "dG9zc2Vy", "dG93ZWxoZWFk", "dHJhaWxlcnRyYXNo", "dHJhbXA=", "dHJhbm5pZQ==", "dHJhbm55", "dHJhbnN2ZXN0", "dHJvamFu", "dHVnam9i", "dHVyZA==", "dHVybm9u", "dHdhdA==", "dHdlcms=", "dHdpbms=", "dXBza2lydA==", "dXJpbmFy", "dXJpbmF0", "dXJpbmU=", "dXNhbWE=", "dXRlcnVz", "dmFnaW5h", "dmF0aWNhbg==", "dmlicmF0", "dmlldGNvbmc=", "dmlvbGVu", "dmlyZ2lu", "dm9taXQ=", "dnVsdmE=", "d2Fuaw==", "d2F5c3RlZA==", "d2F5c3Rpbmc=", "d2VhcG9u", "d2VlZA==", "d2Vlbmll", "d2Vlbnk=", "d2Vld2Vl", "d2VsZmFyZQ==", "d2V0YmFjaw==", "d2V0c3BvdA==", "d2hhc2g=", "d2hpZ2dlcg==", "d2hpc2tleQ==", "d2hpc2t5", "d2hpdGVjaG9jb2xhdGU=", "d2hpdGV0cmFzaA==", "d2hpdGV5", "d2hvcmU=", "d2lnZ2Vy", "d2luZQ==", "d29tZW4=", "d3N1enppZQ==", "d3Rm", "d3Vzcw==", "eWVsbG93bWFu", "eWVsbG93ZmV2ZXI=", "eW9tYW0=", "eW9tb20=", "emlnYWJv", "emlwcGVyaGVhZA==", "Njk=", "NDIw", "NjY2", "ODg=" ].map(x => atob(x)); // Use any name in private matches const _includes = String.prototype.includes; String.prototype.includes = function () { if (wordFilterArr.includes(arguments[0])) return false; return _includes.apply(this, arguments); }