计算机软件反向工程问题探究

计算机软件反向工程问题探究

ID:25191820

大小:63.02 KB

页数:8页

时间:2018-11-18

计算机软件反向工程问题探究_第1页
计算机软件反向工程问题探究_第2页
计算机软件反向工程问题探究_第3页
计算机软件反向工程问题探究_第4页
计算机软件反向工程问题探究_第5页
资源描述:

《计算机软件反向工程问题探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机软件反向工程问题探究【摘要】计算机软件反向工程是指计算机程序员找出一款现有软件的源代码,对它进行分析,并创造出另一款软件。由于计算机的软件具有一次性投入成本高、可多次复制的特点,所以反向工程造成种种问题。本文从计算机软件反和工程目的、计算机软件反向工程对计算机软件开发市场的危害、约束计算机软件反向工程的困境几个方面进行研究。【关键词】计算机软件反向工程一、计算机软件反向工程的概念计算机软件是由特定的程序语言编写成的。目前绝大部分的软件是由于程序语言编写出功能模块,再对功能模块组合构成一款软件。他人在使用这块软件时,有时会想

2、对这款软件的思路流程、语言用法进行研究,因此会用一种特别的技巧通过对软件的反向解析找出软件的源代码,对软件的源代码进行分析和研究,然后根据自己的需要创造出一个新的计算机软件产品。从这个过程可以看到,反向工程的步骤有三个:找出源代码,对源代码进行分析和理解,创作出另一款新的产品。只有完成以上三个步骤,才算完成计算机软件的反向工程。如果用计算机软件反向工程重新研制出一款软件那只是个人的事情,然而如果将计算机软件的反向工程作品散布出去,则会引起一系列的问题。二、进行计算机软件反向工程的目的计算机软件具有艺术价值,一个很好的软件会做到功

3、能和谐、界面和谐、设计和谐,达成一种艺术的效果,比如电子游戏软件就被人称作第九艺术;具有科学价值,计算机软件是由各种程序代码写成,这些程序代码之间有严密的逻辑关系,如果研究计算机软件,将获得很大的科学价值;具有商业价值,计算机软件的商业价值具有一次性投入多,然而却可以用少量成本获得极大商业利润的特点。由于诈算机软件有以上的特点,所以很多人热衷于计算机软件反向工程。总体来说,通常人们进行计算机软件反向工作的目的如下:(一)优化软件的目的1.排除运行故障计算机软件在设计时,往往会存在各式各样运行的漏洞,这些软件在开发时也许没有得到彻

4、底的检验,而软件流向市场后,由于大范围的被使用,软件的运行漏洞也得到反馈。如果有些计算机软件程序员要优化计算机软件,可以通过计算机软件的反向工程了解程序代码的编写思想,通过优化的方法减少软件的运行漏洞。2.减少安全漏洞从法律的角度上来说,计算机软件的创作者只需要对软件的性能负责,而不需要对安全故障负责,所以很多计算机软件设计者会忽视安全漏洞的问题。实际上计算机软件的安全漏洞也是衡量软件性能的一个方面。如果一款软件安全故障太多,则软件在计算机中运行,很容易出现安全隐患。有些程序设计员为了改善软件的安全漏洞而实行计算机软件反向工程。

5、(二)改变软件的功能一款计算机软件的功能可能是综合的,可能是单一的。它的功能不一定适合所有用户的需要。有些软件程序员认为该款软件的功能不适合用户的需要,可能通过计算机软件反向工程对软件的功能重新进行调整。有时程序员会精减一些软件的功能,只保留软件的基本功能;有时程序员会阅读软件的程序代码,将它的功能组合在另一款软件上。比如说著名的平面制图软件Photoshop,它官方的软件功能非常齐备。有一些民间软件程序员将它实行反向工程,提炼出绿色精减的版本,满足一些用户基本的功能需求;有一些软件程序员则提供组合版本,他们将大量的功能插件直接

6、组合在程序上,人们只需要安装一款软件就不需要额外寻找插件,这种组合版给人们带来很大的便利。(三)商业开发的目的要开发一款计算机软件,它的成本投入主要在计算机软件研发上,此时开发者需要投入大量的人力才力对软件进行开发和测试,然而一旦开发结束,那么软件投入市场后,需要投入的宣传成本、生产生本则很有限。因为软件具有无限复制的特性,有些商家瞅准一些软件潜在的商机,想研发近似的软件投入市场进行竞争,却不愿意花费大量的研发成本,因此可能用反向工程的方法窃取他人的劳动成果,达到自己的商业目的。三、计算机软件反向工程对计算机软件开发市场的危害计

7、算机软件反向工程虽然能提高软件质量、加强程序员之间的交流,然而由于计算机软件本身的特点,如果软件反向工程被滥用,则会引起种种危害。这些危害包括:(一)侵犯原创者的利益一款计算机软件研发出来,需要耗费原创者很多成本。这些成本包括人力、物力、财力,如果有人用计算机软件反向工程重新制作软件,则有可能危害软件研发者的利益。比如以Photoshop为例,Photoshop是一款商业软件,它是需要将软件投放市场赢得利润,如果利用计算机软件反向工程将软件的验证密码破译,并且随意更改软件的功能,那么软件制作公司的商业利益则受到侵犯。(二)引起不

8、当的竞争由于计算机软件的特点,如果有人通过计算机软件反向工程将软件的功能模块提取并且修改,作为另一款商业软件投放市场,那么由于反向工程并不需要投入太多的研发成本,它需要花费的成本极少。以这种方式进入市场竞争,是对软件原创者的不公平。比如360软件开发出软件医生,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。