Skip to content

Instantly share code, notes, and snippets.

View NeatMonster's full-sized avatar

Alex A. NeatMonster

View GitHub Profile
@NeatMonster
NeatMonster / frida-libjpeg.py
Created July 19, 2017 08:04
Dumping JPEGs w/ Frida
import frida, sys
images = {}
def on_message(message, data):
global image
if message['type'] == 'send':
if message['payload'].startswith('['):
message = message['payload']
save = message[message.index(']')+1:]
@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];
@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 / GASimple.java
Created October 21, 2015 20:06
Simple demo of a Genetic Algorithm (GA) (w/o JFreeChart)
package fr.neatmonster.labs;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@NeatMonster
NeatMonster / Main.java
Created October 17, 2015 23:48
Another demonstration of Genetic Algorithms (GAs)
package fr.neatmonster.ga;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Polygon;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
@NeatMonster
NeatMonster / GASimple.java
Last active October 21, 2015 20:07
Simple demo of a Genetic Algorithm (GA) (w/ JFreeChart)
package fr.neatmonster.labs;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
package fr.neatmonster.utils;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
import java.util.UUID;
import fr.lightoner.java.CustomTreeMap;
package fr.neatmonster.utils;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class ValueSortedMap<K extends Comparable<K>, V extends Comparable<V>>
package fr.neatmonster.plugin;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.UUID;