I’ve just gone through my friend’s debut CTF; a Risk of Rain 2 inspired CTF by Joseph of cyber-operations.net. Whilst short, it was practically a game jam for someone who had never constructed a CTF before, only played them. So with that in mind this was certainly a quite well-made, coherent and fun CTF. I certainly enjoyed every minute of it (other than figuring out the password format :P more on that later).
Not as exciting as it sounds, functional loops such as .forEach() and .every() were permitted lol So I’ve decided to help maintain a regular schedule I’ll make myself post some past work as well as log what I do these days.
"use strict"; const testlib = require( './testlib.js' ); let dna_matches = []; let dna_freqs = {}; let dna_map = { 'C': ['C'], 'T': ['T'], 'A': ['A'], 'G': ['G'], 'R': ['G', 'A'], 'Y': ['T', 'C'], 'K': ['G', 'T'], 'M': ['A', 'C'], 'S': ['G', 'C'], 'W': ['A', 'T'], 'B': ['G', 'T', 'C'], 'D': ['G', 'A', 'T'], 'H': ['A', 'C', 'T'], 'V': ['G', 'C', 'A'], 'N': ['A', 'G', 'C', 'T'], } let last_entered = ''; let buffers = []; let offset = 0; function isMatch(current, index) { let matchFound = false; if(buffers[index].