基于有限状态机和符号执行的源代码加固方法及装置

    公开(公告)号:CN108446541B

    公开(公告)日:2021-10-29

    申请号:CN201810147039.4

    申请日:2018-02-12

    Abstract: 本申请公开了基于有限状态机和符号执行的源代码加固方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码按照跳转逻辑的代码位置拆分成多个代码块,并为各代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机,代码块跳转状态机用于表征各个代码块对应的各个状态之间的跳转关系;将代码块中的跳转逻辑通过代码块跳转状态机实现,得到加固后的第一源代码;确定第一源代码中需要保护的目标变量;在第一源代码中插入至少一个中间变量,中间变量用于访问目标变量;将第一源代码中的部分目标变量替换为任一中间变量,得到加固后的第二源代码。可以提高源代码的防逆向分析能力。

    基于状态、符号执行和单点逻辑的源代码加固方法及装置

    公开(公告)号:CN108446538A

    公开(公告)日:2018-08-24

    申请号:CN201810146589.4

    申请日:2018-02-12

    Abstract: 本申请公开了基于状态、符号执行和单点逻辑的源代码加固方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块,并为各代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机;将代码块中的跳转逻辑通过代码块跳转状态机实现,得到加固后的第一源代码;确定第一源代码中需要保护的目标变量;在第一源代码中插入至少一个中间变量,中间变量用于访问目标变量;将第一源代码中的部分目标变量替换为任一中间变量,得到加固后的第二源代码;使用不透明谓词对第二源代码的函数中的条件变量进行模糊处理,得到加固后的第三源代码。可以提高源代码的防逆向分析能力。

    一种基于符号执行和单点逻辑的源代码加固方法及装置

    公开(公告)号:CN108446536A

    公开(公告)日:2018-08-24

    申请号:CN201810146277.3

    申请日:2018-02-12

    Abstract: 本申请公开了一种基于符号执行和单点逻辑的源代码加固方法及装置,可以确定待混淆的原始源代码中需要保护的目标变量;在所述原始源代码中插入至少一个中间变量,得到第一源代码;其中,所述至少一个中间变量用于访问所述目标变量;将所述第一源代码中的部分所述目标变量替换为任一所述中间变量,得到加固后的第二源代码;使用不透明谓词对所述第二源代码的函数中的条件变量进行模糊处理,得到加固后的第三源代码。该方法及装置可以提高源代码的防逆向分析能力。

    基于状态、符号执行和单点逻辑的源代码加固方法及装置

    公开(公告)号:CN108446538B

    公开(公告)日:2020-02-07

    申请号:CN201810146589.4

    申请日:2018-02-12

    Abstract: 本申请公开了基于状态、符号执行和单点逻辑的源代码加固方法及装置,该方法包括:基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块,并为各代码块设置不同的状态;基于代码块的状态以及代码块中的跳转逻辑,确定代码块跳转状态机;将代码块中的跳转逻辑通过代码块跳转状态机实现,得到加固后的第一源代码;确定第一源代码中需要保护的目标变量;在第一源代码中插入至少一个中间变量,中间变量用于访问目标变量;将第一源代码中的部分目标变量替换为任一中间变量,得到加固后的第二源代码;使用不透明谓词对第二源代码的函数中的条件变量进行模糊处理,得到加固后的第三源代码。可以提高源代码的防逆向分析能力。

    基于变量和代码执行顺序的源代码混淆方法及装置

    公开(公告)号:CN108537012A

    公开(公告)日:2018-09-14

    申请号:CN201810146581.8

    申请日:2018-02-12

    Abstract: 本申请实施例提供了一种基于变量和代码执行顺序的源代码混淆方法及装置,包括:对目标应用程序的源代码中的需要保护的目标变量进行第一混淆处理;基于源代码在编译或运行时的跳转逻辑,将源代码拆分成多个代码块;基于跳转逻辑和各个代码块对应的代码块标记,对多个代码块中的目标代码块的执行顺序进行第二混淆处理;并建立表征多个代码块执行顺序的跳转表,跳转表内存储有代码块标记和第二混淆处理后的代码块地址的映射关系;其中,代码块标记用于访问对应的代码块地址。本申请中,可以达到模糊、混淆源代码中的目标变量、隐藏源代码的执行顺序的目的,进而可以提高源代码的防逆向分析能力,提高了应用程序中信息的安全性。

    基于代码执行顺序的源代码加固方法及装置

    公开(公告)号:CN108446535B

    公开(公告)日:2021-11-12

    申请号:CN201810146265.0

    申请日:2018-02-12

    Abstract: 本申请公开了一种基于代码执行顺序的源代码加固方法及装置,可以基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块;基于原始源代码在编译或运行时的跳转逻辑,建立表征代码块的执行顺序的跳转表,跳转表中保存有代码块标记与代码块的地址的对应关系;其中,所述地址为加固后的源代码在编译或运行时、代码块在内存中的地址,代码块标记用于访问对应的代码块的地址;将原始源代码的代码块之间的跳转逻辑,通过所述跳转表中的代码块标记实现,以生成加固后的源代码。由于通过跳转表中的代码块标记实现了原始源代码的代码块之间的跳转逻辑,因此可以隐藏原始源代码的执行顺序,进而可以提高源代码的防逆向分析能力。

    一种源代码加固方法及装置

    公开(公告)号:CN108509773A

    公开(公告)日:2018-09-07

    申请号:CN201810147047.9

    申请日:2018-02-12

    Abstract: 本申请公开了一种源代码加固方法及装置,可以获取待加固的目标源代码;确定所述目标源代码中的函数的加固权重;根据所述加固权重从预设的加固算法集合中选取至少一种目标加固算法;采用选取的所述至少一种目标加固算法对所述目标源代码进行加固。由于该方法及装置可以依据待加固的源代码中的函数的加固权重,从预设的加固算法集合中自动选取合适的加固算法对所述源代码进行加固,因此,可以提高源代码的加固效率。

    基于执行顺序和单点逻辑的源代码加固方法及装置

    公开(公告)号:CN108509772A

    公开(公告)日:2018-09-07

    申请号:CN201810146606.4

    申请日:2018-02-12

    Abstract: 本申请公开了一种基于执行顺序和单点逻辑的源代码加固方法及装置,可以基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块;基于原始源代码在编译或运行时的跳转逻辑,建立表征所述多个代码块的执行顺序的跳转表,跳转表中保存有代码块标记与代码块的地址的对应关系;所述地址为加固后的第二源代码在编译或运行时、代码块在内存中的地址,代码块标记用于访问对应的代码块的地址;将原始源代码的代码块之间的跳转逻辑,通过所述跳转表中的代码块标记实现,以生成加固后的第一源代码;使用不透明谓词对第一源代码的函数中的条件变量进行模糊处理,得到所述加固后的第二源代码。该方法及装置可以提高防逆向分析能力。

    基于不透明谓词的源代码混淆方法及装置

    公开(公告)号:CN108446537A

    公开(公告)日:2018-08-24

    申请号:CN201810146564.4

    申请日:2018-02-12

    Abstract: 本申请实施例公开了一种基于不透明谓词的源代码混淆方法及装置,以提高源代码的防逆向分析能力。所述方法包括:定位源代码中位于分支跳转节点处的第一条件变量;在所述第一条件变量中添加至少一个不透明谓词,得到第二条件变量,所述不透明谓词的值恒定;利用所述第二条件变量替换所述第一条件变量。该技术方案能够达到模糊、混淆源代码中的条件变量的目的,从而增加源代码的反编译难度,使得攻击者难以通过静态分析等攻击方式获取到真实的分支跳转值,实现了对源代码的加固。

    基于代码执行顺序的源代码加固方法及装置

    公开(公告)号:CN108446535A

    公开(公告)日:2018-08-24

    申请号:CN201810146265.0

    申请日:2018-02-12

    Abstract: 本申请公开了一种基于代码执行顺序的源代码加固方法及装置,可以基于应用程序的原始源代码在编译或运行时的跳转逻辑,将原始源代码拆分成多个代码块;基于原始源代码在编译或运行时的跳转逻辑,建立表征代码块的执行顺序的跳转表,跳转表中保存有代码块标记与代码块的地址的对应关系;其中,所述地址为加固后的源代码在编译或运行时、代码块在内存中的地址,代码块标记用于访问对应的代码块的地址;将原始源代码的代码块之间的跳转逻辑,通过所述跳转表中的代码块标记实现,以生成加固后的源代码。由于通过跳转表中的代码块标记实现了原始源代码的代码块之间的跳转逻辑,因此可以隐藏原始源代码的执行顺序,进而可以提高源代码的防逆向分析能力。

Patent Agency Ranking