[发明专利]基于有限状态机和符号执行的源代码加固方法及装置有效
申请号: | 201810147039.4 | 申请日: | 2018-02-12 |
公开(公告)号: | CN108446541B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 阚志刚;陈彪;王文洋;李世杰;尉爽生;卢佐华 | 申请(专利权)人: | 北京梆梆安全科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本申请公开了基于有限状态机和符号执行的源代码加固方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码按照跳转逻辑的代码位置拆分成多个代码块,并为各代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机,代码块跳转状态机用于表征各个代码块对应的各个状态之间的跳转关系;将代码块中的跳转逻辑通过代码块跳转状态机实现,得到加固后的第一源代码;确定第一源代码中需要保护的目标变量;在第一源代码中插入至少一个中间变量,中间变量用于访问目标变量;将第一源代码中的部分目标变量替换为任一中间变量,得到加固后的第二源代码。可以提高源代码的防逆向分析能力。 | ||
搜索关键词: | 基于 有限状态机 符号 执行 源代码 加固 方法 装置 | ||
【主权项】:
1.一种基于有限状态机和符号执行的源代码加固方法,其特征在于,包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将所述原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态,其中,每个代码块以跳转逻辑结束;基于代码块的状态,以及代码块中的跳转逻辑,确定代码块跳转状态机,所述代码块跳转状态机用于表征各个所述代码块对应的各个状态之间的跳转关系;将代码块中的跳转逻辑通过所述代码块跳转状态机实现,以生成所述应用程序加固后的第一源代码;确定所述第一源代码中需要保护的目标变量;在所述第一源代码中插入至少一个中间变量,所述至少一个中间变量用于访问所述目标变量;将所述第一源代码中的部分所述目标变量替换为任一所述中间变量,得到所述应用程序加固后的第二源代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京梆梆安全科技有限公司,未经北京梆梆安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810147039.4/,转载请声明来源钻瓜专利网。