[发明专利]一种基于有限状态机加固源代码的方法及装置有效
| 申请号: | 201810146276.9 | 申请日: | 2018-02-12 |
| 公开(公告)号: | CN108415709B | 公开(公告)日: | 2022-01-28 |
| 发明(设计)人: | 阚志刚;陈彪;王文洋;李世杰;尉爽生;卢佐华 | 申请(专利权)人: | 北京梆梆安全科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/48 |
| 代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
| 地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 有限状态机 加固 源代码 方法 装置 | ||
本申请公开了一种基于有限状态机加固源代码的方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将应用程序的原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机,代码块跳转状态机用于表征各个状态之间的跳转关系;将代码块中的跳转逻辑通过代码块跳转状态机实现,以生成应用程序加固后的源代码,使得各个代码块中的跳转逻辑通过代码块跳转状态机实现,从而实现了对各个代码块中的跳转逻辑进行隐藏,有效防止攻击者通过反编汇、反编译和动态调式等操作轻易的破解各个代码块中的跳转逻辑,提高了应用程序的安全性。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于有限状态机加固源代码的方法及装置。
背景技术
随着移动互联网、物联网、车联网等技术的高速发展,终端的数量越来越多,终端中安装的应用程序也越来越多,各种应用程序也极大的方便了人们的生活。随之而来的是,各种应用程序易被破解、被篡改,进而面临着重要信息泄露的风险。
目前,应用程序未经过加固保护,攻击者可以使用工具对未经过加固保护的应用程序的可执行文件进行反汇编、反编译和动态调试等操作,可以很容易破解应用程序的实现逻辑,从而对应用程序进行算法窃取、非法篡改或者接口调用。因此,现有应用程序的安全性较低。
发明内容
本申请实施例提供一种基于有限状态机加固源代码的方法,用于解决现有技术中应用程序的安全性较低的问题。
本申请实施例提供一种基于有限状态机加固源代码的装置,用于解决现有技术中应用程序的安全性较低的问题。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种基于有限状态机加固源代码的方法,包括:
基于应用程序的原始源代码在编译或运行时的跳转逻辑,将所述应用程序的原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态,其中,每个代码块以跳转逻辑结束;
基于代码块的状态,以及代码块中的跳转逻辑,确定代码块跳转状态机,所述代码块跳转状态机用于表征各个所述代码块对应的各个状态之间的跳转关系;
将代码块中的跳转逻辑通过所述代码块跳转状态机实现,以生成应用程序加固后的源代码。
第二方面,本申请实施例提供一种基于有限状态机加固源代码的装置,包括:
拆分模块,用于基于应用程序的原始源代码在编译或运行时的跳转逻辑,将所述应用程序的原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态,其中,每个代码块以跳转逻辑结束;
确定模块,用于基于代码块的状态,以及代码块中的跳转逻辑,确定代码块跳转状态机,所述代码块跳转状态机用于表征各个所述代码块对应的各个状态之间的跳转关系;
实现模块,用于将代码块中的跳转逻辑通过所述代码块跳转状态机实现,以生成应用程序加固后的源代码。
第三方面,本发明实施例还提供一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述所述的基于有限状态机加固源代码的方法的步骤。
第四方面,本发明实施例还提供一种可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于有限状态机加固源代码的方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京梆梆安全科技有限公司,未经北京梆梆安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810146276.9/2.html,转载请声明来源钻瓜专利网。





