基于不透明谓词和有限状态机加固源代码的方法及装置
基本信息
申请号 | CN201810146259.5 | 申请日 | - |
公开(公告)号 | CN108416191B | 公开(公告)日 | 2021-11-19 |
申请公布号 | CN108416191B | 申请公布日 | 2021-11-19 |
分类号 | G06F21/12(2013.01)I;G06F21/14(2013.01)I | 分类 | 计算;推算;计数; |
发明人 | 阚志刚;陈彪;王文洋;李世杰;尉爽生;卢佐华 | 申请(专利权)人 | 北京梆梆安全科技有限公司 |
代理机构 | 北京国昊天诚知识产权代理有限公司 | 代理人 | 许志勇 |
地址 | 100083北京市海淀区学院路30号天工大厦A座20层 | ||
法律状态 | - |
摘要
摘要 | 本申请公开了一种基于不透明谓词和有限状态机加固源代码的方法及装置,该方法包括:定位应用程序的源代码中的第一条件变量;在第一条件变量中添加至少一个不透明谓词,得到第二条件变量;利用第二条件变量替换第一条件变量;基于原始源代码在编译或运行时的跳转逻辑,将原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机;将代码块中的跳转逻辑通过代码块跳转状态机实现,以生成应用程序加固后的源代码。该技术方案能够达到模糊、混淆源代码中的条件变量的目的,以及各个代码块中的跳转逻辑通过代码块跳转状态机实现,增加源代码的反编译难度。 |
