首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 187 毫秒
1.
基于自封闭代码块的软件保护技术   总被引:1,自引:0,他引:1  
针对传统的基于垃圾指令插入的花指令技术在软件保护应用中的不足,提出了一种基于自封闭代码块的软件反静态分析和动态调试的软件保护技术.重点介绍了自封闭代码块的相关概念,阐述了自封闭代码块的自动生成技术,包括基于指令编码表的随机指令序列生成技术和基于指令逆向思想的逆指令序列生成技术,并给出了相关算法和实例分析.  相似文献   

2.
随着Android平台的广泛应用,Android平台的软件保护越来越受到重视。由于Android平台普及时间较短,Android软件保护的研究尚处于起步阶段,而且开发人员安全意识不足,导致软件开发者的知识产权受到侵犯的事件屡见不鲜。文章针对Android平台逆向工程技术越来越泛滥的问题,在深入研究Android系统软件保护的基础之上,结合Android平台的软件破解技术,提出一种改进的基于代码自修改(self-modifying code,SMC)的Android软件保护机制。文章参考Windows平台代码自修改技术,通过对Android平台应用运行机制的整合,实现了Android平台的代码自修改。该机制在Android的代码自修改基础之上,采用自校验技术以及双层SMC,实现了对程序完整性的自校验以及在程序运行时对内存关键代码的修改,并通过相关代码的测试,验证该机制能够有效提高Android应用的抗逆向分析和防篡改能力。  相似文献   

3.
考虑到Handler序列为逆向分析者的重点攻击对象。针对Handler指令序列的内存转储分析以及起始和终止点的断点分析,提出一种基于虚拟机Handler动态加解密的软件保护方法,在基于虚拟机的软件保护方法上,增加加密和解密代码模块,并将所有Handler进行加密保存。当程序执行到某个Handler时,先将加密过的Handler进行解密并执行,执行完成后再次对其进行加密,直到所有Handler序列执行结束。实验和分析表明:该方法能够有效防止攻击者对于Handler的起始和终止位置进行断点调试分析和内存转储分析。  相似文献   

4.
针对目前日益严峻的软件保护问题,对现有基于虚拟机的软件保护技术进行分析与研究,对虚拟机保护技术进行了改进,设计了一种增强型虚拟机软件保护技术。采用了虚拟花指令序列与虚拟指令模糊变换技术,并对虚拟机的虚拟指令系统做了改进,从而提高了虚拟机执行的复杂程度与迷惑程度,具有高强度的反逆向、防篡改、防破解的特点。实验分析表明,增强型虚拟机保护技术明显优于普通型虚拟机保护技术。  相似文献   

5.
刘铁铭  蒋烈辉  井靖  李继中 《计算机科学》2011,38(12):284-287,292
通过深入研究ARM指令系统的特点及其编译后的代码特征,构建了基于ARM微处理器的二进制嵌入式代码解析模型,讨论了基于ARM体系结构的嵌入式代码语义分析方法。从指令和指令序列两种粒度级别分别讨论了代码语义属性的抽取方法,并分析了基于该解析模型的指令和指令序列的实例。结果表明,此方法极大地提高了代码解析的准确性和可读性。  相似文献   

6.
这里提出了一种基于椭圆曲线公钥密码算法的序列号生成方案,结合签名技术,可以防止敌手代码被篡改或者跳过某些重要代码,因此该方案构成一种安全有效的软件保护方案,最后分析了该方案的安全性,并进行了方案的有效性实验.  相似文献   

7.
软件通常以二进制文件的PE格式发布,但它不利于阅读和分析.通过反汇编分析器可以将二进制文件转化成高级语言的汇编指令,从而有利于对目标代码的分析,方便对目标代码进行软件保护相关的操作.实验表明,线性扫描和递归遍历相结合的反汇编分析算法取得较好的效果.  相似文献   

