file_dump_tools/extract.c

29 lines
607 B
C

#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char** argv)
{
if (argc != 5)
{
fprintf(stderr, "extractor [usage]: input_file output_file size offset");
return EXIT_FAILURE;
}
char* in = argv[1];
char* out = argv[2];
int size = atoi(argv[3]);
int offset = atoi(argv[4]);
char* data = (char*)malloc(size + 1 * sizeof(char));
FILE* fin = fopen(in, "r");
fseek(fin, offset, SEEK_SET);
fread(data, sizeof(char), size, fin);
data[size + 1] = 0;
fclose(fin);
FILE* fout = fopen(out, "w");
fwrite(data, sizeof(char), size, fout);
fclose(fout);
free(data);
return EXIT_SUCCESS;
}