I hereby claim:
- I am adrian154 on github.
- I am bithole (https://keybase.io/bithole) on keybase.
- I have a public key whose fingerprint is A30C 4FEE 8843 24A2 2DC7 8ED1 F6B8 7EE1 30D2 D6C5
To claim this, I am signing this object:
// for parsing rev 6 QT metadata | |
data = //.. | |
meta = //.. | |
readNullStr = (buf, idx) => { | |
chars = [] | |
while(buf[idx] != 0) { | |
chars.push(buf[idx]) | |
idx++; |
// README: writeup @ https://blog.bithole.dev/blogposts/ctf-writeups/squarectf-nauseous-process/ | |
const readline = require("readline"); | |
const {spawn} = require("child_process"); | |
let rbp = null, retaddr = null; | |
let index = null; | |
let times = 0; // number of times we have seen 0x3d48--the first occurrence is not the real GOT | |
let times2 = 0; // our current offset within GOT |
// README: writeup @ https://blog.bithole.dev/blogposts/ctf-writeups/udctf-strong-primes/ | |
// generate some small primes for trial division | |
const sieve = new Uint8Array(1e7); | |
const smallprimes = []; | |
for(let i = 2; i < sieve.length; i++) { | |
if(!sieve[i]) { | |
smallprimes.push(BigInt(i)); | |
for(let j = i; j < sieve.length; j += i) { |
// Efficient modular exponentiation using BigInts | |
// Based on pseudocode from https://en.wikipedia.org/wiki/Modular_exponentiation | |
// !! NEVER use this method for actual cryptographic applications !! | |
const powMod = (base, exponent, modulus) => { | |
if(modulus == 1n) { | |
return 0n; | |
} | |
let result = 1n; |
I hereby claim:
To claim this, I am signing this object:
package dev.bithole.bpf; | |
import java.lang.UnsatisfiedLinkError; | |
import java.io.File; | |
import java.io.IOException; | |
import java.lang.ExceptionInInitializerError; | |
import java.io.InputStream; | |
import java.io.OutputStream; | |
import java.io.FileOutputStream; | |
public class BPF { |
module.exports = (func, concurrency) => { | |
let numRunning = 0; | |
const queue = []; | |
const invoke = ({args, resolve, reject}) => { | |
func(...args) | |
.then(resolve) | |
.catch(reject) | |
.finally(() => { |
// extremely bad ad-hoc pgm parser | |
// ONLY SUPPORTS 16-BIT PGMs!! | |
const fs = require("fs"); | |
module.exports = options => { | |
let width, height, pixels; | |
if(options.path) { |
abydos | |
abuser | |
acetyl | |
actins | |
adhort | |
admits | |
advent | |
affixt | |
agents | |
agrote |
#!/bin/bash | |
while curl -sS "https://bruins.admission.ucla.edu/myApplication/Status.aspx" | tac | grep -q 'currently unavailable' | |
do | |
sleep 10 | |
done | |
while true; | |
do | |
echo 'AVAILABLE!!' | |
echo $'\a' | |
sleep 3 |