当前位置:首页 » 密码管理 » 源码如何加密

源码如何加密

发布时间: 2023-01-04 10:30:01

A. 怎样对 python 源码加密

代码加密
大概整理了以下几种方法:
编译成pyc文件
使用py2exe将python代码转成window下执行的exe文件
关键代码部分使用c或者c++写,然后在python中调用
用C写一个license,进行license验证
作为一门解释型的语言,加密的难度超级大。下面来简单分析上面的解决方案:
编译成pyc文件几乎跟pyc没有区别,保护力度太低
要是在linux机器上就没法使用,而且这种exe文件也可以被破解的
核心代码部分是计算密集型,用的是pandas,numpy等库,用c重写,简直不可能,工作量太大。
没搞过,不知道………
看来上面的解决方案都是不行的,在stackoverflow上对这个问题也进行了详细的讨论,用我蹩脚的英文来翻译(意译)一下得票率最高的:
“有什么方法来解决这个问题吗?(加密的问题)”没有。任何保护都可以被逆向工程破解。就连DVD机的固件都可以被破解,尽管法律判定其为非法,但是AACS加密密钥还是泄露出来。
因为没有技术的方法可以阻止你的客户看你的代码,你必须用传统的商业方法。
1. 许可证,合约,条款,条件。只要用户签订了这些东西,及时用户可以看见代码,也会有法律约束(不过此建议在中国目前貌似不顶用)
2. 提供巨大的价值。如果你的东西非常好,而且价格很合理,那么用户很难拒绝——没必要浪费时间和金钱去搞逆向工程啥的,因为逆向工程是很费银子的。让你的产品有足够的性价比。
3. 经常性的升级和增加新的功能,使得逆向工程不那么好使。当下一个版本破坏了逆向工程,那么以前的破解就没有意义了。
4. 定制化生产,为不同的客户提供不同的产品。(貌似代价有点高啊)
5. 使用有时间限制的许可证,这会给你带来不好的名声,但是会保证你的软件会停止工作
6. 设计为web service.
代码混淆
既然加密不是一个好方法,那要还是不死心,那就做一个简单的混淆算了,虽然只能”防君子,不防小人“。但是不能就这样把代码暴露出来。
这里推荐一个找了好久的东西: pyobfuscate这个东西在window7中的cmd中貌似总是混淆失败,无奈用了MINGW32,居然搞定了。官方的资料有这样的介绍:
pyobfuscate有几种转化代码的方式,有些可逆,有些不可逆。
移除注释和文档 ( 不可逆)
改变缩进(可逆)
在tokens之间加入空格(一定程度上可逆)
重命名函数,类,和变量(不可逆)
在空白行中加入无效的代码
我没有选择混淆函数名和类名,因为其他地方还要调用呢。下面是我混淆的结果,还挺好看的:
def my_fuction_to_test ( self , start_date , end_date ) :
iiiii11iII1 = self . get_something ( start_date , end_date )
O0o = [ ]
for oO0 in iiiii11iII1 :
if oO0 [ "isOpen" ] == 1 :
IIIi1i1I = { }
OOoOoo00oo = dt . strptime ( oO0 [ 'calendarDate' ] , '%Y-%m-%d' )
IIIi1i1I [ 'day' ] = OOoOoo00oo . strftime ( '%Y%m%d' )
IIIi1i1I [ 'week' ] = oO0 [ 'isWeekEnd' ]
IIIi1i1I [ 'month' ] = oO0 [ 'isMonthEnd' ]
IIIi1i1I [ 'weekday' ] = OOoOoo00oo . weekday ( )
O0o . append ( IIIi1i1I )
iiI11 = pd . DataFrame ( O0o )
return iiI11

B. 如何对公司的源代码加密

对公司源代码加密的话 我推荐使用域之盾软件 以下是软件加密的具体流程 希望可以帮到你。

1,首先安装软件 安装完成后 开启 透明加密。对重要文件进行加密。

