[发明专利]一种代码加密方法及相关组件在审
申请号: | 202011203396.1 | 申请日: | 2020-11-02 |
公开(公告)号: | CN112214736A | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 孙方正;范渊;苗春雨 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 加密 方法 相关 组件 | ||
本申请公开了一种代码加密方法,该方法中在确定待加密代码之后,将代码编译成二进制文件,利用二进制文件难以破译的特性来达到对保护代码的需要,相较于传统js混淆加密方式大幅度提高了破解代码逻辑的难度,同时未引入混淆代码,在功能调用执行时可以直接运行二进制文件,可以在极大程度上提高性能,使代码的执行可以充分发挥硬件性能从而达到原生的效率,提升执行效率。本申请还提供了一种代码加密装置、设备及一种可读存储介质,具有上述有益效果。
技术领域
本申请涉及计算机软件技术领域,特别涉及一种代码加密方法、装置、设备及一种可读存储介质。
背景技术
目前,各公司和企业下的运行代码中可能存在一些机密的实现方法(或者商业机密)不希望被其它人所了解,出于保护代码逻辑的需要,需要对运行代码进行加密处理。
相关技术中通过是通过JavaScript(后称js)对代码进行混淆实现代码加密。
但是混淆后的代码仍然是可被二次修改的代码,甚至目前存在一些反混淆工具能够在一定程度上逆向混淆,配合js强大的内部调试,用户可以轻松地推导出代码逻辑,或对其进行修改,因而,采用混淆的伪“加密”无法保证代码的安全性,对项目安全带来隐患。与此同时,由于混淆加密通过引入多余代码来实现代码的混淆加密,需要修改原有抽象语法树,会造成性能上的消耗,会极大程度影响代码的执行效率。
因此,如何在保障代码执行效率的同时实现有效的代码加密保护,是本领域技术人员急需解决的问题。
发明内容
本申请的目的是提供代码加密方法,该方法可以在保障代码执行效率的同时实现有效的代码加密保护;本申请的另一目的是提供代码加密装置、设备及一种可读存储介质。
为解决上述技术问题,本申请提供一种代码加密方法,包括:
确定待加密代码;
调用编译器将所述待加密代码编译为二进制文件;
将所述二进制文件添加至目的项目中的目的地址;
在所述目的项目中根据二进制文件运行规则调用所述二进制文件进行功能执行。
可选地,所述确定待加密代码,包括:
确定待保护的原始代码;
确定所述原始代码中的待保护逻辑操作;
将所述待保护逻辑操作转换为函数,作为待加密函数;
对所述待加密函数进行编程语言转换,得到待加密函数代码;
将所述待加密函数代码作为所述待加密代码。
可选地,对所述待加密函数进行编程语言转换,包括:根据Rust或C++编程语言将所述待加密函数进行编程语言转换。
可选地,当所述待加密代码为vue项目代码时,所述调用编译器将所述待加密代码编译为二进制文件,包括:调用Emscripten编译器将所述待加密代码编译为wasm二进制文件。
本申请还提供了一种代码加密装置,该装置包括:
代码确定单元,用于确定待加密代码;
代码编译单元,用于调用编译器将所述待加密代码编译为二进制文件;
文件添加单元,用于将所述二进制文件添加至目的项目中的目的地址;
文件调用单元,用于在所述目的项目中根据二进制文件运行规则调用所述二进制文件进行功能执行。
可选地,所述代码确定单元包括:
原始代码确定子单元,用于确定待保护的原始代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011203396.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种端子限位固定件
- 下一篇:用于通气治疗设备的减噪结构以及通气治疗设备