导航:首页 > 源码编译 > python源码保护数据库密码

python源码保护数据库密码

发布时间:2024-11-20 20:02:17

① 如果python的源代码无法保密,那不是说所有的算法大伙都可以用

可以使用pymod对代码加密部署

先睹为快,看看一个项目发布的时候,只有几个文件,

main.py 项目程序入口

setting.py 项目配置

apps 项目模块

plusins 项目插件目录

pymod 使用指南,访问https://pymod.cn

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

大家都很忙,谁有时间看你的的烂代码!

如果真的怕泄露,别用python.

我以前做过这类事情,而且当时更严格,需要打包部署到客户的服务只在有效期内有效,超过有效期必须更新证书才行。

Python代码用任何方法都没法保证保密性,这个时候你可以考虑用一个工具“nuitka”,这个工具会把你的python源代码映射为c++然后编译为二进制,因此对方是无论如何得不到你的源代码的。

代价就是nuitka这个工具并不完美,有一些限制并不能100%完美的转换所有python代码。

1.用Cython编译python成 Windows的pyd文件或Linux的so文件,二进制文件相对安全性较高。

2.用源码混淆器把代码搞的又臭又长。。。混淆完了再用Cython编译为二进制。。。这样静态反编译逆向难度也不小。

3.同其他语言程序一样,可以对调试状态进行检测,当处于调试状态时退出程序或进入混乱代码耗费逆向工程人员心神。

4.分享一个跨平台反调试手段,检测函数运行时间,加断点会导致函数运行时间变长,也可感知正在被调试。

Python是提倡开源的,既然选择Python还是拥抱开源才好~ 都开源还担心逆向工程嘛

没有不能逆的软件。

只要汇编语言过关,逆向工程都是可以实现的,不要有其它想法。

你唯一可以做的,就是不让别人用python读取源代码而已。那样实现起来比较简单。

python 适合开发服务器程序,或者自己科研使用的程序,如果是 作为用户程序,安装到 pc 或手机上,还是 其它 c++ 或java 比较合适

1)可以把需要保护的部分用c语言实现,从而编译成so等文件,这样逆向的成本会比较高,可以防止直接打开python文件看到代码逻辑。

2)so文件通过ida等工具也是可以反汇编的,可以通过对c语言进行代码混淆,花指令等操作,提高通过ida等反汇编工具的分析难度。

3)不存在绝对无法逆向的技术手段,因此只能是看具体需求,选择具体的防逆向的技术手段。

有工具类似py2exe转成可执行程序,隐藏全部源代码,虽然bytecode还是可以反编译,但是难度大多了

1. 最稳的就是你改cpython加载代码的过程,改zip包读取最稳。

2. 借助一些加密工具在编译pyc之前进行一定的混淆,可以防君子,自我安慰一下。

商用一般都是用第一种办法,小打小闹用第二种。

可以考虑使用pymod工具,使用pymod pack 将模块加密打包,发布的时候一个模块就一个文件。

先睹为快,看看一个项目发布的时候,只有几个文件,

main.py 项目程序入口

setting.py 项目配置

apps 项目模块

plusins 项目插件目录

创建项目 pymod create demo1

cd demo1

创建模块 pymod add mod1

启动pycharm 开始编写功能模块

一个模块默认由三个文件组成

__init__.py 、 handlers.py 、param_schemas.py

业务逻辑主要在handlers.py中编写

__init__.py

from pymod.blueprint import Blueprint api = Blueprint("/mod1") from .handlers import *

param_schemas.py

schema_sfz = { "type": "object", "required": ["sfz", "nl"], "properties": { "sfz": { "type": "string", "minLength": 18, "maxLength": 18, "description": "身份证明号码" }, "nl": { "type": "integer", "minimum": 0, "maximum": 150, "description": "年龄" } } }

handlers.py

from . import api from pymod.ext import RequestHandler, params_validate,TrueResponse,FalseResponse from .param_schemas import schema_sfz from pymod.plugins import sfz_check @api.add_route('/hello') class Hello(RequestHandler): def get(self): self.write('Hello World') @params_validate(schema_sfz) def post(self): sfz = self.get_json_arg("sfz") nl =self.get_json_arg("nl") # self.write(TrueResponse(sfz=sfz, nl=nl)) if sfz_check.check_sfzmhm(sfz): self.write(TrueResponse(hint="身份证明号码验证通过")) else: self.write(FalseResponse(hint="身份证明号码验证失败"))

三、项目部署

程序调试 修改setting.py

# 开发模式下 运行的模块名称必须填写

moles = ["mod1"] moles_config ={ "mod1": { "deny_ip": "", "allow_ip": "*" } }

启动程序 python main.py

调试没有问题,进入发布模式

