moth/packages/net-re/6200/sender.py

39 lines
801 B
Python

from socket import *
import random
import sys
data = open('twain.txt', 'rb').read()
sbox_file = open('sbox.txt', 'wb')
try:
src_port = int(sys.argv[1])
dest_ip = sys.argv[2]
dest_port = int(sys.argv[3])
except:
print "Usage: python sender.py src_port dest_ip dest_port"
random.seed(1)
sbox = []
l = range(256)
for i in range(256):
v = random.choice(l)
sbox.append(v)
l.remove(v)
sbox_file.write('%02x' % v)
sbox_file.close()
data = [ord(c) for c in data]
ciphertext = []
for c in data:
row = (c & 0xf0) >> 4
col = c & 0x0f
index = row * 16 + col
ciphertext.append(chr(sbox[index]))
ciphertext = ''.join(ciphertext)
sock = socket(AF_INET, SOCK_STREAM)
addr = ("", src_port)
sock.bind((addr))
sock.connect((dest_ip, dest_port))
sock.send(ciphertext)