Usage: java -jar dropper.jar [options]
--help, -h Prints this menu and exits.
--safety-off, -so This flag must be specified to execute the modifications specified by embedded payloads (enabling the flag disables the built-in safety).
--search-directories, -s Specifies a comma separated list of directory paths to search for targets, if not specified a default set of search directories will be used.
--output-directory, -o Specifies the output directory to save modified runtimes, if not specified output files will be written as temporary files.
--replace-target, -r Attempt to replace target with modified target.
--disable-watermarking, -dw Disables watermarking the modified target (can be used for additional stealth, but could also cause problems for watchers). Watermarks are used to prevent remodifying a target.
--ignore-watermarks, -iw Ignores watermarks and modifies targets regardless of whether or not they have been previously modified.
--single-in
View StringAlphabet.java
import java.util.ArrayList; | |
import java.util.Iterator; | |
public class StringAlphabet implements Iterable<String> { | |
public static void main(String[] args) { | |
ArrayList<Character> chars = new ArrayList<Character>(); | |
chars.add('a'); | |
chars.add('b'); | |
chars.add('c'); |
View SE421.java
public class SE421 { | |
public static void main(String[] args) { | |
print("Hello"); | |
/* | |
* TODO: print World in unicode | |
* \u002A\u002F\u0070\u0072\u0069\u006E\u0074\u0028\u0022\u0043\u0072\u0075\u0065\u006C\u0022\u0029\u003B\u002F\u002A | |
*/ | |
print("World"); |
View heartbleed-session-tokens.py
#!/usr/bin/python | |
# Connects to servers vulnerable to CVE-2014-0160 and looks for cookies, specifically user sessions. | |
# Michael Davis (mike.philip.davis@gmail.com) | |
# Based almost entirely on the quick and dirty demonstration of CVE-2014-0160 by Jared Stafford (jspenguin@jspenguin.org) | |
# The author disclaims copyright to this source code. | |
import select |
View PayloadDropperOptions.md
View gist:b84acd6887e8fece6e329aa6e7822c57
### Keybase proof | |
I hereby claim: | |
* I am benjholla on github. | |
* I am benjholla (https://keybase.io/benjholla) on keybase. | |
* I have a public key whose fingerprint is 9F91 64D0 3952 07B3 AAA4 5214 CC5B E141 4F37 D334 | |
To claim this, I am signing this object: |
View SliceExample.java
package examples; | |
public class SliceExample { | |
public static void main(String[] args) { | |
/* 1 */ | |
int i = readInput(); | |
/* 2 */ | |
if(i == 1){ |
View BasicProgramDependenceGraphExample.java
/** | |
* Basic Program Dependence Graph (PDG) example from: | |
* https://www.cs.colorado.edu/~kena/classes/5828/s00/lectures/lecture15.pdf | |
* | |
* @author Ben Holland | |
*/ | |
public class BasicProgramDependenceGraphExample { | |
public static void main(String[] args) { | |
/* 1 */ |
View DynamicDispatchExample.java
public class DynamicDispatchExample { | |
public static void main(String[] args){ | |
A b1 = new B(); | |
A c1 = new C(); | |
A b2 = b1; | |
A c2 = c1; | |
// what will get printed? |
View long_jump.c
#include <stdio.h> | |
#include <setjmp.h> | |
// saves the stack context/environment for nonlocal gotos | |
jmp_buf env; | |
// foo immediately makes a long jump to the setjmp in main | |
void foo(void){ | |
longjmp(env,1); | |
} |
View Quine.java
public class Quine { | |
public static void main(String[] args) { | |
char quote = 34; | |
String[] code = { | |
"public class Quine {", | |
" public static void main(String[] args) {", | |
" char quote = 34;", | |
" String[] code = {", | |
" };", | |
" for(int i=0; i<4; i++){", |
NewerOlder