使用python语言如何保密源代码以防止逆向工程?

我以前做过这类事情,而且当时更严格,需要打包部署到客户的服务只在有效期内有效,超过有效期必须更新证书才行。Python代码用任何方法都没法保证保密性,这个时候你可以考虑用一个工具「nuitka」,这个工具会把你的python源代码映射为c 然后编译为二进制,因此对方是无论如何得不到你的源代码的。代价就是nuitka这个工具并不完美,有一些限制并不能100%完美的转换所有python代码。

既然Python是用C实现的,那为什么Python不能直接生成exe呢?

C语言其实是一种比较“古老”而且“底层”的语言。其执行效率,仅次于汇编语言。说其古老,是因为C语言的出现很早。虽然Fortran、Cobol语言出现比C语言更早,但是现代主流操作系统(Windows、Mac Os、linux、iOS、Android、Unix)全部脱胎于C语言。说它底层,是因为C语言设计之初就是为了同时编写汇编语言。

理论上可以全部用汇编写。而汇编语言是执行效率最高的语言。所以Python用C语言写一点也不奇怪。这和它能不能生成Exe一点关系都没有。Exe文件是Windows平台的私有格式。最简单的Exe是Com可执行文件。Exe文件实际上是一个引导程序 一个解释程序组成的。Python语言生成的代码,只需要配以引导程序和解释程序,就可以作为Exe文件执行。

同学都学Java,c 等编译型语言,自学python却总被同学嘲讽为是类似JavaScript的脚本语言,没前途,怎么反驳?

还反驳啥啊!自学python别的都不会,本来就没啥前途。不信出去应聘试试,大厂考各种算法直接问蒙。小厂各种琐碎需求,开荒种地也应付不来。没看现在头条上python都往量化投资上挂嘛!就是在编程圈不好混,才跨界发展呢!在头条上搜搜看看讲python有几个正经搞开发的,国内python都快成培训行业的专用语言了。

上至成人下至儿童忽悠个便!热爱编程是一回事,用编程养家糊口是另一回事。登月大家只能记住阿姆斯特朗,谁知道背后的那些科学家都叫啥?编程开发也是这样,大家只知道今日头条。背后的写算法的那些人没人了解!反驳同学无非就是证明自己的观点,让自己更有尊严。这和编程语言有啥关系?要是真热爱编程当初上学就应该选择相关的专业。


文章TAG:Python3  python  编译  
下一篇