首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 187 毫秒
1.
针对使用现有软件胎记进行程序抄袭检测结果不准确的问题,提出一种新的静态软件胎记提取算法。该算法产生的程序胎记由软件的两个方面特征综合生成。算法对源程序和可疑程序进行预处理得到程序元信息,然后通过元信息获取程序的应用程序接口(API)调用集合和指令序列作为两个特征,综合这两项特征生成软件胎记;接着,计算源程序与可疑程序的软件胎记之间的相似度,通过相似度判定两程序之间是否存在抄袭行为。实验验证了该算法得到的软件胎记具有可信性和弹性,与传统的k-gram软件胎记相比更具有弹性。  相似文献   

2.
软件流水是一种开发循环程序指令级并行性的技术, 它通过并行执行连续的多个迭代来加快循环的执行速度。而在逆向工程中,软件流水却为逆向翻译带来了困难。为此,基于IA-64平台,提出了一种反流水算法,针对循环中包含软件流水的汇编代码进行处理,将其反向转换成语义等价的串行代码,并通过实验验证了该算法的有效性,为在二进制翻译中处理软件流水代码奠定了基础。  相似文献   

3.
王强 《软件》2002,(2):16-19
如果你是一个软件爱好者,你是否对软件的安装程序很感兴趣?如果你是一个编程爱好者或者汉化爱好者,有一些自己的程序或汉化软件,并希望将它们制作成安装版提供给广大用户,也许你首先想到的是InstallShieldDeveloper、Wise Installation System Professional等比较专业的软件,当然该类软件的功能确实强大,但是软件的体积也令人敬畏,而且在使用时必须有一定的专业知识。为此,笔者向大家郑重推荐一款体积较小、功能齐全的安装程序制作工具——Swift Install(如图1)。  相似文献   

4.
一种基于目录的软件事务性内存实现算法   总被引:1,自引:1,他引:0  
软件事务性内存(STM)提供同步手段,让多线程程序高效并发执行.STM算法中一般包含记录所访问的共享数据、缓冲投机修改的数据以及处理事务冲突.STM中的主要开销在于维护共享数据访问记录和一致性验证.维护共享数据访问记录主要目的是便于进行验证.冲突检测(conflict detection)判断两个事务能否同时提交,而验证(validation)确保每个线程看到的数据状态是一致的.给出了关于STM一个简单模型,证明在STM中对共享数据的修改是线性的.提出的LDSTM算法通过在目录中维护版本信息,可以在读取各个共享对象时快速确定事务的内存视图是否处于一致状态,可以极大减少冲突检测和验证的开销.该算法可以实现早期发现写一写冲突,减少无效计算.在单线程情况下该算法开销很小.实验数据表明,LDSTM简单高效,冲突检测和验证开销减少明显.  相似文献   

5.
针对传统SKB软件胎记检测程序抄袭结果不准确的问题,提出一种基于程序控制流的软件胎记方法进行抄袭检测。使用Java程序静态分析的结果作为元信息,通过分析元信息得到字节流指令。分析字节指令流以及程序的控制流结构,并将其中的外部引用替换为外部控制流结构,以该控制流结构作为软件胎记。使用VF2算法计算两胎记之间的相似度,从而判定两程序之间是否存在抄袭行为。实验结果表明,所提胎记较传统SKB胎记更具可信性。  相似文献   

6.
大家都知道,写好了一个软件,可能挺大,也可能包含了许多文件。所以当流传时,最好先压缩一下,往往节省一半磁盘空间。用户拿到了你的磁盘,直接从软盘上拷贝到硬盘上显然不是良策,所以最好让他运行一个Install或Setup程序,就能万事大吉。在Windows环境下,还得自动创建组和图标才最终了事。 下面就用BC4.5来做一个自己的Install程序。 先做一个准备工作:压缩要安装的程序。BC45中提供了Mircosoft的Compress程序,它用LZH算法  相似文献   

