diff options
author | root <root@annapurna.annapurna.fitness> | 2025-07-09 16:06:10 +0200 |
---|---|---|
committer | root <root@annapurna.annapurna.fitness> | 2025-07-09 16:06:10 +0200 |
commit | 72cb72a14dd0f64b1cd861057b61266dfc10bb76 (patch) | |
tree | 9f0988b12bbede1436583e5d9ddd40314d4d3582 |
initial commit
-rw-r--r-- | logical_operators/.DS_Store | bin | 0 -> 6148 bytes | |||
-rw-r--r-- | logical_operators/and.py | 18 | ||||
-rw-r--r-- | logical_operators/not.py | 16 | ||||
-rw-r--r-- | logical_operators/or.py | 18 | ||||
-rw-r--r-- | logical_operators/xor.py | 23 |
5 files changed, 75 insertions, 0 deletions
diff --git a/logical_operators/.DS_Store b/logical_operators/.DS_Store Binary files differnew file mode 100644 index 0000000..a98982f --- /dev/null +++ b/logical_operators/.DS_Store diff --git a/logical_operators/and.py b/logical_operators/and.py new file mode 100644 index 0000000..7e6a352 --- /dev/null +++ b/logical_operators/and.py @@ -0,0 +1,18 @@ +from sys import argv + +# Read two files as byte arrays +file1_b = bytearray(open(argv[1], 'rb').read()) +file2_b = bytearray(open(argv[2], 'rb').read()) + +# Set the length to be the smaller one +size = len(file1_b) if len(file1_b) < len(file2_b) else len(file2_b) +andd_byte_array = bytearray(size) + +# AND between the files +for i in range(size): + andd_byte_array[i] = file1_b[i] & file2_b[i] + +# Write the ANDd bytes to the output file +open(argv[3], 'wb').write(andd_byte_array) + +print(f"[*] {argv[1]} AND {argv[2]}\n[*] Saved to \033[1;33m{argv[3]}\033[1;m.") diff --git a/logical_operators/not.py b/logical_operators/not.py new file mode 100644 index 0000000..e010561 --- /dev/null +++ b/logical_operators/not.py @@ -0,0 +1,16 @@ +from sys import argv + +# Read two file as byte array +file_b = bytearray(open(argv[1], 'rb').read()) + +size = len(file_b) +notd_byte_array = bytearray(size) + +# NOT the file +for i in range(size): + notd_byte_array[i] = file_b[i] ^ 255 + +# Write the NOTd bytes to the output file +open(argv[2], 'wb').write(notd_byte_array) + +print (f"[*] NOT {argv[1]}\n[*] Saved to \033[1;33m{argv[2]}\033[1;m.") diff --git a/logical_operators/or.py b/logical_operators/or.py new file mode 100644 index 0000000..acc8c62 --- /dev/null +++ b/logical_operators/or.py @@ -0,0 +1,18 @@ +from sys import argv + +# Read two files as byte arrays +file1_b = bytearray(open(argv[1], 'rb').read()) +file2_b = bytearray(open(argv[2], 'rb').read()) + +# Set the length to be the smaller one +size = len(file1_b) if len(file1_b) < len(file2_b) else len(file2_b) +ord_byte_array = bytearray(size) + +# OR between the files +for i in range(size): + ord_byte_array[i] = file1_b[i] | file2_b[i] + +# Write the ANDd bytes to the output file +open(argv[3], 'wb').write(ord_byte_array) + +print (f"[*] {argv[1]} OR {argv[2]}\n[*] Saved to \033[1;33m{argv[3]}\033[1;m.") diff --git a/logical_operators/xor.py b/logical_operators/xor.py new file mode 100644 index 0000000..17bd630 --- /dev/null +++ b/logical_operators/xor.py @@ -0,0 +1,23 @@ +from sys import argv +""" +0 + 0 -> 1 +1 + 1 -> 1 +0 + 1 -> 0 +1 + 0 -> 0 +""" +# Read two files as byte arrays +file1_b = bytearray(open(argv[1], 'rb').read()) +file2_b = bytearray(open(argv[2], 'rb').read()) + +# Set the length to be the smaller one +size = min(len(file1_b), len(file2_b)) +xord_byte_array = bytearray(size) + +# XOR between the files +for i in range(size): + xord_byte_array[i] = file1_b[i] ^ file2_b[i] + +# Write the XORd bytes to the output file +open(argv[3], 'wb').write(xord_byte_array) + +print(f'[*] {argv[1]} XOR {argv[2]}\n[*] Saved to \033[1;33m{argv[3]}\033[1;m.')
\ No newline at end of file |