2,通过 软件限制陌生u盘的试用,设置只读或禁止使用。对常用U盘设置白名单

3,开启软件的外发审核,外发的一切文件资料 等 需要管理员审核否则非法外发 即为乱码。

C. 如何给源码加密

部署合力天下数据防泄密系统,对源代码加密,启用保密U盘,SVN 服务器准入控制,实现源码只能在公司运行,复制粘贴到微信,QQ,邮件乱码,个人U盘插入公司计算机无法识别,私自带出公司打开乱码。

上传到SVN服务器文档自动解密,下载到客户机文档自动加密,没有安装防泄密软件的计算机无法接入到SVN服务器。

D. Html怎么加密,不让人家看到我们的源代码

1、首先在电脑中打开浏览器,在浏览器中打开一张网页,点击浏览器上的查看。

E. 公司C源码怎样进行加密

公司电子表格加密用上海迅软信息科技有限公司的加密软件。
首先选中客户端电脑上的单个文件、多个文件或文件夹右键菜单“DSE迅软数据安全->“手动加密”
选中客户端右下角图标,右键菜单“业务申请”->“手动加密”
通过以上两种方式,点击“手动加密”即可弹出手动加密界面
通过“增加文件”按钮可以增加多个文件,“增加目录”按钮可以增加整个文件夹下的所有文件。
需要处理文件后缀名输入框,输入后缀名,点击“过滤文件”可以将不需要处理
的文件过滤掉,例如,加密文件列表中同时包含.doc,.xls,.pdf,的多个文件,
在需要处理文件后缀输入框中输入doc,点“过滤文件”,过滤完以后,需要加
密的文件列表中只有.doc的文件,xls和pdf的文件都被过滤掉了。
加密文件的密级可以自定义,选择“高”,文件手动加密以后密级就为高,选择
好密级,点击“开始”即开始执行手动加密操作,操作完成以后会弹出完成的提
示,并提示,加密成功几个,失败几个。

F. 移动端App直播源码如何进行视频加密

移动端APP进行视频加密
根据应用场景不同,用户可以先使用点盾云一机一码进行视频加密。
这种方案比较麻烦,需要将经过加密后的视频通过网盘、邮箱等方式发送给用户,这种方式不适合网页直播源码使用,但适合有特殊传输需求时使用。这种方式下,同一课程只需要加密一次就可全平台使用

G. electron怎么源码加密

  1. 可以把这块源码写到C/C++等其他语言,然后编译为dll,再到js中调用

  2. 提供一个清奇的思路,把请求接口用base64转码,请求之前,再做base64解码

  3. 用jshaman等工具对js代码做加密混淆,注意,这类工具在大量代码加密时,会导致一定的性能损耗,在cpu密集型任务中不建议用该加密工具,另外,请备份源码,因为加密后的代码你也看不懂

H. 谁能告诉我,源代码加密,用什么可以

这个就要用专业的源代码加密软件去加密了。因为源代码涉及到的编译环境会相对复杂的。我目前了解到就是天锐绿盾这个品牌的加密软件。
绿盾源代码加密系统在不改变研发人员原有工作习惯和工作流程的情况下,对EditPlus、Notepad++、ultraEdit、Eclipse、MyEclipse、 Keil、Visusl
studio等源代码开发工具,以及CAM350、PADS、Altium
Designer、Cadence、MentorGraphics等电路设计软件进行受控加密保护。源代码文件加密后,不影响软件的正常编译,合法用户正常双击打开,在授权范围内使用。

I. c#源码怎么加密啊

