diff --git a/.github/workflows/build_master.yml b/.github/workflows/build_master.yml index 0dc3f3650..38f47c494 100644 --- a/.github/workflows/build_master.yml +++ b/.github/workflows/build_master.yml @@ -90,7 +90,22 @@ jobs: # XOR encrypt the compressed file KEY='Prevent_Online_AVs_From_Flagging_HackTricks_Search_Gzip_As_Malicious_394h7gt8rf9u3rf9g' - python3 - << 'PYTHON_SCRIPT' + cat > /tmp/xor_encrypt.py << 'EOF' + import sys + key = sys.argv[1] + input_file = sys.argv[2] + output_file = sys.argv[3] + with open(input_file, 'rb') as f: + data = f.read() + key_bytes = key.encode('utf-8') + encrypted = bytearray(len(data)) + for i in range(len(data)): + encrypted[i] = data[i] ^ key_bytes[i % len(key_bytes)] + with open(output_file, 'wb') as f: + f.write(encrypted) + print(f"Encrypted: {len(data)} bytes") + EOF + python3 /tmp/xor_encrypt.py "$KEY" "${ASSET}.gz" "${ASSET}.gz.enc" ' import sys key = sys.argv[1] input_file = sys.argv[2] diff --git a/.github/workflows/translate_all.yml b/.github/workflows/translate_all.yml index 3914d3499..527d397a7 100644 --- a/.github/workflows/translate_all.yml +++ b/.github/workflows/translate_all.yml @@ -185,8 +185,23 @@ jobs: echo "Compression: ${ORIGINAL_SIZE} bytes -> ${COMPRESSED_SIZE} bytes (${RATIO}%)" # XOR encrypt the compressed file - KEY="Prevent_Online_AVs_From_Flagging_HackTricks_Search_Gzip_As_Malicious_394h7gt8rf9u3rf9g" - python3 - << 'PYTHON_SCRIPT' + KEY='Prevent_Online_AVs_From_Flagging_HackTricks_Search_Gzip_As_Malicious_394h7gt8rf9u3rf9g' + cat > /tmp/xor_encrypt.py << 'EOF' + import sys + key = sys.argv[1] + input_file = sys.argv[2] + output_file = sys.argv[3] + with open(input_file, 'rb') as f: + data = f.read() + key_bytes = key.encode('utf-8') + encrypted = bytearray(len(data)) + for i in range(len(data)): + encrypted[i] = data[i] ^ key_bytes[i % len(key_bytes)] + with open(output_file, 'wb') as f: + f.write(encrypted) + print(f"Encrypted: {len(data)} bytes") + EOF + python3 /tmp/xor_encrypt.py "$KEY" "${ASSET}.gz" "${ASSET}.gz.enc" ' import sys key = sys.argv[1] input_file = sys.argv[2]