程序源代码保护思考
-
安策数据加密保护-保护源代码场景方案汇总
我们对软件保护包括源代码的保护,已经超过20年的经验,源代码的控制权将是您考虑的第一步,各种软件环境的应用越来越复杂,尝试了解我们安策对源代码保护的几种常见的保护场景分析。源代码保护场景一、源代码编译后软件加密保护
目标:将源码编译输出的软件进行加密保护
1、将编译输出的可执行文件使用我们的加密工具进行自动加密。
2、同时,受控的加密程序文件得到使用控制。(在没有硬件加密狗、或者软加密狗的情况下无法正常打开使用)
3、输出的软件程序文件可按照甲方要求,进行指定的模块可用,或者指定的设备可用,或者指定时间内可用,或者指定的账号可用,指定的次数可用用也是可以控制的。
注,也可以通过我们的工具仅仅保护代码防止反编译,不控制其他许可要求。
源代码编译后软件的加密保护流程图
源代码保护场景二、源码编译的内容加密保护
目标:将源码编译输出的内容进行加密
1、将编译原码的开发工具加入到我们的加密系统受控列表,该类软件经过编辑,输出的源码文件自动加密。
2、同时,受控的原码开发编译工具同样能打开加密的文件(未在加密系统受控列表中的文件不能打开加密文件,起到文件使用的限制安全性)
3、输出的原码文件可按照甲方要求,进行文件后缀指向加密,如.c、.h、.cpp、.java等;也可以不进行文件后缀指向加密,即不分后缀,开发编辑工具产生的所有文件都自动加密。
源码编译的内容加密保护流程图
源代码保护场景三、开发编译前代码加密保护
目标:保护原码的加密性,对输出的编译结果不加密。
1、将进行原码编译的开发工具,添加到加密系统受控列表中,该软件可以打开源码文件(并且对原码文件进行修改、保存、另存等动作后,原码文件仍为加密文件,不改变文件的加密性),并进行正常编译。
2、因为编译结果的为.bin、.exe、.apk等可执行程序文件,为保证文件的可用性,对输出的编译结果,不进行加密。
3、也可以根据甲方的需求,将编译后的可执行程序文件进行加密,但需要对运行可执程序的模拟器、工具、软件等加密受控,才能正常运行。或需要先解密(手动解密或审批解密)后再运行。
源代码保护场景四、写代码管理前加密保护
目标:对保存源码的管理系统(SVN、GIT等)、文件服务器、文件夹进行保护
1、SVN、GIT等代码管理工具具有比对代码、标注、分析等功能,如果加密上传,则会影响这些功能。
2、软件集成:加密系统与SVN、GIT进行集成(受控SVN、GIT等),实现:通过SVN、GIT等上传加密文件自动解密、通过SVN、GIT等下载加密文件自动解密,保证SVN、GIT等管理系统的数据分析可用性,同时保证安全性。
注:软件集成的方式能够实现上传自动解密、下载自动加密,但是不能限制SVN、GIT等系统的访问,不能实现应用准入,即通过一台没有加密环境的电脑,访问SVN、GIT服务器进行代码下载,获取到的是不加密的文件,有文件泄露隐患。
3、硬件集成:加密系统与SVN、GIT进行集成(通过硬件安全网关实现),实现:通过SVN、GIT等上传加密文件自动解密、通过SVN、GIT等下载加密文件自动解密,保证SVN、GIT等管理系统的数据分析可用性,同时保证安全性。
注:硬件集成的方式能够实现上传自动解密、下载自动加密,同时可以限制SVN、GIT等系统的访问,能够实现应用准入,即安装加密客户端的电脑能够访问服务器,未安装加密环境的电脑不能访问服务器,如:通过一台没有加密环境的电脑,访问SVN、GIT服务器进行代码下载,该电脑不能访问SVN、GIT服务器、提高安全性。
源代码管理前加密保护流程图
来源:SafePloy安策整理、pollo | 关键词:源代码加密 源代码保护 程序代码保护 IP保护 软件保护 | 受欢迎指数()