import base64
s = 'asdsadsadsaf'
print(base64.b64encode(s.encode('utf-8')))
print(base64.b64decode(b'YXNkc2Fkc2Fkc2Fm').decode('utf-8'))
pyarmor pack src/hello.py 将py脚本加密直接生成 可执行文件
pyarmor obfuscate src/hello.py 将py文件 加密 并生成 可以使用python xxx.py 执行的文件 ,将核心代码使用此条命令加密
import os
import time
source_flag = "test" # 项目根 文件夹名称
dest_flag = "test4" # 更改后的代码
def load_dir(rootDir):
for root,dirs,files in os.walk(rootDir):
for file in files:
file_name = os.path.join(root, file)
if file_name.split('.')[-1] == "py":
new_file_name = file_name.replace(source_flag, dest_flag)
obfuscate_file(file_name, new_file_name)
for dirname in dirs:
load_dir(dirname)
def obfuscate_file(file_name, new_file_name):
base_dir = os.path.join(os.path.dirname(__file__), "dist")
new_file_dir = os.path.dirname(new_file_name)
if not os.path.exists(new_file_dir):
os.makedirs(new_file_dir)
# 执行py文件加密操做
try:
os.system("pyarmor obfuscate {}".format(file_name))
time.sleep(5)
except RuntimeError as e:
print("obfuscate error !!!", e)
obfuscate_file_name = os.path.join(base_dir, os.path.basename(file_name))
print(obfuscate_file_name)
fr = open(obfuscate_file_name, "r", encoding="utf-8")
fw = open(new_file_name, "w", encoding="utf-8")
# 执行加密文件读写操做
try:
print("read file start ----->")
content = fr.readlines()[2:]
print("read file end ----->{}".format(content))
print("write file start ----->")
fw.writelines(content)
print("write file end")
time.sleep(10)
except FileNotFoundError as e:
print("file not found",e)
finally:
fr.close()
fw.close()
if __name__ == '__main__':
rootDir = r"D:\\python_runner\\test" # 项目目录
load_dir(rootDir)
# 测试加密代码
from pytransform import pyarmor_runtime
pyarmor_runtime()
from test4.aa.cc.cc import cc # test4 为以前修改后的名字 ,其他路径均不变
cc() # cc
使用打包工具打包成exe文件 python