以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  大数据应用与管理  (http://www.njcie.com/bbs/list.asp?boardid=32)
----  可以加密原始Python源代码的Python库——pyarmor  (http://www.njcie.com/bbs/dispbbs.asp?boardid=32&id=1975)

--  作者:admin
--  发布时间:2023/2/11 20:37:53
--  可以加密原始Python源代码的Python库——pyarmor

pyarmor 是一个开源的 Python 代码加密工具。它可以帮助用户加密 Python 脚本,以防止恶意用户窃取代码。

 

使用 pyarmor 可以将 Python 脚本加密为机器码,以防止直接读取代码。用户可以控制加密的代码的访问权限,例如可以设置加密代码仅在指定的计算机上运行。

除了加密代码,pyarmor 还支持打包加密的代码,使得代码更安全,更难破解。

 

https://github.com/dashingsoft/pyarmor

 

比如对于Exec.py文件:

import pandas as pd

print(pd.DataFrame)

加密:pyarmor obfuscate Exec.py
在当前目录下生成一个dist目录,里面有个同名文件,文件内容为:

from pytransform import pyarmor_runtime
pyarmor_runtime()
__pyarmor__(__name__, __file__, b\'\\x50\\x59\\x41\\x52\\x4d\\x4f\\x52\\x00\\x00\\x03\\x07\\x00\\x42\\x0d\\x0d\\x0a\\x09\\x34\\xe0\\x02\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x40\\x00\\x00\\x00\\xd9\\x00\\x00\\x00\\x00\\x00\\x00\\x18\\x5b\\x14\\x0b\\x51\\x74\\x1f\\x9b\\x0b\\x38\\xfb\\xa0\\xd8\\xb1\\xb7\\x75\\xa0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x9d\\x59\\xe5\\x5f\\x8e\\xd9\\xb4\\x09\\x98\\xa2\\x77\\xd7\\x92\\x4c\\xf5\\xec\\xf5\\x76\\xfa\\x0e\\xb8\\x7a\\x01\\xc8\\xe6\\xfc\\xc1\\xe3\\xa4\\xc8\\x79\\x80\\x7b\\x13\\x49\\x52\\x99\\x99\\xfb\\x91\\xdf\\x65\\x7e\\x98\\x9c\\x34\\xd1\\x69\\x7a\\xd9\\x89\\xeb\\x9e\\x69\\xb4\\xe9\\xf0\\x92\\xb9\\xbe\\xd2\\x65\\xd9\\x25\\x61\\x85\\xc4\\x52\\xd4\\xa8\\x04\\x05\\x0e\\xd6\\x3e\\x7c\\x88\\xaf\\x8c\\x1c\\xec\\xd1\\xe6\\xb3\\x12\\x86\\xe2\\xb1\\x47\\x56\\x5b\\x0b\\x5c\\x0f\\xc0\\x1f\\xc1\\xb3\\x02\\xa0\\x78\\x59\\x77\\xe3\\x92\\x3f\\x06\\xf4\\x21\\xae\\xf8\\xe7\\x9a\\xc6\\x7c\\x90\\x78\\xb8\\x81\\x23\\x2c\\x52\\x69\\xd3\\x84\\x88\\xb0\\xe2\\x85\\x89\\xd9\\x96\\xef\\xc5\\x34\\xee\\xd9\\x13\\xbc\\x5a\\x14\\x4c\\x4f\\x33\\xa6\\x50\\x9e\\x15\\x4c\\x66\\x5c\\xcf\\x31\\xf3\\x43\\x87\\x57\\xb0\\xfd\\x99\\xef\\xc1\\xc0\\xe0\\xeb\\xd4\\x80\\xff\\xdf\\x25\\xab\\x7a\\xc8\\x13\\x01\\x7f\\x6d\\xe7\\xe4\\xbd\\x99\\x88\\xb2\\x28\\xc2\\x5c\\xab\\x8f\\x86\\xc6\\x92\\x8a\\x00\\x1b\\xfd\\x4b\\x77\\xbb\\x32\\xa8\\xda\\x93\\xa2\\x40\\xa3\\xdf\\x20\\x08\\xf8\\x1b\\xf2\\x45\\x0b\\xd0\\x42\\x6d\\xec\', 2)

 

运行加密文件:python dist/Exec.py
效果一样