summaryrefslogtreecommitdiff
path: root/task4.c
diff options
context:
space:
mode:
Diffstat (limited to 'task4.c')
-rw-r--r--task4.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/task4.c b/task4.c
new file mode 100644
index 0000000..fe812ab
--- /dev/null
+++ b/task4.c
@@ -0,0 +1,41 @@
+
+#include "lib.h"
+
+void main() {
+ /** read the file */
+ FILE *fp;
+ int bytes_read;
+ int malloc_size = 62;
+ int line_number = 0;
+ int j;
+ char *string = malloc(malloc_size);
+ char *string2 = malloc(malloc_size);
+ char *cleartext = malloc(malloc_size);
+ char *keys = malloc(255);
+ char single_key;
+ int length;
+
+ fp = fopen("4.txt", "r");
+
+ if (fp == NULL) {
+ printf("Error open file\n");
+ exit(1);
+ }
+
+ while (fscanf(fp, "%61c", string) != EOF) {
+ j = decode_hex_string(string, string2);
+ length = brute_force_single_byte_xor(string2, j, keys);
+ if (length > 0) {
+ printf("line %i:\n", line_number);
+ for(j=0;j<length;j++) {
+ single_key = keys[j];
+ xor_string(string2, &single_key, cleartext);
+ printf("%s\n", cleartext);
+ }
+ }
+ line_number++;
+ }
+
+ fclose(fp);
+
+}