python源码加密
‘壹’ 用python编写的软件会被破解吗
不会被破解。由于python成语运行机能。在python编写的软件打包前将各个模块加密,这样一来,就算exe被解包,得到的文件也没法直接看到python源代码,没有源代码也就没办法破解用python编写的软件了。
‘贰’ python写的程序能加密吗
你可以安装pyinstaller,编译成可执行文件,大小会比原文件大。其他方法也有。但是pyinstaller简单一点.
用法:先安装pyinstaller。按照python版本安装:
pip install pyinstaller
安装好之后:pyinstaller -F python文件。
编译好了文件在./dist/下,直接用就行
‘叁’ PHP、python的源码如何保护
不管怎么加密,遇到你说的员工泄露或服务器入侵,都是没用的,只不过花点时间破解而已。只要前端用户无法直接获得后台代码,通常就认为是安全的,至于员工泄露或被入侵的问题,需要通过其他途径去解决,而不是着眼于源代码的加密,因为这种脚本语言不管怎么折腾,最终都要以明码的形式被解析执行的,所以很容就能破解
‘肆’ 如何对Python2.2的PYC进行加密,使别人反编不了
把变量都md5一下。。。。不过有毒了点。。
‘伍’ 求python RSA 算法加密字符串的完整源代码。
import rsa rsaPublickey = int(pubkey, 16) key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥 message = str(servertime) + '\t' + str(nonce) + '\n' + str(password) #拼接明文js加密文件中得到 passwd = rsa.encrypt(message, key) #加密 passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。 return passwd
‘陆’ 为什么python不可加密
可以加密。 python 代码加密甚至可以做到比用汇编手写混淆,用 c 手写混淆更加难以解密。具体做法略复杂仅简单说个过程。
第一级别是源码级别的混淆,用 ast 和 astor ,再自己手写一个混淆器,三五百行的脚本直接混淆到几万行,整个文件面目全非,基本可以做到就算直接放脚本给你拿去逆,除非你再写出来一个逆向前面的混淆算法的脚本来逆(在熟悉 python 的情况下需要花几天,且不说需要了解程序构造原理),手动去调试脚本几乎达到不可行的地步(话费时间再乘以 2 )
第二级别是个性化定制 pyinstaller , pyinstaller 会打包所有需要的库,将脚本也包含进打包的 exe ,但是, pyinstaller 有一个 stub ,相当于一个启动器,需要由这个启动器来解密脚本和导入模块,外面有直接导出脚本的工具,但是那是针对 pyinstaller 自带的启动器做的,完全可以自己修改这个启动器再编译,这样逆向者就必须手动调试找到 main 模块。配合第一级别加密,呵呵,中国就算是最顶尖的逆向专家也要花个一两周,来破解我们的程序逻辑了,就我所知,实际上国内对于 py 程序的逆向研究不多。
第三级别是再上一层,将 py 翻译为 c 再直接编译 c 为 dll ,配合第一阶段先混淆再转 c 再编译,在第一步混淆之后,会产生非常多垃圾(中间层)函数,这些中间层函数在 c 这里会和 py 解释器互相调用,脚本和二进制之间交叉运行,本身混淆之后的源码就极难复原,再混合这一层,想逆向,难。
第四级别是利用 py 的动态特性,绝大多数逆向者都是 c ,汇编出身,对于程序的第一直觉就是,程序就是一条一条的指令,后一条指令必然在这一条指令后面,然而, py 的动态特性可以让代码逻辑根本就不在程序里面,这一点不想多讲,涉及到我一个项目里的深度加密。
第五级别,数学做墙。了解过比特币原理的知道要想用挖比特币就得提供大量算力去帮网络计算 hash ,这个成为 pow ,那么既然已经采用 py 了估计已经不考虑太多 cpu 利用率了,那就可以采用 pow (还有其他的手段)确保程序运行时拥有大量算力,如果程序被单步调试,呵呵,一秒钟你也跑不出来几个 hash 直接拉黑这个 ip (这个说法可能比较难理解,因为我第四层的加密没有说明,不过意思就是拒绝执行就对了)
‘柒’ 使用python语言如何保密源代码以防止逆向工程
Python 这门语言本身就是一边编译一边运行的,有程序,则必有源代码。
如果你非要加密,也不是不可以,推荐你使用一些工具,可以将Python编译成.exe文件。
此外你可以多看一下类似的文章:
如何一本正经地写出别人无法维护的代码?
‘捌’ 如果Python的源代码无法保密,那不是说所有的算法大伙都可以用
可以使用pymod对代码加密部署
先睹为快,看看一个项目发布的时候,只有几个文件,
main.py 项目程序入口
setting.py 项目配置
apps 项目模块
plusins 项目插件目录
pymod 使用指南,访问https://pymod.cn
‘玖’ python如何防止反编译
Python 编译生成 pyc 仅仅为了提升加载速度,并不是为了防止破解,反编译后和原来一模一样。pyinstaller,py2exe,只是把 pyc 打个包,同样很弱。代码混淆也只能增加看懂代码的难度,但并不能防止破解。所以最为稳妥的办法只有修改Python解释器,对源代码进行加密,解释器加载源代码时再解密,这种方法虽然可以防止破解,但给自己带来麻烦不说,发布程序是需要打包自己修改后的解释器,相当麻烦。