-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathdocumentation.h
169 lines (167 loc) · 8.01 KB
/
documentation.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
void help(){
printf("-------------------------------------BEGIN BADGER HELP-------------------------------------\n");
printf("|COMMANDS: DESCRIPTION: |\n");
printf("|badger --help || -h Shows this help menu |\n");
printf("|badger --version || -v Shows program version |\n");
printf("|badger --aslr-check Checks for ASLR on host machine |\n");
printf("|badger --lib library.dll function Displays virtual address of library function |\n");
printf("|badger --enable-dep || --disable-dep Enable or disable DEP, admin rights required |\n");
printf("|badger --check-security library.dll Security Details including ASLR, DEP and SEH |\n");
printf("|badger --bruter library.dll function #iter ASLR Function Entropy Bruteforcer |\n");
printf("|badger --enum-func library.dll Enumerate all functions and virtual addreses |\n");
printf("|badger --alpha-ref Display alpha-numeric shellcode reference |\n");
printf("|badger --dos-header library.dll Display the DOS Header |\n");
printf("|badger --pe-header library.dll Display the PE Header |\n");
printf("|badger --ilcd-header library.dll Display Image Load Config Directory Header |\n");
printf("|badger --about Displays the about screen |\n");
printf("--------------------------------------END BADGER HELP--------------------------------------\n");
}
void about(){
printf("---ABOUT BADGER---\n");
printf("Version: 3.0\n");
printf("Made By: Lilly Chalupowski\n");
printf("This application is designed to be the Swiss Army Knife of Windows exploit development\n");
printf("Allowing exploit developers to think more about development than the repetitive tasks done everyday\n");
printf("To participate in this project email [email protected]\n");
printf("IMPORTANT: By using this application you indemnify and hold harmless Lilly Chalupowski\nfor any unethical application or misuse of this software\n");
printf("---WHAT'S NEW---\n");
printf("- Code Cleanup and Formatting\n");
printf("- PE and DOS Header Dump Support\n");
printf("- Image Load Config Directory dump support\n");
printf("- Show DEP, ASLR, and SEH and Canary Properties\n");
printf("- ASLR Bruter to enumerate entropy of ASLR\n");
printf("---FEATURES TO COME---\n");
printf("- x64 support\n");
printf("- Dump ROP Gadgets\n");
printf("- x64 AlphaNumeric Shellcode Reference\n");
printf("- Suggestions are welcome\n");
}
void alphaNumericRef(){
printf("//=====================================================================//\n");
printf("//==================ALPHA-NUMERIC SHELLCODE REFERENCE==================//\n");
printf("//=====================================================================//\n");
printf("//========================OpCodes vs. ASCII============================//\n");
printf("//=====================================================================//\n");
printf("20 = [space]\n");
printf(" ! \" # $ % & ' ( ) * + , - . / 0 1 2 3 4 5\n");
printf("20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35\n");
printf("\n");
printf("6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M\n");
printf("36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d\n");
printf("\n");
printf("N O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a b c d\n");
printf("4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64\n");
printf("\n");
printf("e f g h i j k l m n o p q r s t u v w x y z { |\n");
printf("65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c\n");
printf("\n");
printf("} ~\n");
printf("7d 7e\n");
printf("\n");
printf("//=====================================================================//\n");
printf("//=============OpCodes vs. ASCII vs. x86 Intel ASM=====================//\n");
printf("//=====================================================================//\n");
printf("[arg] = The instruction takes more than one byte, [arg]\n");
printf("is part of instruction that varries depending on the\n");
printf("opcodes provided following it.\n");
printf(" = 20 = [space]\n");
printf(" = 20 = and BYTE [arg]\n");
printf("! = 21 = and DWORD [arg]\n");
printf("\" = 22 = and dl,BYTE PTR [arg]\n");
printf("# = 23 = and [arg],DWORD PTR [arg]\n");
printf("$ = 24 = and al,[arg]\n");
printf("%% = 25 = .byte 0x25\n");
printf("& = 26 = es\n");
printf("' = 27 = daa\n");
printf("( = 28 = sub BYTE PTR [arg],ah\n");
printf(") = 29 = sub DWORD PTR [arg],esp\n");
printf("* = 2a = sub ah,BYTE PTR [arg]\n");
printf("+ = 2b = sub esp,DWORD PTR [arg]\n");
printf(", = 2c = sub al,[arg]\n");
printf("- = 2d = .byte 0x2d\n");
printf(". = 2e = cs\n");
printf("/ = 2f = das\n");
printf("0 = 30 = xor BYTE PTR [arg],ah\n");
printf("1 = 31 = xor DWORD PTR [arg],esp\n");
printf("2 = 32 = xor ah,BYTE PTR [arg]\n");
printf("3 = 33 = xor esp,DWORD PTR [arg]\n");
printf("4 = 34 = xor al,[arg]\n");
printf("5 = 35 = .byte 0x35\n");
printf("6 = 36 = ss\n");
printf("7 = 37 = aaa\n");
printf("8 = 38 = cmp BYTE PTR [arg],ah\n");
printf("9 = 39 = cmp DWORD PTR [arg],esp\n");
printf(": = 3a = cmp ah,BYTE PTR [arg]\n");
printf("; = 3b = cmp esp,DWORD PTR [arg]\n");
printf("< = 3c = cmp al,[arg]\n");
printf("= = 3d = .byte 0x3d\n");
printf("> = 3e = ds\n");
printf("? = 3f = aas\n");
printf("@ = 40 = inc eax\n");
printf("A = 41 = inc ecx\n");
printf("B = 42 = inc edx\n");
printf("C = 43 = inc ebx\n");
printf("D = 44 = inc esp\n");
printf("E = 45 = inc ebp\n");
printf("F = 46 = inc esi\n");
printf("G = 47 = inc edi\n");
printf("H = 48 = dec eax\n");
printf("I = 49 = dec ecx\n");
printf("J = 4a = dec edx\n");
printf("K = 4b = dec ebx\n");
printf("L = 4c = dec esp\n");
printf("M = 4d = dec ebp\n");
printf("N = 4e = dec esi\n");
printf("O = 4f = dec edi\n");
printf("P = 50 = push eax\n");
printf("Q = 51 = push ecx\n");
printf("R = 52 = push edx\n");
printf("S = 53 = push ebx\n");
printf("T = 54 = push esp\n");
printf("U = 55 = push ebp\n");
printf("V = 56 = push esi\n");
printf("W = 57 = push edi\n");
printf("X = 58 = pop eax\n");
printf("Y = 59 = pop ecx\n");
printf("Z = 5a = pop edx\n");
printf("[ = 5b = pop ebx\n");
printf("\\ = 5c = pop esp\n");
printf("] = 5d = pop ebp\n");
printf("^ = 5e = pop esi\n");
printf("_ = 5f = pop edi\n");
printf("` = 60 = pusha\n");
printf("a = 61 = popa\n");
printf("b = 62 = bound esp,QWORD PTR [arg]\n");
printf("c = 63 = arpl WORD PTR [arg],sp\n");
printf("d = 64 = fs\n");
printf("e = 65 = gs\n");
printf("f = 66 = data16\n");
printf("g = 67 = addr16\n");
printf("h = 68 = .byte 0x68\n");
printf("i = 69 = .byte 0x69\n");
printf("j = 6a = push [arg]\n");
printf("k = 6b = .byte 0x6b\n");
printf("l = 6c = ins BYTE PTR es:[edi],dx\n");
printf("m = 6d = ins DWORD PTR es:[edi],dx\n");
printf("n = 6e = outs dx,BYTE PTR ds:[esi]\n");
printf("o = 6f = outs dx,DWORD PTR ds:[esi]\n");
printf("p = 70 = jo loc_[arg]\n");
printf("q = 71 = jno [arg]\n");
printf("r = 72 = jb loc_[arg]\n");
printf("s = 73 = jae loc_[arg]\n");
printf("t = 74 = je loc_[arg]\n");
printf("u = 75 = jne loc_[arg]\n");
printf("v = 76 = jbe loc_[arg]\n");
printf("w = 77 = ja loc_[arg]\n");
printf("x = 78 = js loc_[arg]\n");
printf("y = 79 = jns loc_[arg]\n");
printf("z = 7a = jp loc_[arg]\n");
printf("{ = 7b = jnp loc_[arg]\n");
printf("| = 7c = jl loc_[arg]\n");
printf("} = 7d = jge loc_[arg]\n");
printf("~ = 7e = jle loc_[arg]\n");
printf("//==========================================================//\n");
printf("//====================BY: Lilly Chalupowski=================//\n");
printf("//==========================================================//\n");
printf("//==========================================================//\n");
}