先上图,看你能做到什么程度?
上面每一种方法的具体原理详情以及实现都会在本专栏后续逐个讲到,请关注~~ 本博文只做大概的介绍以及优缺点,暂忽略细节
为什么要加密代码/程序呢?
商业活动中,你辛辛苦苦开发出来的软件,本来是你的饭碗,但是别人搞到了你的源码之后,做了一些修改,直接发布,变成了别人的摇钱树,这~~ Rockstar公司的大作GTA5这款游戏虽然达100个G大小,仅仅泄露了300行C++源码,就让R星坐不住了,可见程序保护的重要性。
1:时间限制
虽然这是最小儿科的保护的方式,但是也可以帮我们初步简历程序防护思维。
本地时间限制就是不联网,使用datetime库,依赖系统时间。
网络时间限制,需要联网通过NTP协议获取网络时间。
思路:设立一个过期时间戳,检测当下时间,如果当前时间大于设立时间戳,程序自动Crash.
优点:操作简单
缺点:太简单,有基础的人一眼能开出来。单独使用,基本没用
2:代码混淆
无论是用网站混淆还是用Pyobfuscate这个库混淆。效果都差不多。
直接看效果:
混淆前:
__all__ = []
class Foo(Bar):
class_public_var = 'class_public_var'
_class_public_var = '_class_public_var'
__class_private_var