
所以我想把我開發的這個應用程式送給我的朋友。我嘗試了很多方法(Gmail、WhatsApp 等),但他的 Windows 防毒軟體一直自動刪除檔案。我知道他可以停用防毒軟體,但我最終會將其提供給很多人,而且我不想讓他們停用防毒軟體。
注意:該文件顯然是一個 .exe 文件
編輯:你知道那些應用程式的安裝程式文件,也許我可以製作其中之一
編輯2:這是該應用程式的想法:它非常簡單,它連接到我的設備,如果我在我的設備上運行server.py 文件,則server.py 文件接受連接,我們可以向每個設備發送訊息其他。這是程式碼:client.py(我提供的 .exe 程式碼):
import socket
s = socket.socket()
host = '[REDACTED]'
port = 12345
print('Connecting to ', host, port)
s.connect((host, port))
while True:
msg = input('CLIENT >> ')
s.send(msg.encode())
msg = str(s.recv(1024))
print('SERVER >> ', str(msg))
伺服器.py:
import socket, colorama, os
os.system('cls')
s = socket.socket()
host = ''
port = 12345
print('Server started!')
print('Waiting for clients...')
s.bind((host, port))
s.listen(5)
c, addr = s.accept()
print('Got connection from', addr)
while True:
try:
msg = c.recv(1024)
print(addr, ' >> ', str(msg))
msg = input('SERVER >> ')
c.send(msg.encode())
except:
print(colorama.Fore.RED + 'Connection closed!' + colorama.Style.RESET_ALL)
print('Waiting for clients...')
s.listen(5)
c, addr = s.accept()
print('Got connection from', addr)
編輯3:為什麼.exe檔的安裝程式(例如VisualStudioCodeSetup.exe):沒有被防毒軟體標記?
答案1
如果 exe 是由 py2exe 產生的,那麼它並不是真正的「編譯」執行檔。它是一個「打包」文件,其中原始 Python 字節碼被添加到精簡的 Python 解釋器中,以便用戶不必安裝 Python。另一個腳本打包程式稱為 Autoit,它執行類似的操作。打包程式經常被「腳本小子」用來產生惡意應用程式(「惡意軟體」),而不經常被專業程式設計師使用。由於這些原因,許多防毒系統將它們標記為可疑。打包者通常會使用壓縮或「打包」格式,例如 UPX,這本身就可以觸發防毒操作。我自己已經將它們用於家庭用途,並且我可以更改防毒保護的設定以允許它們。如果他們被隔離,我可以將他們標記為“正常”。如果您的朋友使用(例如)學校發放的筆記型電腦,或者他們有家長控制,則未經「系統管理員」(學校、家長等)的許可或協助,他們可能無法更改其防毒設定。