8.
软件版权保护一直是软件作者和公司关心的问题.通过对目前所采用的软件保护方式进行分析,从增大代码理解难度的角度出发,提出了基于RSA算法的软件注册码分配方式,其基本思想是,在程序开发过程中,利用RSA算法中的公钥,对程序中部分代码进行加密,然后将私钥作为注册码对程序进行解密.并且提出基于自修改机制(self-modifying mechanism)的软件保护技术,降低了软件被破解的风险.  相似文献   

9.
在CPU验证过程中,传统伪随机指令生成器通过生成大量合法无序的指令序列,从而实现功能覆盖率或代码覆盖率的验证目标。然而,没有趋向针对性的指令生成,为达到指标需要耗费大量的人力及时间成本。该文以一款基于精简指令集(RISC-V)自研核心为例,在基于通用验证方法学(Universal Verification Methodology, UVM)的验证平台上设计出一种伪随机指令生成器,并针对普通伪随机指令生成器覆盖率低、收敛速度慢的问题,建立GRU_LSTM算法模型,并结合强化学习(Reinforcement Learning, RL)算法构建新算法模型RLGRU_LSTM应用于伪随机指令生成过程,并且针对RL方向决策,提出了基于霍夫曼编码的CPU指令包编码方式训练opcode分布,同时融合了CPU指令类型和指令间执行顺序因素,快速捕获人工定向验证预料不到的验证盲点,有效加快了代码覆盖率达到预期的进程。该文着重描述伪随机指令生成器及RLGRU_LSTM算法对模型训练过程的指导。实验结果表明,与直接使用伪随机指令生成技术相比,该方法在约定伪随机指令条目下,相比传统伪随机方法能提高约19%的覆盖...  相似文献   

10.
即时编译机制(just-in-time compilation)改善了网页浏览器执行JavaScript脚本的性能,同时也为攻击者向浏览器进程注入恶意代码提供了便利.借助即时编译器,攻击者可以将脚本中的整型常数放置到动态代码缓存区,以便注入二进制恶意代码片段(称为gadget).通过常数致盲等去毒化处理,基于常数的注入已经得到有效遏制.证实了不使用常数转而通过填充脚本代码块也能实施gadget注入,并实现图灵完备的计算功能.在编译一段给定的脚本代码时,即时编译器生成的动态代码中通常存在着一些固定的机器指令序列.这些指令序列的存在性不受常数致盲和地址空间布局随机化等安全机制的影响,同时,这些指令序列中可能蕴涵着攻击者期望的gadget.在实施攻击时,攻击者可以汇集特定的脚本代码块来构造一个攻击脚本,再借助即时编译器来注入gadget.在x86-64架构上评估了这种注入攻击在SpiderMonkey和GoogleV8这两个开源即时编译引擎上的可行性.通过给这两个引擎输入大量的JavaScript脚本,可以得到较为丰富的动态代码块.在这些动态代码块上的统计分析结果表明,这两个引擎生成的动态代码中都存在图灵完备的gadget集合.在实际攻击场景中,攻击者可以利用的脚本集合完全包含且远远多于实验用的脚本.因此,攻击者可以采用该方法注入需要的gadget,以便构造出实现任意功能的ROP(return-orientedprogramming)代码.  相似文献   

11.
Fuzzing测试是一种基于缺陷注入的自动软件测试技术,近几年来广泛应用于软件测试、安全漏洞挖掘等领域.当Fuzzing测试出现异常时,需要人工逆向精确定位触发漏洞的代码位置,分析的工作量大,而且分析效率较为低下.论文以现有二进制比较技术为基础,根据二进制目标软件中代码运行的依赖关系,提出一种针对执行记录的两阶段比较算法,在函数级别和基本块级别上对文件正常执行和出现异常的跟踪记录内容进行比较,得到所有相同和不同的指令执行序列.依托指令序列信息,可以有效辅助人工分析,大大降低分析的工作量,提高分析效率.  相似文献   

