No puedes envíar la variable f, ya que contiene solamente el buffer donde está abierto el fichero, debes recorrerlo
f = open("archivo.exe", "rb")
while True:
linea = f.readline()
if not linea: break
s.send(linea)
Aunque esto es un poco loco ya que son archivos binarios, yo los enviaría jugando con base64
import base64
f = open("archivo.exe", "rb")
while True:
encoded = base64.b64encode(f.readline())
if not f.readline(): break
s.send(encoded)
Algo así, revisalo, además deberás decodificar el base64 al otro lado