在项目目录下

pymod pack mod1

在target目录下生成mod1.mod文件,将其复制到apps目录中

修改setting.py

# 开发模式下 运行的模块名称必须填写

moles = []

再次运行 python main.py 测试

一切OK,系统就可以发布了。

说不能保密的,是没有研究过python的机制的。我做个一个项目,所有源代码自定义加密,运行时解密。

③ python 如何保密源代码

python 如何保密源代码?

相关推荐:《Python教程》

加密方式
对 Python 加密时可能会有两种形式,一种是对Python转成的exe进行保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程。

1、对 python转exe加密,下载最新版Virbox Protector加密工具,使用加密工具直接对demo.exe进行加密操作。

2、对.py/.pyc加密。

第一步,使用加密工具对 python 安装目录下的 python.exe 进行加密,将 python.exe 拖入到加密工具 VirboxProtector 中,配置后直接点击加密。

第二步,对.py/.pyc 进行加密,使用 DSProtector 对.py/.pyc 进行保护。

④ Python编程实现加密解密读取文件

对Python加密时可能会有两种形式,一种是对Python转成的exe进行保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程。

1、对python转exe加壳

下载最新版VirboxProtector加壳工具,使用加壳工具直接对demo.exe进行加壳操作

2、对.py/.pyc加密

第一步,使用加壳工具对python安装目录下的python.exe进行加壳,将python.exe拖入到加壳工具VirboxProtector中,配置后直接点击加壳。

第二步,对.py/.pyc进行加密,使用DSProtector对.py/.pyc进行保护。

安全技术:

l虚拟机外壳:精锐5的外壳保护工具,创新性的引入了预分析和自动优化引擎,有效的解决了虚拟化保护代码时的安全性和性能平衡问题。

l碎片代码执行:利用自身成熟的外壳中的代码提取技术,抽取大量、大段代码,加密混淆后在安全环境中执行,最大程度上减少加密锁底层技术和功能的依赖,同时大量大段地移植又保证了更高的安全性。

lVirbox加密编译引擎:集编译、混淆等安全功能于一身,由于在编译阶段介入,可优化空间是普遍虚拟化技术无法比拟的,对代码、变量的混淆程度也有了根本的提升。

l反黑引擎:内置R0级核心态反黑引擎,基于黑客行为特征 的(反黑数据库)反制手段。精准打击调试、注入、内存修改等黑客行为,由被动挨打到主动防护。

加密效果:

加密之前

以pyinstall 的打包方式为例,使用pyinstxtractor.py文件对log_322.exe进行反编译,执行后会生成log_322.exe_extracted文件夹,文件夹内会生成pyc文件。

成功之后会在同目录下生成一个文件夹

⑤ Python源代码保密、加密、混淆

Python源代码的保密、加密和混淆是开发者保护代码安全的重要手段,但其效果有限。以下是几种常见的方法:

1. 使用pyc或pyo文件:通过编译py文件为pyc文件,提高执行速度且不便于直接查看源代码。但要注意与源文件所用Python版本一致,且.pyc文件可能需要调整命名和路径。

2. 混淆源代码:在线混淆服务提供一定程度的代码混淆,增加阅读难度,但并不能完全保密。

3. 打包工具:如pyexe、PyInstaller和py2app将Python代码打包成可执行文件,但压缩包内的内容易被获取,基本无保护。

- PyInstaller教程:确保使用正确Python版本安装,有四种打包方式,如主文件打包(-F)和依赖文件打包(-p)。注意处理相对路径和参数传递。

4. Cython:将Python代码转化为C语言,通过编译提高执行速度,但不支持JIT技术,且可能影响纯Python的性能。

总的来说,这些方法在一定程度上保护了源代码,但实际安全取决于对手的实力和资源。在实际应用中,可能需要结合多种策略来增强代码保密性。

阅读全文

与python源码保护数据库密码相关的资料

热点内容
海康威视设备已加密 浏览:663
自适应路由算法 浏览:315
pythonxlwt写入一列 浏览:995
性之助app哪里可以下载 浏览:414
安卓如何自己改图标 浏览:848
如何去掉app资源库的建议 浏览:730
中兴研发面试要写算法吗 浏览:65
linux系统配置文件 浏览:601
php登录网页模板 浏览:931
windownginxphp 浏览:509
resync命令 浏览:536
dos命令手册 浏览:287
硅谷编程二维数组 浏览:41
inside游戏什么时候移植安卓 浏览:944
极光安卓是什么 浏览:541
如何减少pdf文件大小 浏览:84
ios屏幕新建文件夹 浏览:298
单片机固定座 浏览:323
一名程序员的生活 浏览:990
服务器电源卡插头如何拔 浏览:488