0

我正在为我的学士论文开发一个简单的勒索软件脚本,以了解不同的防火墙制造商如何解决威胁保护/预防。我使用 cryptography.fernet 编写了一个简单的 python 脚本来生成密钥并加密一些示例文件。要在尚未安装 python 的测试机器上运行我的脚本,我需要构建一个 .exe 并执行它。我尝试了不同的模块,例如 pyinstaller,但 Windows Defender 立即触发了警报。但是我设法使用 py2exe 解决了这个问题。我已经创建了 python 脚本并且一切正常,直到我构建 .exe 文件。

执行以下命令时收到 4 个错误:python setup.py py2exe

4 missing Modules
-----------------
? _posixshmem    imported from multiprocessing.resource_tracker, multiprocessing.shared_memory
? bcrypt         imported from cryptography.hazmat.primitives.serialization.ssh
? readline       imported from cmd, code, pdb
? resource       imported from test.support

由于某种原因,.exe 文件将在dist文件夹中构建,但当我开始执行文件时无法正常工作。控制台出现一毫秒然后消失。示例文件仍然可读。我试图注释掉几乎所有内容,但我仍然遇到同样的问题。我认为上面使用的一些模块与py2exe不兼容...

我的setup.py是:

from distutils.core import setup
import py2exe
import os
import time
import getpass
import pathlib
import ctypes
from cryptography.fernet import Fernet

setup(console=['dll32.py'])

我使用命令提示符启动 .exe 并收到以下错误:

C:\Users\dj\Desktop\win64\dist>dll32.exe
Traceback (most recent call last):
File "dll32.py", line 6, in <module>
File "<frozen zipimport>", line 259, in load_module
File "cryptography\fernet.pyc", line 16, in <module>
File "<frozen zipimport>", line 259, in load_module
File "cryptography\hazmat\primitives\padding.pyc", line 11, in <module>
File "<frozen zipimport>", line 259, in load_module
File "<loader>", line 10, in <module>
File "<loader>", line 8, in __load
ImportError: (No module named '_cffi_backend') 'C:\\Users\\dj\\Desktop\\win64\\dist\\cryptography.hazmat.bindings._padding.pyd'

我正在使用Python 3.9.4

感谢您的时间。

4

0 回答 0