首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 15 毫秒
1.
于璞  舒辉  熊小兵  康绯 《软件学报》2023,34(4):1650-1665
目前,在代码保护技术研究领域,传统的混淆方法具有明显的混淆特征,分析人员可根据特征对其进行定制化的去混淆处理.为此,提出了一种基于分片融合的代码保护技术,通过在源代码层面将目标代码按照语法规则进行代码分片,依据执行顺序与语法规则,将分片插入另一程序的不同位置,在修复函数调用过程与数据关系后,形成可正常运行两个代码功能的融合后代码.在实验部分,对混淆后的代码,从运行效率、代码复杂度影响、代码相似性这3个维度,与其他混淆技术进行对比.从测试结果可以看出:基于分片融合的代码隐式混淆技术能够有效地模糊代码语义,改变控制流特征,且没有明显的混淆特征.因此,融合技术在对抗多种相似性对比算法的能力上有明显优势.  相似文献   

2.
在软件相似性鉴定中,笔者遇到了一个C语言编写软件和汇编语言编写软件的相似性鉴定,在过往的几个相似判决案例中,鉴定机构都直接比对了目标代码,且在其中一份判决案例中直接提到了在二进制代码实质相同的情形下,存在用不同语言编写的源程序的可能性极小。而在本案中,经过试验求证,发现相同的目标代码是可能来源于不同语言编写的源代码,而且C语言源代码和汇编语言源代码之间存在转换关系,C语言源代码可在编译中生成汇编语言代码,而C语言源代码生成的目标代码也可反编译成汇编语言代码,从而进行进一步的比对,这种比对,在原被告都提供了与目标代码对应的源代码的情况下,比只比对目标代码显然更具有说服力。  相似文献   

3.
为了吸引更多开发者或是支持不同的平台,开源项目组织或商业公司倾向于采用多种语言实现他们的项目。在这些多语言项目中,存在大量跨语言的克隆代码,跨语言的克隆检测成为维护此类项目的重要部分。但是,现有的工具大多只能检测同一种语言的克隆,无法有效检测如Java和C#之间存在的跨语言克隆。为此,本文提出一种基于代码变更相似性的克隆检测方法,该工具能够检测出Java和C#代码中存在的跨语言克隆。在开源项目ANTLR和FpML上进行实验评估,结果表明该工具能够有效检测出跨语言克隆代码。  相似文献   

4.
进行精确的软件性能分析,需要在代码中插入测量和控制代码,并根据具体运行状态动态的检查多个不同的参数。但是,用静态类型的程序语言,如C语言等书写的代码,一经编译和链接,其处理逻辑即不可更改。因此,在无法获取源代码或者重新编译和重新启动代价较高的应用中,对软件进行动态性能分析非常困难。本文将介绍一种在软件运行时刻动态插入监控点的动态指令编译技术对软件进行监控,从而在上述情况下达到对软件的监控目的。这种方法是基于Dynlnst API和PAPI技术的。实验表明,这种方法在去掉了对源代码的依赖的情况下,仍然与在源代码级插入监控点的方法具有同等的采集效率,在很大程度上增强了基于硬件性能计数器方法的软件监控技术的应用范围,达到了较好的性能分析效果。  相似文献   

5.
现有代码安全审计主要是关注语言自身的缺陷,即语言所包含的API函数的风险,无法理解软件源代码中逻辑和核心资产与外界的关系,更无法判断源代码中所存在的恶意后门代码,因此,外包开发团队或者恶意开发人员设置的后门代码将无法查找和定位。为了解决上述现有方案的缺点和盲点,在现有的代码安全审计的基础之上,结合最小攻击面和保护资产列表,分析所有受保护的信息资产与攻击面的关系,查找保护资产在系统内对所有代码元素的影响,并审查其相关路径,找出不期望的代码执行路径,从而达到定位恶意代码功能。识别恶意程序,降低源代码安全风险。  相似文献   

6.
李阵  钮俊  王奎  辛园园 《计算机应用》2018,38(3):812-817
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。  相似文献   

7.
针对代码与模型之间的不一致性问题,提出了一种基于UML模型和Java代码之间的一致性检测方法.首先,对UML类图和时序图进行形式化描述,并提出时序调用图(SD-CG)这一概念,在此基础上完成类的关联关系到关联属性的转换以及UML时序图到时序调用图SD-CG的转换;其次,通过方法调用图CG来表达类方法之间的调用关系,从而反映代码动态行为,由此通过对Java源代码的词法分析与语法分析,可获得类的信息及方法调用图CG;然后设计了UML模型与Java源代码间一致性检测算法,包括对类间静态信息以及时序调用图SD-CG与方法调用图CG间的一致性检测;最后,通过开发UML模型与Java源代码一致性检测工具,验证了所提出的方法是可行有效的.  相似文献   

8.
一种基于指针逻辑的代码安全属性分析方法   总被引:1,自引:0,他引:1  
在分析和总结前人工作的基础上,提出了一种改进的代码安全属性验证方法.该方法在利用传统的源代码安全属性验证工具的基础上,加入了指针逻辑,针对现有代码属性分析技术只能对C语言子集进行分析验证的不足,利用指针逻辑对源代码的分析结果对源代码中的指针进行替换,从而避开了传统静态代码属性验证工具对指针处理功能太弱的瓶颈,可以实现对C语言中的部分指针及运算进行处理.  相似文献   

9.
基于源代码分析的逆向建模   总被引:1,自引:0,他引:1  
逆向建模通过对源代码进行分析,提取出代码中的对象信息、结构信息、流程信息等,生成对象间的关系描述、结构描述、系统流程描述等设计模型描述。逆向建模过程中对源代码的分析处理与编译过程的前端处理相似,只是处理的复杂程度与产生的目标结果不同,因此可以采用编译技术对源代码进行处理。通过逆向建模可以弥补软件设计中缺少或缺失的模型设计文档,帮助代码阅读者更好地理解程序,帮助软件的测试和优化。介绍了对C/C++源代码进行逆向建模的实现。  相似文献   

10.
郑建华  朱蓉 《福建电脑》2011,27(12):8-9
代码自动生成技术是提高软件开发效率的有效方式,本文提出一种实现SSH(Struts-Spring-Hibernate)框架集成源代码的自动生成的技术方案。该方案通过构建图形化的E-R(Entity-Rela-tion)图编辑器,实现E-R图绘制;然后基于该E-R图实现不同类型数据库源文件、以及SSH框架集成源代码、持久层代码自动生成,最终形成一个完整的J2EE项目开发环境。  相似文献   

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

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