买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于中间语言的代码保护方法_上海蜚语信息科技有限公司_202010374179.2 

申请/专利权人:上海蜚语信息科技有限公司

申请日:2020-05-06

公开(公告)日:2024-04-02

公开(公告)号:CN113626773B

主分类号:G06F21/14

分类号:G06F21/14;G06F8/41

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2021.12.28#实质审查的生效;2021.11.09#公开

摘要:本发明提供一种基于中间语言的代码保护方法,包括:将待保护函数的源代码编译成第一中间语言;将第一中间语言翻译成虚拟化指令代码;将待保护函数的调用方式修改为采用解释器来执行虚拟化指令代码;编写解释器的解释器函数,将解释器函数编译成第二中间语言;合并虚拟化指令代码和第二中间语言,得到第三中间语言;混淆第三中间语言。本发明提供一种基于中间语言的代码虚拟化方案,以代码虚拟化的强大力度保护软件代码,大幅度增加攻击者的逆向工程工作量;相比于现有的代码虚拟化是直接应用于可执行程序上,本发明的方案是基于源代码层面,在编译的过程中实施代码虚拟化保护,能够提供更好的程序稳定性和兼容性。

主权项:1.一种基于中间语言的代码保护方法,其特征在于,所述方法包括以下步骤:第一步:先对待保护的函数进行标记,通过使用clang编译器将待保护函数的源代码编译成第一中间语言;将所述第一中间语言翻译成虚拟化指令代码;第二步:采用首先删除所述待保护函数、接着将解释器的全局变量进行初始化、最后将所述待保护函数的传入参数存入虚拟化内存中的方式将所述待保护函数的调用方式修改为采用解释器来执行所述虚拟化指令代码;第三步:使用高级语言CC++编写所述解释器的解释器函数,通过使用clang编译器将所述解释器函数编译成第二中间语言;合并所述虚拟化指令代码和所述第二中间语言,得到第三中间语言,并将预先准备好的中间语言形式的解释器导入到此模块中,并将全局变量、函数等与解释器关联;第四步:混淆所述第三中间语言,对解释器函数及虚拟化代码进行保护,具体为使用定义内联函数的方式消除第三中间语言中的第二中间语言的代码结构,并将所述第三中间语言中的虚拟化指令代码随机化,最后修改所述第三中间语言中的虚拟化指令代码的类型,使虚拟化指令代码的多样性得到充分的提升。

全文数据:

权利要求:

百度查询: 上海蜚语信息科技有限公司 一种基于中间语言的代码保护方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。