tools for reverse engineering things that involve large trees that piss me off
find by key
function findByKey(object, key, seen = new Set(), path = '') {
if (seen.has(object)) return undefined;
seen.add(object);
tools for reverse engineering things that involve large trees that piss me off
function findByKey(object, key, seen = new Set(), path = '') {
if (seen.has(object)) return undefined;
seen.add(object);
this scrapes a list of blacket usernames off the bazaar. | |
this requires the axios package and a new-ish node.js version. | |
don't forget to fill out 'username' and 'password'. | |
a demo list of usernames is provided. | |
if you don't see the script, scroll past all the usernames. |
yup, this holds the JS for the shell shockers admin panel.
have fun!
/* | |
This file hosts an unmodified and obfuscated version of BetterBlacket v2.1.1b. | |
This file is placed here as a memory to what was previously a formidable mod. | |
Parts of this code are in violation of Blacket Terms of Service. Despite this, | |
we trust that you can be smart enough to not use it without editing code first. | |
The "logger" that previously allowed remote execution has been dead since 1/1/24, | |
and cannot be run in the previous way that it was, so you're safe from that. | |
let lowerCaseBlooks = {}; | |
Object.keys(blacket.blooks).forEach((blook) => { | |
lowerCaseBlooks[blook.toLowerCase()] = blacket.blooks[blook]; | |
}); | |
blacket.socket.on('messages-create', (m) => { | |
let content = m.data.message.content; | |
if (content.match(/\[([^\]]+)\]/g)) { | |
let match = content.replace(/\[([^\]]+)\]/g, (match, blook) => { | |
if (!m.data.author.permissions.includes("use_blook_emojis")) return; |