-
公开(公告)号:CN108446535A
公开(公告)日:2018-08-24
申请号:CN201810146265.0
申请日:2018-02-12
Applicant: 北京梆梆安全科技有限公司
Abstract: 本申请公开了一种基于代码执行顺序的源代码加固方法及装置,可以基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块;基于原始源代码在编译或运行时的跳转逻辑,建立表征代码块的执行顺序的跳转表,跳转表中保存有代码块标记与代码块的地址的对应关系;其中,所述地址为加固后的源代码在编译或运行时、代码块在内存中的地址,代码块标记用于访问对应的代码块的地址;将原始源代码的代码块之间的跳转逻辑,通过所述跳转表中的代码块标记实现,以生成加固后的源代码。由于通过跳转表中的代码块标记实现了原始源代码的代码块之间的跳转逻辑,因此可以隐藏原始源代码的执行顺序,进而可以提高源代码的防逆向分析能力。
-
公开(公告)号:CN108416191A
公开(公告)日:2018-08-17
申请号:CN201810146259.5
申请日:2018-02-12
Applicant: 北京梆梆安全科技有限公司
Abstract: 本申请公开了一种基于不透明谓词和有限状态机加固源代码的方法及装置,该方法包括:定位应用程序的源代码中的第一条件变量;在第一条件变量中添加至少一个不透明谓词,得到第二条件变量;利用第二条件变量替换第一条件变量;基于原始源代码在编译或运行时的跳转逻辑,将原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机;将代码块中的跳转逻辑通过代码块跳转状态机实现,以生成应用程序加固后的源代码。该技术方案能够达到模糊、混淆源代码中的条件变量的目的,以及各个代码块中的跳转逻辑通过代码块跳转状态机实现,增加源代码的反编译难度。
-
公开(公告)号:CN108415709A
公开(公告)日:2018-08-17
申请号:CN201810146276.9
申请日:2018-02-12
Applicant: 北京梆梆安全科技有限公司
Abstract: 本申请公开了一种基于有限状态机加固源代码的方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将应用程序的原始源代码按照跳转逻辑的代码位置,拆分成多个代码块,并为每个代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机,代码块跳转状态机用于表征各个状态之间的跳转关系;将代码块中的跳转逻辑通过代码块跳转状态机实现,以生成应用程序加固后的源代码,使得各个代码块中的跳转逻辑通过代码块跳转状态机实现,从而实现了对各个代码块中的跳转逻辑进行隐藏,有效防止攻击者通过反编汇、反编译和动态调式等操作轻易的破解各个代码块中的跳转逻辑,提高了应用程序的安全性。
-
-