Skip to content

Instantly share code, notes, and snippets.

View NeatMonster's full-sized avatar

Alex A. NeatMonster

View GitHub Profile
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.commons.ClassRemapper;
import argparse
from construct import Int16ul, Int64ul
def main(args):
with open(args.kernel, 'rb') as f:
data = f.read()
sym_addrs = data.find(Int64ul.build(0xffffff8008080000) * 2)
for offset in range(0, len(data), 0x100):
@NeatMonster
NeatMonster / value-profiling.diff
Created June 28, 2017 15:40
This small patch adds support for value profiling into AFL 2.42b.
diff -Naur a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c
--- a/llvm_mode/afl-clang-fast.c 2017-01-25 03:51:26.000000000 +0100
+++ b/llvm_mode/afl-clang-fast.c 2017-06-21 16:35:01.203146919 +0200
@@ -120,7 +120,28 @@
http://clang.llvm.org/docs/SanitizerCoverage.html#tracing-pcs-with-guards */
#ifdef USE_TRACE_PC
- cc_params[cc_par_cnt++] = "-fsanitize-coverage=trace-pc-guard";
+ u8 *trace_ind = "";
+ #ifdef USE_TRACE_IND
@NeatMonster
NeatMonster / dmca.txt
Created April 21, 2019 12:34
Companies that have issued the greatest number of DCMA requests to GitHub as of today
97 Pearson
76 Codility
52 Stereoarts
43 Webkul
43 FHAdmin
41 Attributor
37 OffensiveSecurity
35 Odoo
35 Jetbrains
29 Mobiscroll
package fr.neatmonster.lasergun;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@NeatMonster
NeatMonster / value-profiling.diff
Created July 3, 2017 08:28
This small patch adds support for value profiling into AFL 2.44b.
diff -Naur a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c
--- a/llvm_mode/afl-llvm-rt.o.c 2017-02-01 02:59:41.000000000 +0100
+++ b/llvm_mode/afl-llvm-rt.o.c 2017-06-29 15:55:53.052681442 +0200
@@ -304,3 +304,205 @@
}
}
+
+/* This function is called on every indirect call, but only if the binary has
+ been compiled with -fsanitize-coverage=trace-pc,indirect-calls. */
@NeatMonster
NeatMonster / test.c
Created June 28, 2017 15:54
Sample program for testing value profiling.
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
typedef void (*F)();
static F t[256];
package fr.alaric1001.checkpoint;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.Sign;
import org.bukkit.command.Command;
public static class Save {
private final Block block;
private final byte data;
private final Material type;
@SuppressWarnings("deprecation")
public Save(final Block block) {
this.block = block;
type = block.getType();
data = block.getData();
package fr.neatmonster.emerauldbank;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.entity.Villager;
import org.bukkit.event.EventHandler;