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