期刊文献+
共找到5篇文章
< 1 >
每页显示 20 50 100
改进的基于底层虚拟机混淆器的指令混淆框架
1
作者 王雅仪 刘琛 +1 位作者 黄天波 文伟平 《计算机应用》 CSCD 北大核心 2023年第2期490-498,共9页
针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先... 针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先对基本块的指令进行依赖分析,然后插入叠加跳转和虚假循环两种花指令;指令替换在OLLVM的基础上,拓展至13种运算符,共计52种指令替换方案。在底层虚拟机(LLVM)上实现了框架原型后,通过实验表明,与OLLVM相比,InsObf在时间开销增长约10个百分点,空间开销增长约20个百分点的情况下,圈复杂度和抗逆向能力均可提高近4倍;与同样基于OLLVM改进的Armariris和Hikari相比,InsObf在同一量级的时空开销下,可以提供更高的代码复杂度。因此,InsObf可提供指令层级的有效保护。 展开更多
关键词 软件保护 代码混淆 指令混淆 底层虚拟机混淆器 指令加花 指令替换
下载PDF
基于符号执行的底层虚拟机混淆器反混淆框架 被引量:4
2
作者 肖顺陶 周安民 +2 位作者 刘亮 贾鹏 刘露平 《计算机应用》 CSCD 北大核心 2018年第6期1745-1750,共6页
针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本... 针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本块识别算法找到混淆程序中有用的基本块和无用块;其次,采用符号执行技术确定各个有用块之间的拓扑关系;然后,直接对基本块汇编代码进行指令修复;最后,得到一个反混淆后的可执行文件。实验结果表明,该框架在保证尽量少的反混淆用时前提下,反混淆后的程序与未混淆源程序的代码相似度为96.7%,能非常好地实现x86架构下C/C++文件的OLLVM反混淆。 展开更多
关键词 Miasm 底层虚拟机混淆器 反混淆 符号执行 指令修复 代码相似度
下载PDF
基于底层虚拟机的标识符混淆方法 被引量:1
3
作者 田大江 李成扬 +1 位作者 黄天波 文伟平 《计算机应用》 CSCD 北大核心 2022年第8期2540-2547,共8页
针对现有代码混淆仅限于某一特定编程语言或某一平台,并不具有广泛性和通用性,以及控制流混淆和数据混淆会引入额外开销的问题,提出一种基于底层虚拟机(LLVM)的标识符混淆方法。该方法实现了4种标识符混淆算法,包括随机标识符算法、重... 针对现有代码混淆仅限于某一特定编程语言或某一平台,并不具有广泛性和通用性,以及控制流混淆和数据混淆会引入额外开销的问题,提出一种基于底层虚拟机(LLVM)的标识符混淆方法。该方法实现了4种标识符混淆算法,包括随机标识符算法、重载归纳算法、异常标识符算法以及高频词替换算法,同时结合这些算法,设计新的混合混淆算法。所提混淆方法首先在前端编译得到的中间文件中候选出符合混淆条件的函数名,然后使用具体的混淆算法对这些函数名进行处理,最后使用具体的编译后端将混淆后的文件转换为二进制文件。基于LLVM的标识符混淆方法适用于LLVM支持的语言,不影响程序正常功能,且针对不同的编程语言,时间开销在20%内,空间开销几乎无增加;同时程序的平均混淆比率在77.5%,且相较于单一的替换算法和重载算法,提出的混合标识符算法理论分析上可以提供更强的隐蔽性。实验结果表明,所提方法具有性能开销小、隐蔽性强、通用性广的特点。 展开更多
关键词 软件保护 代码混淆 标识符混淆 底层虚拟机 混淆方法
下载PDF
基于LLVM的Android应用程序加固方法
4
作者 江秋语 殷芙萍 《现代计算机》 2021年第11期150-156,共7页
逆向分析严重威胁着Android应用程序的知识产权。代码混淆是保护Android应用程序的常用方法,但是针对Android字节码的混淆保护会带来大量的性能开销。本地代码比Java代码加载速度更快且保留更少的语义,因此混淆技术对本地代码更适用。... 逆向分析严重威胁着Android应用程序的知识产权。代码混淆是保护Android应用程序的常用方法,但是针对Android字节码的混淆保护会带来大量的性能开销。本地代码比Java代码加载速度更快且保留更少的语义,因此混淆技术对本地代码更适用。本文提出一种基于LLVM编译框架的Android应用程序加固方法,该方法有安全性高、隐蔽性好、性能开销低的特点。利用LLVM将DEX文件中的Java函数转化为LLVM中间表示,对其进行混淆并预编译得到本地代码;执行加固后的程序时通过JNI调用本地代码,动态加载被保护函数。实验结果表明,该方法能够在较低性能消耗下有效地保护应用程序不受静态分析和动态调试攻击的影响。 展开更多
关键词 Android加固 LLVM 函数本地化 代码混淆 安全
下载PDF
基于动态符号执行的C代码缓冲区溢出检测 被引量:1
5
作者 张俊贤 李舟军 《北京邮电大学学报》 EI CAS CSCD 北大核心 2016年第B06期50-54,共5页
缓冲区溢出是C程序中众多安全隐患的根源之一,以C程序代码为目标对象,提出了一个基于底层虚拟机中间代码的缓冲区溢出检测工具Path Checker.该工具基于动态符号执行方法,使用无量词谓词公式刻画缓冲区操作的安全性质,并利用可满足模型... 缓冲区溢出是C程序中众多安全隐患的根源之一,以C程序代码为目标对象,提出了一个基于底层虚拟机中间代码的缓冲区溢出检测工具Path Checker.该工具基于动态符号执行方法,使用无量词谓词公式刻画缓冲区操作的安全性质,并利用可满足模型理论求解器技术检验缓冲区操作的安全性.实验结果表明,该工具能有效检测C代码中的缓冲区溢出漏洞,且易于推广至其他高级程序语言代码和其他类型安全漏洞的检测. 展开更多
关键词 缓冲区溢出检测 动态符号执行 可满足模型理论求解器 底层虚拟机中间代码插桩
原文传递
上一页 1 下一页 到第
使用帮助 返回顶部