我正在尋找一個小型簡單的程序來爭奪和解擾文件的內容。該文件是一個zip文件,因此它可能包含任何字符。正在思考類似於補碼或其他東西,但不知道如何在Python中做到這一點。簡單的Python代碼爭奪解擾文件內容
原因是我目前的僱主有嚴厲的互聯網和文件安裝法律,我想郵寄自己的文件,而郵件程序檢測到附件爲zip文件(即使您將它重命名爲.jpg )。
我已經在我的工作機器上安裝了Python。
我正在尋找一個小型簡單的程序來爭奪和解擾文件的內容。該文件是一個zip文件,因此它可能包含任何字符。正在思考類似於補碼或其他東西,但不知道如何在Python中做到這一點。簡單的Python代碼爭奪解擾文件內容
原因是我目前的僱主有嚴厲的互聯網和文件安裝法律,我想郵寄自己的文件,而郵件程序檢測到附件爲zip文件(即使您將它重命名爲.jpg )。
我已經在我的工作機器上安裝了Python。
您可以嘗試xor
'具有特定值的文件內容,創建一個XOR-cipher,只需確保以二進制模式讀/寫文件。你必須測試一下,看看這是否適合你的目的(它對文本文件沒有問題,我不明白爲什麼它不適用於二進制文件。)
當然,你必須使用相同(鍵)值(例如一個字符)進行編碼和解碼 - 儘管您可以對這兩種操作使用相同的代碼。
下面是一些代碼,我最近整理其做到了這一點:
import sys
def processData(filename, key):
with open(filename, 'rb') as inf, open(filename+'.xor', 'wb') as outf:
for line in inf:
line = ''.join([chr(ord(c)^ord(key)) for c in line])
outf.write(line)
if __name__ == '__main__':
if len(sys.argv) != 3:
print 'Usage: xor_it filename key'
print ' key = a single character'
else:
processData(sys.argv[1], sys.argv[2])
我曾與獲得通過電子郵件和代理限制stealthZip成功!
但是,如果你確實想用python來做,你可以嘗試使用pickle。以二進制模式加載文件,醃製它,發送它,並在接收端取消它。不過,我不知道鹹菜和二進制文件的兼容性如何。
你也可以簡單地base64編碼文件。這會讓你的文件變大,但是所有的ascii文本(你可以直接粘貼在電子郵件中)的好處。
注意這將覆蓋當前文件。將其更改爲輸出到另一個文件並不難。
#b64.py
import base64
import sys
def help():
print """Usage: python b64.py -[de] file
-d\tdecode
-e\tencode"""
sys.exit(0)
def decode(filename):
with open(filename) as f:
bin = base64.b64decode(f.read())
with open(filename,'wb') as f:
f.write(bin)
def encode(filename):
with open(filename,'rb') as f:
text = base64.b64encode(f.read())
with open(filename,'w') as f:
f.write(text)
if len(sys.argv) != 3:
help()
if sys.argv[1] == "-d":
decode(sys.argv[2])
elif sys.argv[1] == "-e":
encode(sys.argv[2])
else:
help()