7.
Java程序混淆技术综述   总被引:2,自引:0,他引:2  
软件混淆技术已经广泛应用于抵制逆向工程和重组工程.文中从混淆技术的历史发展角度对现有的混淆技术理论、算法、攻击模式和评估进行了综述,将Java程序混淆算法分为类内混淆和类间混淆两个类别,并对其中的各类算法进行详尽的阐释.最后在现有工作的基础上,展望了软件混淆技术未来的发展与研究方向.  相似文献   

8.
小澄子 《软件》2002,(3):23-24
潜伏在你的计算机里的程序可以从你的每一次击键、发送的每一条信息、敲出的每一个符号以及访问的每一个网站里收集关于你的信息,甚至一个独立的程序可以把这些信息通过E-mail发送给那个在你计算机里安装窥视软件的人。这些软件在进行监察时不会在程序文件或计算机任务栏中显示出来,只有在键入一系列的“热键”后才会现出原形。这两个神奇的程序就是由SpectorSoft公司开发的Spector和eBlaster。  相似文献   

9.
TopSolid开启模具设计方便之门--TopSolid模具设计模块   总被引:1,自引:0,他引:1  
TopSolid软件由法国Missler公司开发,其模具设计包含注射模(TopMold)设计和级进模(TopProgress)设计两个模块。这两个模块有着共同的特点:设计过程智能化和包含丰富的标准件库。一、注射模设计模块(TopMold)1.模具设计过程自动化(1) TopMold在零件三维模型的导入中充分考虑零件  相似文献   

10.
软件测试不仅是提高软件质量及可靠性的重要手段,也是软件鉴定验收的重要依据。同小规模软件相比,大型软件系统往往包含多个软件配置项,涵盖多种软件技术,涉及多项用户业务,系统定型或鉴定测试不仅要考核软件是否满足研制总要求或系统需求的显式需求,还应考核其是否满足隐含的实际用户业务需求。针对此问题,提出了一种基于用户业务流的软件测试方法,设计了系统整体测试方案,并给出了业务流测试用例设计方法及设计过程。  相似文献   

11.
一种基于BP神经网络的代码相似性检测方法   总被引:1,自引:1,他引:0  
如何有效地检测程序设计课程作业中的抄袭现象是一个重要的问题。传统的抄袭检测方法主要利用代码的属性或结构信息来度量代码之间的相似性。给出了一种基于误差反向传播(BP算法)多层前向神经网络的代码抄袭检测方法。提取程序之间的7种比较特征作为神经网络的输入,经过网络计算后得出程序的相似值,并将该值与抄袭决策阈值相比较以判定存在抄袭现象的程序集。实验结果表明,本方法具有很好的检测效果。  相似文献   

12.
一种基于静态词法树的程序相似性检测方法*   总被引:1,自引:0,他引:1  
传统的程序相似性检测工具并不能有效地检测出一些常见的高级词法、语义理解变换的抄袭方式。首先归纳了学生常用的三类抄袭手段,然后给出了基于词法树的程序相似性检测方法。以C语言为例,总结了生成词法树的结构体,并对程序的词法树进行主数据流、结构控制流和时序流分析后得出结构体依赖图;使用形式化的图同型方法来判断代码是否相似,还给出了一个聚类方法以获得彼此相似的程序子集。通过与JPlag、BuaaSim系统针对一组典型的抄袭样本集进行评测结果对比,本方法具有更好的检测效果。  相似文献   

13.
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。  相似文献   

14.
代码克隆是软件系统中常见现象。将程序代码通过静态分析,转换为由程序结点构成的路径执行序列,通过结点属性的定义,将程序代码相似度检测转化为离散序列距离,折线模型和序列相关度问题,针对上述三种模型计算不同代码执行路径间相似度,最终得出程序间克隆相似度。经过实验和数据分析,验证该方法的可行性。  相似文献   

