计算机软件基础论文
计算机软件基础论文
越来越多的高校针对非计算机专业都开设了计算机软件技术基础课,该课程对培养学生的软件开发能力十分重要。下面是学习啦小编为大家整理的计算机软件基础论文,供大家参考。
计算机软件基础论文范文一:计算机软件保护与恢复探索
简单来讲,反动态跟踪的目的是防止别人使用调试器来追踪软件运行。这种方法最基本的思路是让程序去故意执行一些能使干扰的调试器的正常运行或者可以让调试器失效的动作。反调试代码将测试是否需要额外增加一个调试器,如果需要的话,程序则自动退出,或者让调试器终止。反调试有很多方法,但大部分反调试方法都与一个特定的平台及特定调试器有关。
软件压缩与加壳技术外壳程序事先早于被保护对象程序运行的程序,这部分的程序对原程序代码和数据进行相应解密还原操作。一些壳软件能加密数据并且可以对可执行文件的代码和数据压缩,这不仅降低了文件在磁盘上所占有的存储空间,而且在某些情况下,可以有效提高可执行文件加载的速度。大多数的软件外壳还集成有反静态分析方法、反跟踪技术及反脱壳技术从而增加了破解难度。加密代码是防止静态分析程序的一种常用的方法。一般可以在程序编译完成时,给用户使用之前,将程序加密,并且在可执行文件里嵌套可实现解密的代码来实现解密功能。该方法对于经验丰富的破解者最多也就是在逆向工程中增加一些困难。但是由于只要在可执行文件包含有解密程序,它必须包含相应的解密算法及解密密钥进行解密。由于在程序代码运行之前必须解密出来,因此,在程序运行的过程中,实现解密的全部或部分程序必须留到内存当中。即便如此,代码加密仍然是防止静力分析的一种常用方法。这是由于它能够明显改善程序的分析复杂性,有时候甚至能够迫使破解者必须动态分析程序。
软件水印软件水印方法的基本思想是,把版权信息或者唯一身份识别码等信息,隐蔽的嵌入应用程序中,当需要时候再用一个特定的水印算法将水印提取出来进行版权确认,这是一种可以追踪非法软件拷贝的副本直到源头的方法。根据水印加载的时间来分,软件水印技术可以分成静态软件水印技术和动态软件水印技术2种。静态软件水印的存在并不依赖于软件运行的状态,可以在储存、发送及运行时进行验证。静态水印软件通过在软件编辑时直接或者在编辑完成后加入的方式加入到软件程序中。只有对软件本身有足够的了解,才能最终确定水印信息。根据水印存放的位置不同,静态水印又可以分为静态代码水印和静态资料水印2种。动态水印依赖于软件运行状态而存在,一个动态的软件水印的结构是在程序执行时被构造出来的,因此可能会由某一个特定输入序列进行触发。动态水印能通过分析水印信息的程序运行时候结构的数据的结构来萃取,也可以通过执行跟踪程序提取。动态软件水印又可分为动态执行轨迹水印、复活节彩蛋水印及动态数据结构水印3类。软件水印保护的目标就是使攻击者很难对水印程序进行分析,从而防止水印的发现和窃取,或防止水印的代码被恶意修改或删除。
虚拟机保护虚拟机保护技术是将一段程序汇编成一段特殊意义的代码,这个代码不是在目标机被直接执行,而是通过一个解释器来模拟执行。虚拟机中的可执行代码文件只有一个数据块,由于虚拟机代码在运行的过程中进行解释执行,所以反汇编工具不能反编译虚拟机的代码。破解者要分析虚拟机的加密结构与执行过程要花费大量时间及精力。另外,由于虚拟机能够屏蔽具体的平台及相关信息,编译器只要产生能够在虚拟机上进行运行的一种目标代码,它就可以在各种平台运行而无需修改,而虚拟机本身需要移植。当虚拟机要执行相应的字节代码时,再将字节码解释成相应的具体平台上的机器码进行执行。
计算机软件恢复的原理与方法
软件恢复技术是应对系统软件老化现象的有力效方法。简单地说,是当软件的性能衰退到了一定程度时,终止程序的运行,并对系统重置来清理系统内部的状态,从而能够释放操作系统的资源,恢复软件的性能,并能有效减少由于系统软件的老化造成意外终止而带来损失。在进行恢复策略研究时,依据一定系统模型,将系统状态分成系统鲁棒状态、系统预故障状态及系统故障状态。根据对以上原型系统的分析,软件恢复策略一般分基于时间的软件恢复策略与基于检测的软件恢复策略2种。
基于时间的软件恢复策略基于时间的恢复策略是实现简单、成本可预计的一种恢复模式。该方法通常是基于最小的恢复成本和最短的停机时间来得到更高系统服务率或者更快服务响应来提前确定最优恢复的时间间隔,对性能衰退的系统周期性的进行恢复。基于时间的软件恢复策略中重点研究的一个问题是如何确定最优的恢复时间表的问题。
基于检测的软件恢复策略基于检测的恢复策略是通过对系统的检测来确定恢复模式。恢复模式的确定通常根据系统参数、系统运行期间采集到的系统信息并通过合理的数据统计等来确定相应的恢复模式。基于检测的软件恢复策略首先要确定系统性能进行衰退的阈值和评价指标,主要是分析造成系统的性能衰退的主要的一个原因或者几个原因的协调折中。在系统的运行过程中对系统的性能进行检测,若达到了预先所设定的阈值时则执行软件恢复。为减少监控的成本,在检测时可以在指定的时间间隔内进行周期性的检测。
软件保护与恢复技术的应用
通过对系统进行综合的权衡和比较及算法研究,得到完整保护的流程是:首先要对软件程序有限制,要求用户至少要进行注册才能得到完整的使用权限,并用程序运行与用户机的硬件相关联的注册码进行关键功能解封。其次,为防止解密者利用各种工具得到程序的关键点及关键的信息,应采用反跟踪技术、反调试技术及反汇编静态技术等进行分析。另外,最好给程序加上一个外衣,把程序包起来,也就是利用加壳软件或加密锁等产品来提高自己程序的防范能力和增加破解门槛。也要考虑怎样有效的保证自己程序只给合法用户使用,而非合法用户即使在正常的途径下得到了正式软件业也无法正常使用的问题。目前此问题一般用“一机一码”进行许可注册的方式进行解决。在软件恢复中,在保证产生更多恢复方法的同时要结合基于时间与基于测量的2种思路进行研究。同时在软件容错领域中,将软件恢复的相关概念与其他的有效技术概念相结合,以便产生出更多新概念和新方法。
结语
国内外的专家学者对软件的保护及恢复进行了较为深入的研究和探讨,并且取得了一系列丰富的科研成果。本文对计算机软件保护与恢复的理论研究有一定的指导意义。
计算机软件基础论文范文二:小议计算机软件数据接口的作用
目前常用的接口方式为:无缝链接法及IGES格式的导入法。除了上述软件间的接口问题外,其它不同软件间也存在接口问题,目前随着技术的不断发展,一些问题已相继解决,但仍然存在安全隐患,例如现行机制可能为恶意攻击者提供攻击应用程序的机会。同样,一些用户在理解和掌握这些共享机制时,可能会直接从底层访问数据,从而影响了数据自身的一致性。
1设计原则
在对计算机软件数据接口进行设计时应按照以下设计原则:
1.1面向对象
在设计计算机软件数据接口的过程中,应最大程度上准确描述该软件所提供的服务和功能,实际上就是在设计过程中应以面向对象为主要原则。设计过程中数据接口科学性和合理性的提高,能够推动软件本身使用效率的进一步发展。而要想减少开发程序时的成本和难度及降低不同程序模块间的耦合性,程序开发人员往往使数据接口更加复杂和详细,同时数据接口的最终效果也会更好。
1.2高容错性和高建壮性的软件数据接口
所谓软件接口的健壮性实际上就是软件处理一些规范要求以外情况的能力。如果该软件健壮性较强,那么它就能在处理规范要求以外情况的过程中提供恰当的处理方法并做出判断。由于不同软件间实现交流的主要手段就是软件数据接口,因此在设计过程中必须保障该接口具有较高的健壮性和容错性,从而为工作人员提供处理异常问题的合理机制。
1.3可扩展性的软件数据接口
软件在使用过程中用户会根据实际需要提出新要求,而软件接口数据应根据这些变化不断升级,因此,设计人员在设计软件数据接口的过程中,必须考虑其可扩展性。
1.4以客户需求为依据
软件数据接口应提供的服务和功能是由软件本身所具有的服务和功能决定的。而软件用户所提出的需求正是数据接口存在的意义。所以尽可能满足用户对软件的需求是设计软件数据接口的基本原则。
1.5与行业内制定的数据标准接口相符
随着计算机技术的高速发展,计算机软件已成为各个行业发展不可或缺的一部分,而不同的行业开发商所采用的编程语言是不同的,数据库也不同,因此定义的接口数据标准也有所区别。这些没有统一的计算机软件数据接口,给日后软件升级等一些工作带来很多困难,维护起来较麻烦。这就要求设计人员在对数据接口进行设计过程中应最大程度上符合业内标准,从而为日后软件的升级、第三方软件开发商的工作提供更多便利。
2应用计算机软件的数据接口
2.1文件交换模式
该方式下用户、软件开发商及第三方的软件开发商间实现数据交互的主要手段是通过指定数据结构中的文件来完成的。主要流程为:首先,软件用户或者软件第三方开发商以开发商指定数据结构为依据,提供一个文件,当该文件被系统软件扫描后,计算机就会自动按照系统内部的相关规则返回相应文件。然后软件第三方的开发商或者用户按照相关规则读取该文件,从而实现数据交互的目标。数据文件形式多种多样,主要有txt和ini文件,开发商除了能够利用通用格式外,还能采取自定义的方式获取文件格式。Ini文件属于windows系统配置文件,再加上windows系统能够提供API函数,该函数主要用于操作ini文件,所以ini文件大多用于记录软件本身的配置信息,另外,使用ini文件还能实现数据交互的目的。Txt文件属于windows系统中的文本文件,在软件开发过程中常常被程序员用于记录其它特殊格式。例如以##为分割的字符串。对txt文件的操作方式各种开发语言都能提供。总之,文件交换模式开发起来较自由,程序员往往能够灵活地完成用户需求,编程语言限制力度不大。但采用这种方式开发软件时,软件第一方的开发商必须定期对第三方软件开发商的接口文件进行检测,检测其是否提交相关文件。
2.2中间数据库的模式
软件中间数据库的模式实际上就是让软件开发商构建起一个公用数据库,并授权给软件第三方的开发商及用户允许他们访问,双方根据一定规则对数据库中的数据进行操作,从而实现数据交互功能。该模式下软件第三方开发商或用户访问数据库时,只能访问指定格式的数据,所使用的数据库最好为当前主流格式。例如:sybase,Access,oracle等。该方式下为软件第三方开发商的工作提供了很多便利,使其操作数据过程中的灵活性更强。但该模式需要额外数据库的支持,再加上数据库配置的复杂性,相对来说实现起来比较困难,因此该模式的使用范围不是很广泛。
2.3应用程序接口的函数模式
应用程序接口的函数模式实际上就是指开发软件前,软件开发商充分考虑过数据安全性后,预先编制好访问数据的函数,软件第三方开发商或用户只需调用定义好的函数就可访问相关数据。该模式下数据具有透明安全性,目前应用范围较广,而且大多数的软件开发商都会公开自己应用程序接口的函数,因此为很多用户或软件第三方开发商的工作提供了便利。
3结语
综上所述,我们可以得出,计算机软件的数据接口能够实现不同软件间的数据交流,因此具有承上启下作用,能够将彼此孤立的软件组成一条流水线,促进用户工作信息一体化的发展,很大程度上提高了软件的可行性。因此程序开发人员应努力统一各个行业中的接口规范,以便为接口程序提供更多的服务。
计算机软件基础论文相关文章: