代码模糊化

前言

平时我们可能经常遇到,一些项目交付要部署源代码,但是相对来说,尤其我们NLP方向,对于一些算法的保护就不那么强了。

这里介绍一下python 源码混淆工具——pyminfier

原理

将代码中的变量、函数、类、函数模板等更换为难以阅读的字符,但是保证解释器可读,类似_____b___,ll1liil,O0oo0ooO等,这种方式并不安全,只是增加了破译的时间成本

 

除了混淆之外,编译是比较靠谱的做法,编译是将高级语言通过编译器/解释器转化成二进制文件,其可读性更差,但是对文件的保护程度也有限,一些反编译工具可以轻松地从二进制文件恢复出源代码

pyminifier

pip install pyminifier 安装

执行 pyminifier -O a.py > new.py 即可将a.py源码文件生成混淆后的代码new.py

注意: 这个混淆工具暂时只能对单个文件进行混淆,且混淆后不一定可用,需要对混淆结果进行测试,才能发布

使用Cython将python文件编译成so动态链接库

pip install Cython 安装

使用

test.py

class MyClass(object):
    def __init__(self):
        self.input_string = None

    def set_value(self, input_string):
        self.input_string = input_st
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微知girl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值