|
3594 0 |
Buffer Fuzzer is a fuzzer written in C by TheCodeWeaver. Buffer_Fuzzer is designed for
testing buffer overflows. It outputs the fuzz to a file. It adds B's to the end of the fuzz buffer
to simulate the memory address.
|
Buffer_Fuzzer Version 0.2 Src Release README
README Author: TheCodeWeaver
Sections:
1. Description
2. Compilation
3. Installation
4. Using Buffer_Fuzzer
5. License
Section 1: DESCRIPTION
Buffer Fuzzer is a fuzzer written in C by TheCodeWeaver. Buffer_Fuzzer is designed for
testing buffer overflows. It outputs the fuzz to a file. It adds B's to the end of the fuzz buffer
to simulate the memory address.
Section 2: COMPILATION
Compiling Buffer_Fuzzer requires gcc. The only dependencies are libc. Compiling Buffer_Fuzzer:
gcc Buffer_Fuzzer.c -o bfuzz.
Section 3: INSTALLATION
Simply place the binary generated from compilation in a directory that is part of the PATH
variable.
Section 4: USING BUFFER_FUZZER
Buffer_Fuzzer usage: bfuzz [filename] [file length]. Filename: Name of the file containing the
fuzz output. File length: Length of fuzz buffer (Does not include 8 byte memory address).
Section 5: License
This program is under the terms of the zlib license. A copy of the license is below.
Copyright (c) <2018> <TheCodeWeaver>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
|
/********************************
Project: Buffer_Fuzzer
Filename: Buffer_Fuzzer.c
Since: Dec. 26, 2017 (Original Program)
Author: TheCodeWeaver
Version: 0.2 (Version 0.2 Start Date: Jan. 6, 2018)
About: Creates files to fuzz software buffers. Simulates fuzz and 4 byte memory address.
********************************/
#include <stdio.h>
#include <stdlib.h>
//Fuzzing constants
#define FUZZ "A"
#define ADDRESS "BBBBBBBB"
//Function to create a file and write fuzz to it
void create_and_fuzz(char* file_name, int file_len);
int main(int argc, char *argv[])
{
//Command line arg parsing
if (argc == 1)
{
printf("Usage: bfuzz [filename] [fuzz length]\n");
return 1;
} else if (argc == 3)
{
printf("[+] Creating and fuzzing file...\n");
create_and_fuzz(argv[1], atoi(argv[2]));
printf("[+] Fuzzing finished!\n");
printf("Goodbye.\n");
return 0;
} else
{
printf("Usage: bfuzz [filename] [fuzz length]\n");
return 1;
} //End of if else if else statement
return 0;
} //End of main function
//create_and_fuzz function
void create_and_fuzz(char* file_name, int file_len)
{
//Variables
FILE* fp;
//Open the file and fuzz it
fp = fopen(file_name,"w+");
//Write fuzz to file
for (int i = 0; i < file_len; i++)
{
fprintf(fp, "%s", FUZZ);
} //End of for loop
//Write address to file
fprintf(fp, "%s", ADDRESS);
fclose(fp);
return;
} //End of create_and_fuzz function