摘要
本申请提供一种基于LLVM中的混淆PASS的分析方法和系统,涉及软件保护技术领域。其中,该方法包括:从混淆的二进制程序中提取目标函数,定位目标函数中加密字符串的位置,根据加密字符串的位置确定解密逻辑;查找目标函数中的目标表达式,通过模式匹配方式识别出表达式逻辑,基于解密逻辑和表达式逻辑,确定字符串加密算法参数;根据表达式逻辑构建控制流图,并识别控制流图中的控制变量,根据控制变量的赋值序列,生成控制变量的状态转换图;根据状态转换图识别目标函数中无用基本块的标识,基于字符串加密算法参数和无用基本块的标识,确定混淆的二进制程序的混淆实现逻辑。本申请提供的技术方案可以实现混淆实现逻辑的逆向推导。