一种shellcode控制流扁平化混淆方法
基本信息
申请号 | CN202110100204.2 | 申请日 | - |
公开(公告)号 | CN112434266A | 公开(公告)日 | 2021-03-02 |
申请公布号 | CN112434266A | 申请公布日 | 2021-03-02 |
分类号 | G06F21/12(2013.01)I | 分类 | 计算;推算;计数; |
发明人 | 甘志峰;张瑞冬;朱鹏;童永鳌 | 申请(专利权)人 | 成都无糖信息技术有限公司 |
代理机构 | 成都为知盾专利代理事务所(特殊普通合伙) | 代理人 | 李汉强 |
地址 | 610000四川省成都市高新区吉瑞三路99号1栋1单元20层2001号 | ||
法律状态 | - |
摘要
摘要 | 本发明公开了一种shellcode控制流扁平化混淆方法,包括以下步骤:S1.对输入的shellcode进行反汇编,构建整个指令序列;S2.将指令序列以函数为单元划分,再将每个函数以基本块为单元划分出控制流图;S3.为每个函数构建有限状态自动机,输出基本块数据,并根据状态生成算法来决定基本块的执行顺序,清洗基本块内容;S4.将基于有限状态自动机的混淆代码与执行器重新编译完成混淆过程。本发明对指令序列进行基本块划分,以独立的上下文环境执行各个基本块,不需要对PE文件增加任何代码段即可有效的实现混淆。 |