15.
针对同种族恶意软件行为具有相似性的特点进行研究,提出通过静态分析和动态运行程序相结合的方式度量软件行为的相似性。通过反编译和soot代码转换框架获取程序控制流图,利用行为子图匹配算法从静态方面对程序行为相似性进行度量;通过自动化测试框架运行程序,利用文本无关压缩算法将捕获到的trace文件压缩后进行相似性度量。该检测方法综合静态检测执行效率高和动态检测准确率高的优点,实验分析表明,该检测技术能够准确度量程序之间行为的相似性,在准确率上相较于Androidguard有大幅提升。  相似文献   

16.
One of the major problems concerning information assurance is malicious code. To evade detection, malware has also been encrypted or obfuscated to produce variants that continue to plague properly defended and patched networks with zero day exploits. With malware and malware authors using obfuscation techniques to generate automated polymorphic and metamorphic versions, anti-virus software must always keep up with their samples and create a signature that can recognize the new variants. Creating a signature for each variant in a timely fashion is a problem that anti-virus companies face all the time. In this paper we present detection algorithms that can help the anti-virus community to ensure a variant of a known malware can still be detected without the need of creating a signature; a similarity analysis (based on specific quantitative measures) is performed to produce a matrix of similarity scores that can be utilized to determine the likelihood that a piece of code under inspection contains a particular malware. Two general malware detection methods presented in this paper are: Static Analyzer for Vicious Executables (SAVE) and Malware Examiner using Disassembled Code (MEDiC). MEDiC uses assembly calls for analysis and SAVE uses API calls (Static API call sequence and Static API call set) for analysis. We show where Assembly can be superior to API calls in that it allows a more detailed comparison of executables. API calls, on the other hand, can be superior to Assembly for its speed and its smaller signature. Our two proposed techniques are implemented in SAVE) and MEDiC. We present experimental results that indicate that both of our proposed techniques can provide a better detection performance against obfuscated malware. We also found a few false positives, such as those programs that use network functions (e.g. PuTTY) and encrypted programs (no API calls or assembly functions are found in the source code) when the thresholds are set 50% similarity measure. However, these false positives can be minimized, for example by changing the threshold value to 70% that determines whether a program falls in the malicious category or not.  相似文献   

17.
王旭  陈雨亭 《计算机工程》2012,38(15):35-38,42
在多线程程序中,当2个以上线程在没有顺序约束的条件下访问同一个存储单元时,且其中至少有一个为写访问,则可能会发生数据竞争。为此,提出一种针对X10并行程序的静态数据竞争检测算法,包括源访存对计算、可达访存对计算、时钟同步访存对计算和逃逸访存对计算4个阶段。通过在WALA框架中分析构建程序的调用图,计算源访存对集合,检测出内存访存中可能发生数据竞争的无序对。实验结果表明,该算法可以在不显著增加X10并行程序总体运行时间的情况下,达到比较理想的数据竞争检测效果。  相似文献   

18.
资源泄漏是影响软件质量和可靠性的一种重要软件缺陷,存在资源泄漏的程序长时间运行会由于资源耗尽而发生异常甚至崩溃.静态代码分析是进行资源泄漏检测的一种有效的技术手段,能够基于源代码或者二进制代码有效地发现程序中潜在的资源泄漏问题.然而,精确的资源泄漏检测算法的复杂性会随着程序规模的增加呈指数级增长,无法满足生产中即时对缺陷进行分析检测的实际应用需求.面向大规模源代码提出了一种增量式的静态资源泄漏检测方法,该方法支持过程间流敏感的资源泄漏检测,在用户编辑代码的过程中,从变更的函数入手,通过资源闭包、指向分析过滤等多种技术手段缩小资源泄漏检测范围,进而实现了大规模代码的即时缺陷分析与报告.实验结果表明:该方法在保证准确率的前提下,90%的增量检测实验可以在10s内完成,能够满足在用户编辑程序过程中对缺陷进行即时检测和报告的实际应用需求.  相似文献   

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

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