學(xué)習(xí)啦 > 論文大全 > 學(xué)科論文 > 計算機論文 > 計算機軟件基礎(chǔ)論文

計算機軟件基礎(chǔ)論文

時間: 斯娃805 分享

計算機軟件基礎(chǔ)論文

  越來越多的高校針對非計算機專業(yè)都開設(shè)了計算機軟件技術(shù)基礎(chǔ)課,該課程對培養(yǎng)學(xué)生的軟件開發(fā)能力十分重要。下面是學(xué)習(xí)啦小編為大家整理的計算機軟件基礎(chǔ)論文,供大家參考。

  計算機軟件基礎(chǔ)論文范文一:計算機軟件保護(hù)與恢復(fù)探索

  簡單來講,反動態(tài)跟蹤的目的是防止別人使用調(diào)試器來追蹤軟件運行。這種方法最基本的思路是讓程序去故意執(zhí)行一些能使干擾的調(diào)試器的正常運行或者可以讓調(diào)試器失效的動作。反調(diào)試代碼將測試是否需要額外增加一個調(diào)試器,如果需要的話,程序則自動退出,或者讓調(diào)試器終止。反調(diào)試有很多方法,但大部分反調(diào)試方法都與一個特定的平臺及特定調(diào)試器有關(guān)。

  軟件壓縮與加殼技術(shù)外殼程序事先早于被保護(hù)對象程序運行的程序,這部分的程序?qū)υ绦虼a和數(shù)據(jù)進(jìn)行相應(yīng)解密還原操作。一些殼軟件能加密數(shù)據(jù)并且可以對可執(zhí)行文件的代碼和數(shù)據(jù)壓縮,這不僅降低了文件在磁盤上所占有的存儲空間,而且在某些情況下,可以有效提高可執(zhí)行文件加載的速度。大多數(shù)的軟件外殼還集成有反靜態(tài)分析方法、反跟蹤技術(shù)及反脫殼技術(shù)從而增加了破解難度。加密代碼是防止靜態(tài)分析程序的一種常用的方法。一般可以在程序編譯完成時,給用戶使用之前,將程序加密,并且在可執(zhí)行文件里嵌套可實現(xiàn)解密的代碼來實現(xiàn)解密功能。該方法對于經(jīng)驗豐富的破解者最多也就是在逆向工程中增加一些困難。但是由于只要在可執(zhí)行文件包含有解密程序,它必須包含相應(yīng)的解密算法及解密密鑰進(jìn)行解密。由于在程序代碼運行之前必須解密出來,因此,在程序運行的過程中,實現(xiàn)解密的全部或部分程序必須留到內(nèi)存當(dāng)中。即便如此,代碼加密仍然是防止靜力分析的一種常用方法。這是由于它能夠明顯改善程序的分析復(fù)雜性,有時候甚至能夠迫使破解者必須動態(tài)分析程序。

  軟件水印軟件水印方法的基本思想是,把版權(quán)信息或者唯一身份識別碼等信息,隱蔽的嵌入應(yīng)用程序中,當(dāng)需要時候再用一個特定的水印算法將水印提取出來進(jìn)行版權(quán)確認(rèn),這是一種可以追蹤非法軟件拷貝的副本直到源頭的方法。根據(jù)水印加載的時間來分,軟件水印技術(shù)可以分成靜態(tài)軟件水印技術(shù)和動態(tài)軟件水印技術(shù)2種。靜態(tài)軟件水印的存在并不依賴于軟件運行的狀態(tài),可以在儲存、發(fā)送及運行時進(jìn)行驗證。靜態(tài)水印軟件通過在軟件編輯時直接或者在編輯完成后加入的方式加入到軟件程序中。只有對軟件本身有足夠的了解,才能最終確定水印信息。根據(jù)水印存放的位置不同,靜態(tài)水印又可以分為靜態(tài)代碼水印和靜態(tài)資料水印2種。動態(tài)水印依賴于軟件運行狀態(tài)而存在,一個動態(tài)的軟件水印的結(jié)構(gòu)是在程序執(zhí)行時被構(gòu)造出來的,因此可能會由某一個特定輸入序列進(jìn)行觸發(fā)。動態(tài)水印能通過分析水印信息的程序運行時候結(jié)構(gòu)的數(shù)據(jù)的結(jié)構(gòu)來萃取,也可以通過執(zhí)行跟蹤程序提取。動態(tài)軟件水印又可分為動態(tài)執(zhí)行軌跡水印、復(fù)活節(jié)彩蛋水印及動態(tài)數(shù)據(jù)結(jié)構(gòu)水印3類。軟件水印保護(hù)的目標(biāo)就是使攻擊者很難對水印程序進(jìn)行分析,從而防止水印的發(fā)現(xiàn)和竊取,或防止水印的代碼被惡意修改或刪除。

  虛擬機保護(hù)虛擬機保護(hù)技術(shù)是將一段程序匯編成一段特殊意義的代碼,這個代碼不是在目標(biāo)機被直接執(zhí)行,而是通過一個解釋器來模擬執(zhí)行。虛擬機中的可執(zhí)行代碼文件只有一個數(shù)據(jù)塊,由于虛擬機代碼在運行的過程中進(jìn)行解釋執(zhí)行,所以反匯編工具不能反編譯虛擬機的代碼。破解者要分析虛擬機的加密結(jié)構(gòu)與執(zhí)行過程要花費大量時間及精力。另外,由于虛擬機能夠屏蔽具體的平臺及相關(guān)信息,編譯器只要產(chǎn)生能夠在虛擬機上進(jìn)行運行的一種目標(biāo)代碼,它就可以在各種平臺運行而無需修改,而虛擬機本身需要移植。當(dāng)虛擬機要執(zhí)行相應(yīng)的字節(jié)代碼時,再將字節(jié)碼解釋成相應(yīng)的具體平臺上的機器碼進(jìn)行執(zhí)行。

  計算機軟件恢復(fù)的原理與方法

  軟件恢復(fù)技術(shù)是應(yīng)對系統(tǒng)軟件老化現(xiàn)象的有力效方法。簡單地說,是當(dāng)軟件的性能衰退到了一定程度時,終止程序的運行,并對系統(tǒng)重置來清理系統(tǒng)內(nèi)部的狀態(tài),從而能夠釋放操作系統(tǒng)的資源,恢復(fù)軟件的性能,并能有效減少由于系統(tǒng)軟件的老化造成意外終止而帶來損失。在進(jìn)行恢復(fù)策略研究時,依據(jù)一定系統(tǒng)模型,將系統(tǒng)狀態(tài)分成系統(tǒng)魯棒狀態(tài)、系統(tǒng)預(yù)故障狀態(tài)及系統(tǒng)故障狀態(tài)。根據(jù)對以上原型系統(tǒng)的分析,軟件恢復(fù)策略一般分基于時間的軟件恢復(fù)策略與基于檢測的軟件恢復(fù)策略2種。

  基于時間的軟件恢復(fù)策略基于時間的恢復(fù)策略是實現(xiàn)簡單、成本可預(yù)計的一種恢復(fù)模式。該方法通常是基于最小的恢復(fù)成本和最短的停機時間來得到更高系統(tǒng)服務(wù)率或者更快服務(wù)響應(yīng)來提前確定最優(yōu)恢復(fù)的時間間隔,對性能衰退的系統(tǒng)周期性的進(jìn)行恢復(fù)。基于時間的軟件恢復(fù)策略中重點研究的一個問題是如何確定最優(yōu)的恢復(fù)時間表的問題。

  基于檢測的軟件恢復(fù)策略基于檢測的恢復(fù)策略是通過對系統(tǒng)的檢測來確定恢復(fù)模式。恢復(fù)模式的確定通常根據(jù)系統(tǒng)參數(shù)、系統(tǒng)運行期間采集到的系統(tǒng)信息并通過合理的數(shù)據(jù)統(tǒng)計等來確定相應(yīng)的恢復(fù)模式?;跈z測的軟件恢復(fù)策略首先要確定系統(tǒng)性能進(jìn)行衰退的閾值和評價指標(biāo),主要是分析造成系統(tǒng)的性能衰退的主要的一個原因或者幾個原因的協(xié)調(diào)折中。在系統(tǒng)的運行過程中對系統(tǒng)的性能進(jìn)行檢測,若達(dá)到了預(yù)先所設(shè)定的閾值時則執(zhí)行軟件恢復(fù)。為減少監(jiān)控的成本,在檢測時可以在指定的時間間隔內(nèi)進(jìn)行周期性的檢測。

  軟件保護(hù)與恢復(fù)技術(shù)的應(yīng)用

  通過對系統(tǒng)進(jìn)行綜合的權(quán)衡和比較及算法研究,得到完整保護(hù)的流程是:首先要對軟件程序有限制,要求用戶至少要進(jìn)行注冊才能得到完整的使用權(quán)限,并用程序運行與用戶機的硬件相關(guān)聯(lián)的注冊碼進(jìn)行關(guān)鍵功能解封。其次,為防止解密者利用各種工具得到程序的關(guān)鍵點及關(guān)鍵的信息,應(yīng)采用反跟蹤技術(shù)、反調(diào)試技術(shù)及反匯編靜態(tài)技術(shù)等進(jìn)行分析。另外,最好給程序加上一個外衣,把程序包起來,也就是利用加殼軟件或加密鎖等產(chǎn)品來提高自己程序的防范能力和增加破解門檻。也要考慮怎樣有效的保證自己程序只給合法用戶使用,而非合法用戶即使在正常的途徑下得到了正式軟件業(yè)也無法正常使用的問題。目前此問題一般用“一機一碼”進(jìn)行許可注冊的方式進(jìn)行解決。在軟件恢復(fù)中,在保證產(chǎn)生更多恢復(fù)方法的同時要結(jié)合基于時間與基于測量的2種思路進(jìn)行研究。同時在軟件容錯領(lǐng)域中,將軟件恢復(fù)的相關(guān)概念與其他的有效技術(shù)概念相結(jié)合,以便產(chǎn)生出更多新概念和新方法。

  結(jié)語

  國內(nèi)外的專家學(xué)者對軟件的保護(hù)及恢復(fù)進(jìn)行了較為深入的研究和探討,并且取得了一系列豐富的科研成果。本文對計算機軟件保護(hù)與恢復(fù)的理論研究有一定的指導(dǎo)意義。

  計算機軟件基礎(chǔ)論文范文二:小議計算機軟件數(shù)據(jù)接口的作用

  目前常用的接口方式為:無縫鏈接法及IGES格式的導(dǎo)入法。除了上述軟件間的接口問題外,其它不同軟件間也存在接口問題,目前隨著技術(shù)的不斷發(fā)展,一些問題已相繼解決,但仍然存在安全隱患,例如現(xiàn)行機制可能為惡意攻擊者提供攻擊應(yīng)用程序的機會。同樣,一些用戶在理解和掌握這些共享機制時,可能會直接從底層訪問數(shù)據(jù),從而影響了數(shù)據(jù)自身的一致性。

  1設(shè)計原則

  在對計算機軟件數(shù)據(jù)接口進(jìn)行設(shè)計時應(yīng)按照以下設(shè)計原則:

  1.1面向?qū)ο?/p>

  在設(shè)計計算機軟件數(shù)據(jù)接口的過程中,應(yīng)最大程度上準(zhǔn)確描述該軟件所提供的服務(wù)和功能,實際上就是在設(shè)計過程中應(yīng)以面向?qū)ο鬄橹饕瓌t。設(shè)計過程中數(shù)據(jù)接口科學(xué)性和合理性的提高,能夠推動軟件本身使用效率的進(jìn)一步發(fā)展。而要想減少開發(fā)程序時的成本和難度及降低不同程序模塊間的耦合性,程序開發(fā)人員往往使數(shù)據(jù)接口更加復(fù)雜和詳細(xì),同時數(shù)據(jù)接口的最終效果也會更好。

  1.2高容錯性和高建壯性的軟件數(shù)據(jù)接口

  所謂軟件接口的健壯性實際上就是軟件處理一些規(guī)范要求以外情況的能力。如果該軟件健壯性較強,那么它就能在處理規(guī)范要求以外情況的過程中提供恰當(dāng)?shù)奶幚矸椒ú⒆龀雠袛?。由于不同軟件間實現(xiàn)交流的主要手段就是軟件數(shù)據(jù)接口,因此在設(shè)計過程中必須保障該接口具有較高的健壯性和容錯性,從而為工作人員提供處理異常問題的合理機制。

  1.3可擴展性的軟件數(shù)據(jù)接口

  軟件在使用過程中用戶會根據(jù)實際需要提出新要求,而軟件接口數(shù)據(jù)應(yīng)根據(jù)這些變化不斷升級,因此,設(shè)計人員在設(shè)計軟件數(shù)據(jù)接口的過程中,必須考慮其可擴展性。

  1.4以客戶需求為依據(jù)

  軟件數(shù)據(jù)接口應(yīng)提供的服務(wù)和功能是由軟件本身所具有的服務(wù)和功能決定的。而軟件用戶所提出的需求正是數(shù)據(jù)接口存在的意義。所以盡可能滿足用戶對軟件的需求是設(shè)計軟件數(shù)據(jù)接口的基本原則。

  1.5與行業(yè)內(nèi)制定的數(shù)據(jù)標(biāo)準(zhǔn)接口相符

  隨著計算機技術(shù)的高速發(fā)展,計算機軟件已成為各個行業(yè)發(fā)展不可或缺的一部分,而不同的行業(yè)開發(fā)商所采用的編程語言是不同的,數(shù)據(jù)庫也不同,因此定義的接口數(shù)據(jù)標(biāo)準(zhǔn)也有所區(qū)別。這些沒有統(tǒng)一的計算機軟件數(shù)據(jù)接口,給日后軟件升級等一些工作帶來很多困難,維護(hù)起來較麻煩。這就要求設(shè)計人員在對數(shù)據(jù)接口進(jìn)行設(shè)計過程中應(yīng)最大程度上符合業(yè)內(nèi)標(biāo)準(zhǔn),從而為日后軟件的升級、第三方軟件開發(fā)商的工作提供更多便利。

  2應(yīng)用計算機軟件的數(shù)據(jù)接口

  2.1文件交換模式

  該方式下用戶、軟件開發(fā)商及第三方的軟件開發(fā)商間實現(xiàn)數(shù)據(jù)交互的主要手段是通過指定數(shù)據(jù)結(jié)構(gòu)中的文件來完成的。主要流程為:首先,軟件用戶或者軟件第三方開發(fā)商以開發(fā)商指定數(shù)據(jù)結(jié)構(gòu)為依據(jù),提供一個文件,當(dāng)該文件被系統(tǒng)軟件掃描后,計算機就會自動按照系統(tǒng)內(nèi)部的相關(guān)規(guī)則返回相應(yīng)文件。然后軟件第三方的開發(fā)商或者用戶按照相關(guān)規(guī)則讀取該文件,從而實現(xiàn)數(shù)據(jù)交互的目標(biāo)。數(shù)據(jù)文件形式多種多樣,主要有txt和ini文件,開發(fā)商除了能夠利用通用格式外,還能采取自定義的方式獲取文件格式。Ini文件屬于windows系統(tǒng)配置文件,再加上windows系統(tǒng)能夠提供API函數(shù),該函數(shù)主要用于操作ini文件,所以ini文件大多用于記錄軟件本身的配置信息,另外,使用ini文件還能實現(xiàn)數(shù)據(jù)交互的目的。Txt文件屬于windows系統(tǒng)中的文本文件,在軟件開發(fā)過程中常常被程序員用于記錄其它特殊格式。例如以##為分割的字符串。對txt文件的操作方式各種開發(fā)語言都能提供??傊?,文件交換模式開發(fā)起來較自由,程序員往往能夠靈活地完成用戶需求,編程語言限制力度不大。但采用這種方式開發(fā)軟件時,軟件第一方的開發(fā)商必須定期對第三方軟件開發(fā)商的接口文件進(jìn)行檢測,檢測其是否提交相關(guān)文件。

  2.2中間數(shù)據(jù)庫的模式

  軟件中間數(shù)據(jù)庫的模式實際上就是讓軟件開發(fā)商構(gòu)建起一個公用數(shù)據(jù)庫,并授權(quán)給軟件第三方的開發(fā)商及用戶允許他們訪問,雙方根據(jù)一定規(guī)則對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作,從而實現(xiàn)數(shù)據(jù)交互功能。該模式下軟件第三方開發(fā)商或用戶訪問數(shù)據(jù)庫時,只能訪問指定格式的數(shù)據(jù),所使用的數(shù)據(jù)庫最好為當(dāng)前主流格式。例如:sybase,Access,oracle等。該方式下為軟件第三方開發(fā)商的工作提供了很多便利,使其操作數(shù)據(jù)過程中的靈活性更強。但該模式需要額外數(shù)據(jù)庫的支持,再加上數(shù)據(jù)庫配置的復(fù)雜性,相對來說實現(xiàn)起來比較困難,因此該模式的使用范圍不是很廣泛。

  2.3應(yīng)用程序接口的函數(shù)模式

  應(yīng)用程序接口的函數(shù)模式實際上就是指開發(fā)軟件前,軟件開發(fā)商充分考慮過數(shù)據(jù)安全性后,預(yù)先編制好訪問數(shù)據(jù)的函數(shù),軟件第三方開發(fā)商或用戶只需調(diào)用定義好的函數(shù)就可訪問相關(guān)數(shù)據(jù)。該模式下數(shù)據(jù)具有透明安全性,目前應(yīng)用范圍較廣,而且大多數(shù)的軟件開發(fā)商都會公開自己應(yīng)用程序接口的函數(shù),因此為很多用戶或軟件第三方開發(fā)商的工作提供了便利。

  3結(jié)語

  綜上所述,我們可以得出,計算機軟件的數(shù)據(jù)接口能夠?qū)崿F(xiàn)不同軟件間的數(shù)據(jù)交流,因此具有承上啟下作用,能夠?qū)⒈舜斯铝⒌能浖M成一條流水線,促進(jìn)用戶工作信息一體化的發(fā)展,很大程度上提高了軟件的可行性。因此程序開發(fā)人員應(yīng)努力統(tǒng)一各個行業(yè)中的接口規(guī)范,以便為接口程序提供更多的服務(wù)。


計算機軟件基礎(chǔ)論文相關(guān)文章:

1.計算機軟件畢業(yè)論文

2.計算機軟件論文參考

3.計算機軟件專業(yè)論文

4.計算機軟件相關(guān)論文

5.計算機軟件英語論文

6.有關(guān)于計算機科學(xué)基礎(chǔ)論文

1119091