diff options
| author | Benedict <benedict@0xb8000.de> | 2017-02-21 12:52:02 +0100 |
|---|---|---|
| committer | Benedict <benedict@0xb8000.de> | 2017-02-21 13:00:25 +0100 |
| commit | ddce9b2d44ab48fc566870c5155b39c8fc06f24d (patch) | |
| tree | 61e6f8d636190ef19f75bfd9cd8e4861ee04cf4f /set1/task4.c | |
| parent | f71df313c4480fb3edd91edb572d8013bec6d352 (diff) | |
moved files of set1 into subdir
Diffstat (limited to 'set1/task4.c')
| -rw-r--r-- | set1/task4.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/set1/task4.c b/set1/task4.c new file mode 100644 index 0000000..c95e21f --- /dev/null +++ b/set1/task4.c @@ -0,0 +1,37 @@ + +#include "../lib/lib.h" + +int main() { + /** read the file */ + FILE *fp; + int malloc_size = 62; + int line_number = 0; + int j; + char key; + char *string = malloc(malloc_size); + char *string2 = malloc(malloc_size); + char *cleartext = malloc(malloc_size); + struct key_and_freq tmp; + + fp = fopen("4.txt", "r"); + + if (fp == NULL) { + printf("Error open file\n"); + exit(1); + } + + while (fscanf(fp, "%61c", string) != EOF) { + tmp.hits = 0; + j = decode_hex_string(string, string2); + key = brute_force_single_byte_xor(string2, j, &tmp); + xor_string(string2, &key, cleartext, 1, j); + if ((!isprintable(cleartext, j)) || (tmp.hits < 10)) + continue; + + printf("%s", cleartext); + line_number++; + } + + fclose(fp); + return 0; +} |
