1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
import sys
import StringIO
import operator
filename = sys.argv[1]
pw = "MONSUPERMOTDEPASS"
f = open(filename, "rb")
str1 = f.read()
f.close()
sr = StringIO.StringIO(str1)
sw = StringIO.StringIO(str1)
sr.seek(0)
n = 0
for k in range(len(str1)):
print k
# attention origin if n >= len(pw) -1:
if n >= len(pw):
n = 0
p = ord(pw[n])
n += 1
c = sr.read(1)
b = ord(c)
# xor byte with password byte
t = operator.xor(b, p)
z = chr(t)
# advance position to k in stream sw then write one character
sw.seek(k)
sw.write(z)
sw.seek(0)
f = open(filename[:-4]+".flc","wb")
f.write(sw.read())
f.close()
sr.close()
sw.close() |
Partager