c# dll 加密最快的方法使用加壳工具Virbox Protector,直接加密,Virbox Protectorke可以对dll进行性能分析,分析每个函数的调用次数,对每个函数选择保护方式如:混淆/虚拟化/碎片化/代码加密等;每种加密方法的特点是什么呢?
代码加密(X86):
针对X86汇编代码:一种代码自修改技术(SMC)保护代码。把当前代码加密存储为密文,存储起来,当程序运行到被保护函数时候自动解密并且执行,执行之后再擦除代码,运行到哪里才解密哪里的代码,黑客无法获得原始机器指令和内存完整性的代码,由于是纯内存操作所以运行速度快, 性价高的保护手段,建议全加
代码加密(IL)
针对dotNet程序,保护IL代码:一种动态运行方法解密被保护代码。把当前代码加密存储为密文,存储起来,当程序运行到被保护函数时候自动解密并且执行,执行之后再擦除代码,执行之后再擦除代码,运行到哪里才解密哪里的代码,黑客无法获得原始的中间语言的指令和内存完整性的代码,由于是纯内存操作所以运行速度快, 性价高的保护手段,建议全加
压缩
类似zip等压缩软件把代码和数据段压缩,由于带有动态密码,没有任何工具可以自动脱壳,是防止反编译和反汇编关键手段。
代码混淆(IL):
将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。
a)重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。
b) 打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。
c) 添加花指令,通过特殊构造的指令来使得反汇编器出错,进而干扰反编译工作的进行。
代码混淆器也会带来一些问题。主要的问题包括:· 被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。· 对于支持反射的语言,代码混淆有可能与反射发生冲突。· 代码混淆并不能真正阻止反向工程,只能增大其难度。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。
代码混淆的特点是安全度低、不会影响效率。
代码虚拟化:
针对X86代码: 是指将机器代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码并执行。 这段用于翻译伪代码并负责具体执行的子程序就叫作虚拟机VM(好似一个抽象的CPU)。它以一个函数的形式存在,函数的参数就是字节码的内存地址。 由于虚拟机代码和虚拟机CPU的实现可以做到每次都是随机设计和随机执行 并且代码每次可以随机变化,包括一些逻辑上的等价变化可以参考硬件N个与非门NOT-AND实现各种逻辑门,算法访问内存形式的变化,包括数学上的非等价变化,代码体积几乎可以膨胀达到100到10000倍,造成机器无法做算法还原到原有逻辑。
代码虚拟化的特点是:安全度中、不会影响效率。
代码碎片化:
深思自主知识产权的最新技术:基于 LLVM 和 ARM 虚拟机技术,自动抽取海量代码移入 SS 内核态模块,极大的降低了使用门槛, 不再需要手动移植算法,可移植的算法从有限的几个增长到几乎无限多,支持的语言也不再限于 C, 这是加密技术的一次综合应用,效果上类似于将软件打散执行,让破解者无从下手。
安全度高、建议关键函数或调用加密锁方法;使用太多会影响效率

J. 如何给c/c++源代码加密

#include#include#includevoid findKey(char* key, char* mark){int len = strlen(key);int i = 0;int j = 0;memset(mark,0,26);for (i = 0; i 96){encrypt[i] = map[encrypt[i] - 97];}}outputFile = fopen("output.txt", "w+");fwrite(encrypt,nFileLen,1,outputFile);printf("加密的密文:%s\n", encrypt);fclose(outputFile);fclose(inputFile);free(encrypt);system("pause");return 0;}

热点内容
javafor循环嵌套if 发布:2025-08-18 23:28:21 浏览:302
西装配领算法 发布:2025-08-18 23:26:38 浏览:504
ecshopsql漏洞 发布:2025-08-18 23:17:01 浏览:802
mac临时文件夹 发布:2025-08-18 23:14:55 浏览:769
阿里云搭建传奇服务器 发布:2025-08-18 23:14:06 浏览:458
硬件加密卡 发布:2025-08-18 23:08:17 浏览:990
农信交易密码指的是什么密码 发布:2025-08-18 23:03:20 浏览:587
数组存储空间 发布:2025-08-18 23:01:50 浏览:755
如解压游戏 发布:2025-08-18 22:57:02 浏览:582
如何复制页游密码 发布:2025-08-18 22:49:13 浏览:387