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