美章网 资料文库 计算机软件开发和保护技术探讨范文

计算机软件开发和保护技术探讨范文

本站小编为你精心准备了计算机软件开发和保护技术探讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

计算机软件开发和保护技术探讨

计算机不断的发展中,软件的应用遍及于世界的各行各业,人们越来越多的在使用计算机的软件,作为21世纪信息化的时代,计算机软件已经成为人们生活中一种离不开的常见产品,市场经济下对计算机软件的需求量是非常大的,具有了新的发展新机遇,随之而来的是对计算机软件的开发难度是越来越大。主要表现在计算机应用软件开发效率低、成本高、质量低和软件运行的维护,以及在升级方面比较困难,而且各不同系统结构的应用软件统一也很难进行等方面问题。计算机软件可分为系统软件和应用软件两种,系统软件里面重要的是操作系统,包括Windows98、Windows7、WindowsXP等。可以算是计算机的大管家,主要负责管理和控制计算机各个部件的协调工作。

1.计算机应用软件开发的研发分析

在计算机软件的发展过程中,计算机应用软件全新的自动化开发理念将是以后研究的方向,计算机应用软件的自动化研发系统,即可以简短研发周期、对软件的质量有所提高,又可以大大降低应用软件在使用过程中升级和维护的难度系数。计算机应用软件的自动化研发核心是,对自动化研发软件进行合理设计,同时建立基于自动化的计算机应用软件研发平台。而在计算机中有一个重要的组件,关系到某种应用软件的应用功能完成与否,就是业务组件,业务组件是一种具有实体意义的软件业务,是对某一组件业务对象的整体软件的映射形式,并具有独立应用的意义。而业务组件形式中涵盖了业务服务端的全部数据信息,并且能够实现自主的、多样性的其他业务服务和操作,这样就使得计算机应用软件的安装以及与其相关联的一些列应用内容的添加以及安装形成了一体形式,这样在对计算机应用软件进行安装时其安装的将不再是一种单一的软件内容,而是一些应用软件业务组件的整体安装,这样就可实现更多、更全面的应用软件需求。而计算机应用软件自动化开发技术平台的实现需要由业务组件的生成器和业务组件的设计流程器构成。

业务组件的生成器是把业务组件数据库,实际业务组件图形化输入界面,业务组件拓展机制系统和业务组件处体制所组成。业务组件图兴化输入界面是构成数据库资料的主要内容,包括明业主信息,详细信息以及服务性信息等等。业务组件的处理体制是根据业务流程中产生的数据、信息内容进行自动化的业务组件生成、存储、执行的代码形式。业务组件生成的内容有业务的信息、资料、显示形式、数据库内容、定义属性及各业务的处理功能,主要有:修改数据、设定数据的权限操作、存储信息、打印数据、修改过的数据、对数据进行列表处理、提供查询索引和数据信息的最终统计工作等方面。

而业务组件的设计流程器则是对业务流程的管理与设计的实现,有图形化业务流程设计面、管理流程、应用库。图形化业务流程设计面为计算机应用系统的研发提供了指向针,软件的维护人员则能够利用业务组件的设计流程器来对不同业务之间的不同要求进行权衡。管理流程运用在应用软件系统管理中不同的业务流程的执行情况。同时能够为管理流程细节提出更具有针对性的操作方案,以便完善业务实际发生时的业务流程计划,更具实际操作性地满足企业对商业运作的要求。应用库适用于研发计算机应用软件系统时,对所需的各种应用程序进行储存,以便更优质地完成业务组件所要实现的具有流程细节、应用内容以及软件应用目的。其应用库类型有以下几种:以及Web下的应用形式、基于脚本下的应用形式、基于Java下的应用形式、基于外部应用下的应用形式等等。在研发计算机应用软件过程中,如遇到特殊软件应用内容的要求,则可以采用在系统之中添加内置应用内容,或是自定义开发内容,或是拓展使用应用形式。

2.计算机软件保护技术分析

在软件开发中总要涉及安全工程的建设,而安全程序的开发设计过程是开发者们采取把创建的一些具有能够提供安全服务的模块,合理有效的安装在一起的过程,而如何确保安全,则需要做好计算机软件保护技术分析。软件保护技术主要是对硬件开发的软件保护技术和对软件开发的软件保护技术。而往往又是以软件保护技术涉及的范围最广,属性最特殊。软件保护技术所涉及的领域以应用软件、驱动、操作系统、网络等为主。对于软件保护技术和该产品的安全性的判定,是需要综合判定的,单从任何单一方面都无法客观的评价其安全性。

2.1通过序列号进行保护在实际的软件注册过程中,一般要求输入用户名和序列号,或者是提供一个机器码,然后要求输入序列号。这个序列号一般是由机器中某个固定的值推算而来,比如WINDOW平台常用网卡MAC码,或者是其他的硬件的编码有效的组合得到这个注册码。注册的时候,你反馈该机器码给软件作者,并完成支付,软件作者向你提供一个对应的序列号,然后你便可以完成软件的注册。Windows中的机器码-序列号注册模式。很明显,一般的序列号验证中,用户名/机器码和注册码中存在一个一一对应的关系。(1)用户名-序列号模式:以用户名作为自变量,通过F函数变换得到了这个序列号。使用公式表示如下:序列号=F(用户名)。这种模式,会有一个明显的缺陷:在程序运算的过程中,F(用户名)其实就是正确的序列号,通过正确的序列号和输入的序列号进行对比来判断是否能注册成功。这种情况也就是说,在程序运行的上下文,我们能够从中找到这个序列号的明文。找到明文,那么就可以以smali代码注入的方式输出到logcat或者其他控件之中。(2)机器码-序列号验证模式。F必须是可逆变换。机器码=F(序列号)或F-1(机器码)=序列号这种算法好处体现在若使用机器码-序列号验证,就算让你得到某序列号对应的正确的机器码,由于机器码大多数是由硬件资源固定下来的。所以这种模式且使用机器码-序列号的方式会好一些。当然,若采用机器码-序列号方式,理所当然也会增加开发者的额外负担,因为用户注册必须把机器码发回软件作者,软件作者通过F可逆的变换算的正确的序列号,再发会给用户,用户才能完成注册。从公式也可以看出,若解密者找到了F的可逆变换,那么就能写出注册机。所以F函数的设计显得尤为重要,因为如果F函数能够轻易被逆转,那么破解者就能轻松的写出F的可逆变换,完成这个注册机。

2.2功能限制的保护功能限制是把试用版软件中的一些常见功能限制其使用,这就是我们常在软件试用版中看到的经过灰色化处理的模块。这种通过限制功能保护的方法,目前在实践中受到了良好的效果反馈。如有些DEMO版本的部分功能里面根本就没有。而有些程序功能全有,只要注册后就正常了。当你使用这些DEMO程序部分被禁止的功能时,会跳出提示框,说这是DEMO版等话,它们一般都是调用MessageBox[A]或DialogBox[A]等函数。你可在W32DASM反汇编它,一般能找到如下字符串:"FunctionNotAvaibleinDemo"或"CommandNotAvaible"或"Can'tsaveinShareware/Demo"等,这些CALL会被相应的调用,可作为你破解的一指示器。并且是由EnableMenuItem允许、禁止或变灰指定的菜单条目和EnableWindow允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰)两种函数实现。

作者:李韬 单位:天津中德职业技术学院经贸管理学院