12.
针对当前软件保护技术存在的不足,提出一种代码碎片化技术,该技术是一种以函数为单元,对函数进行代码shell化、内存布局随机化、执行动态链接化的新型软件保护技术,代码shell化实现代码碎片的位置无关变形,内存布局随机化实现代码碎片的随机内存加载,动态链接化实现对代码碎片的动态执行,通过上述3个环节实现对程序的碎片化处理。实验表明,代码碎片化技术不仅能实现程序执行过程中函数碎片内存位置的随机化,还能实现函数碎片的动态链接执行,增加程序静态逆向分析和动态逆向调试的难度,提高程序的抗逆向分析能力。  相似文献   

13.
代码混淆是一种便捷、有效的软件保护方法,能够较好地对抗以逆向分析为基础的MATE攻击,随着以符号执行为基础的自动程序分析技术的发展,出现了能够抵抗符号执行的新代码混淆方法——路径分支混淆。依据路径分支信息的构成,以及分支信息在对抗符号执行分析上的差异,对分支混淆技术进行了分类,并给出了分支信息泄露与符号执行的联系;按照分支混淆的分类,对当前分支混淆的研究进展进行了介绍和总结,分析了各类分支混淆的优缺点;最后,对分支混淆技术的发展进行了展望。  相似文献   

14.
为了提高基于垃圾代码的控制流混淆方法的优化效果, 针对插入分支垃圾代码以及循环垃圾代码会引入大量额外开销的问题, 从软件保护中代码混淆技术出发, 对代码混淆技术的研究现状和原理、混淆算法攻击以及基于控制流混淆技术作了深入研究, 提出一种基于Java代码控制混淆中插入垃圾代码的改进方法。新方法与基于垃圾代码的控制流混淆变换方法比较, 结果表明, 新方法增加了代码抵抗攻击者的静态分析的能力, 增加了反编译以及逆向工程的难度, 既达到了很好的防御逆向工程攻击的效果, 又不会大量引入额外的系统开销。  相似文献   

15.
按照一定顺序执行虚拟指令处理函数(Handler)可完成程序关键代码的保护,其为软件逆向分析者攻击的重点对象。针对“动态提取,静态分析”的Handler攻击方法,提出一种基于Handler混淆增强的虚拟机保护方法。运用等价指令替换规则生成多种等价Handler序列,对所有Handler进行变长切分和随机乱序,通过构建跳转表对乱序序列进行重组,构建随机地址数组对Handler调度地址表和执行跳转表进行隐藏。实验和分析表明:多样化Handler生成、切分和乱序增加了动态提取和分析的难度,Handler地址表和跳转表的隐藏增加了抵御静态逆向分析的难度,从而提升了虚拟机保护强度。  相似文献   

16.
针对虚拟机模块连接安全性较弱的问题,提出一种多维防御混合的虚拟机保护安全性增强方法。首先融合ROP、指令重叠和指令自修改技术对虚拟机框架模块连接指令序列进行隐蔽性混淆,然后运用基于多样化和随机化技术构造的混淆指令网络提升指令序列复杂性,最后采用哨兵集和三线程保护技术完成模块连接指令序列的防篡改。采用了不透明谓词,随机选...  相似文献   

17.
本文给出了对于IA-64体系结构可执行程序逆向恢复中过程识别和抽象的技术实现方法。采用自动机理论与模板匹配相结合的方法解决IA-64体系结构模板中不确定指令的识别问题。实现了基于数据流分析对过程调用的参数和返回值进行恢复的算法。有效地完成了过程调用的二进制代码向与硬件无关中间语言代码转换的恢复工作。  相似文献   

18.
RTW嵌入式代码自动生成机制与代码结构分析   总被引:2,自引:2,他引:0  
随着代码自动生成技术的发展,基于文本规范的传统嵌入式软件开发模式逐渐被基于模型的设计方法所取代,代码自动生成技术是基于模型的开发方法中一项核心技术,而MATLAB中RTW工具箱是代码自动生成最优秀的工具,首先对基于RTW的代码自动生成机制进行了分析,研究了VxWorks目标代码的结构及变量命名规则,并从程序实时运行机制方面进行了分析,方便用户对自动生成的代码进行二次开发;采用该技术进行VxWorks嵌入式软件开发,可大大提高开发效率。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号