計算機軟件基礎論文
計算機軟件基礎論文
越來越多的高校針對非計算機專業(yè)都開設了計算機軟件技術基礎課,該課程對培養(yǎng)學生的軟件開發(fā)能力十分重要。下面是學習啦小編為大家整理的計算機軟件基礎論文,供大家參考。
計算機軟件基礎論文范文一:計算機軟件保護與恢復探索
簡單來講,反動態(tài)跟蹤的目的是防止別人使用調(diào)試器來追蹤軟件運行。這種方法最基本的思路是讓程序去故意執(zhí)行一些能使干擾的調(diào)試器的正常運行或者可以讓調(diào)試器失效的動作。反調(diào)試代碼將測試是否需要額外增加一個調(diào)試器,如果需要的話,程序則自動退出,或者讓調(diào)試器終止。反調(diào)試有很多方法,但大部分反調(diào)試方法都與一個特定的平臺及特定調(diào)試器有關。
軟件壓縮與加殼技術外殼程序事先早于被保護對象程序運行的程序,這部分的程序?qū)υ绦虼a和數(shù)據(jù)進行相應解密還原操作。一些殼軟件能加密數(shù)據(jù)并且可以對可執(zhí)行文件的代碼和數(shù)據(jù)壓縮,這不僅降低了文件在磁盤上所占有的存儲空間,而且在某些情況下,可以有效提高可執(zhí)行文件加載的速度。大多數(shù)的軟件外殼還集成有反靜態(tài)分析方法、反跟蹤技術及反脫殼技術從而增加了破解難度。加密代碼是防止靜態(tài)分析程序的一種常用的方法。一般可以在程序編譯完成時,給用戶使用之前,將程序加密,并且在可執(zhí)行文件里嵌套可實現(xiàn)解密的代碼來實現(xiàn)解密功能。該方法對于經(jīng)驗豐富的破解者最多也就是在逆向工程中增加一些困難。但是由于只要在可執(zhí)行文件包含有解密程序,它必須包含相應的解密算法及解密密鑰進行解密。由于在程序代碼運行之前必須解密出來,因此,在程序運行的過程中,實現(xiàn)解密的全部或部分程序必須留到內(nèi)存當中。即便如此,代碼加密仍然是防止靜力分析的一種常用方法。這是由于它能夠明顯改善程序的分析復雜性,有時候甚至能夠迫使破解者必須動態(tài)分析程序。
軟件水印軟件水印方法的基本思想是,把版權信息或者唯一身份識別碼等信息,隱蔽的嵌入應用程序中,當需要時候再用一個特定的水印算法將水印提取出來進行版權確認,這是一種可以追蹤非法軟件拷貝的副本直到源頭的方法。根據(jù)水印加載的時間來分,軟件水印技術可以分成靜態(tài)軟件水印技術和動態(tài)軟件水印技術2種。靜態(tài)軟件水印的存在并不依賴于軟件運行的狀態(tài),可以在儲存、發(fā)送及運行時進行驗證。靜態(tài)水印軟件通過在軟件編輯時直接或者在編輯完成后加入的方式加入到軟件程序中。只有對軟件本身有足夠的了解,才能最終確定水印信息。根據(jù)水印存放的位置不同,靜態(tài)水印又可以分為靜態(tài)代碼水印和靜態(tài)資料水印2種。動態(tài)水印依賴于軟件運行狀態(tài)而存在,一個動態(tài)的軟件水印的結構是在程序執(zhí)行時被構造出來的,因此可能會由某一個特定輸入序列進行觸發(fā)。動態(tài)水印能通過分析水印信息的程序運行時候結構的數(shù)據(jù)的結構來萃取,也可以通過執(zhí)行跟蹤程序提取。動態(tài)軟件水印又可分為動態(tài)執(zhí)行軌跡水印、復活節(jié)彩蛋水印及動態(tài)數(shù)據(jù)結構水印3類。軟件水印保護的目標就是使攻擊者很難對水印程序進行分析,從而防止水印的發(fā)現(xiàn)和竊取,或防止水印的代碼被惡意修改或刪除。
虛擬機保護虛擬機保護技術是將一段程序匯編成一段特殊意義的代碼,這個代碼不是在目標機被直接執(zhí)行,而是通過一個解釋器來模擬執(zhí)行。虛擬機中的可執(zhí)行代碼文件只有一個數(shù)據(jù)塊,由于虛擬機代碼在運行的過程中進行解釋執(zhí)行,所以反匯編工具不能反編譯虛擬機的代碼。破解者要分析虛擬機的加密結構與執(zhí)行過程要花費大量時間及精力。另外,由于虛擬機能夠屏蔽具體的平臺及相關信息,編譯器只要產(chǎn)生能夠在虛擬機上進行運行的一種目標代碼,它就可以在各種平臺運行而無需修改,而虛擬機本身需要移植。當虛擬機要執(zhí)行相應的字節(jié)代碼時,再將字節(jié)碼解釋成相應的具體平臺上的機器碼進行執(zhí)行。
計算機軟件恢復的原理與方法
軟件恢復技術是應對系統(tǒng)軟件老化現(xiàn)象的有力效方法。簡單地說,是當軟件的性能衰退到了一定程度時,終止程序的運行,并對系統(tǒng)重置來清理系統(tǒng)內(nèi)部的狀態(tài),從而能夠釋放操作系統(tǒng)的資源,恢復軟件的性能,并能有效減少由于系統(tǒng)軟件的老化造成意外終止而帶來損失。在進行恢復策略研究時,依據(jù)一定系統(tǒng)模型,將系統(tǒng)狀態(tài)分成系統(tǒng)魯棒狀態(tài)、系統(tǒng)預故障狀態(tài)及系統(tǒng)故障狀態(tài)。根據(jù)對以上原型系統(tǒng)的分析,軟件恢復策略一般分基于時間的軟件恢復策略與基于檢測的軟件恢復策略2種。
基于時間的軟件恢復策略基于時間的恢復策略是實現(xiàn)簡單、成本可預計的一種恢復模式。該方法通常是基于最小的恢復成本和最短的停機時間來得到更高系統(tǒng)服務率或者更快服務響應來提前確定最優(yōu)恢復的時間間隔,對性能衰退的系統(tǒng)周期性的進行恢復?;跁r間的軟件恢復策略中重點研究的一個問題是如何確定最優(yōu)的恢復時間表的問題。
基于檢測的軟件恢復策略基于檢測的恢復策略是通過對系統(tǒng)的檢測來確定恢復模式?;謴湍J降拇_定通常根據(jù)系統(tǒng)參數(shù)、系統(tǒng)運行期間采集到的系統(tǒng)信息并通過合理的數(shù)據(jù)統(tǒng)計等來確定相應的恢復模式?;跈z測的軟件恢復策略首先要確定系統(tǒng)性能進行衰退的閾值和評價指標,主要是分析造成系統(tǒng)的性能衰退的主要的一個原因或者幾個原因的協(xié)調(diào)折中。在系統(tǒng)的運行過程中對系統(tǒng)的性能進行檢測,若達到了預先所設定的閾值時則執(zhí)行軟件恢復。為減少監(jiān)控的成本,在檢測時可以在指定的時間間隔內(nèi)進行周期性的檢測。
軟件保護與恢復技術的應用
通過對系統(tǒng)進行綜合的權衡和比較及算法研究,得到完整保護的流程是:首先要對軟件程序有限制,要求用戶至少要進行注冊才能得到完整的使用權限,并用程序運行與用戶機的硬件相關聯(lián)的注冊碼進行關鍵功能解封。其次,為防止解密者利用各種工具得到程序的關鍵點及關鍵的信息,應采用反跟蹤技術、反調(diào)試技術及反匯編靜態(tài)技術等進行分析。另外,最好給程序加上一個外衣,把程序包起來,也就是利用加殼軟件或加密鎖等產(chǎn)品來提高自己程序的防范能力和增加破解門檻。也要考慮怎樣有效的保證自己程序只給合法用戶使用,而非合法用戶即使在正常的途徑下得到了正式軟件業(yè)也無法正常使用的問題。目前此問題一般用“一機一碼”進行許可注冊的方式進行解決。在軟件恢復中,在保證產(chǎn)生更多恢復方法的同時要結合基于時間與基于測量的2種思路進行研究。同時在軟件容錯領域中,將軟件恢復的相關概念與其他的有效技術概念相結合,以便產(chǎn)生出更多新概念和新方法。
結語
國內(nèi)外的專家學者對軟件的保護及恢復進行了較為深入的研究和探討,并且取得了一系列豐富的科研成果。本文對計算機軟件保護與恢復的理論研究有一定的指導意義。
計算機軟件基礎論文范文二:小議計算機軟件數(shù)據(jù)接口的作用
目前常用的接口方式為:無縫鏈接法及IGES格式的導入法。除了上述軟件間的接口問題外,其它不同軟件間也存在接口問題,目前隨著技術的不斷發(fā)展,一些問題已相繼解決,但仍然存在安全隱患,例如現(xiàn)行機制可能為惡意攻擊者提供攻擊應用程序的機會。同樣,一些用戶在理解和掌握這些共享機制時,可能會直接從底層訪問數(shù)據(jù),從而影響了數(shù)據(jù)自身的一致性。
1設計原則
在對計算機軟件數(shù)據(jù)接口進行設計時應按照以下設計原則:
1.1面向?qū)ο?/p>
在設計計算機軟件數(shù)據(jù)接口的過程中,應最大程度上準確描述該軟件所提供的服務和功能,實際上就是在設計過程中應以面向?qū)ο鬄橹饕瓌t。設計過程中數(shù)據(jù)接口科學性和合理性的提高,能夠推動軟件本身使用效率的進一步發(fā)展。而要想減少開發(fā)程序時的成本和難度及降低不同程序模塊間的耦合性,程序開發(fā)人員往往使數(shù)據(jù)接口更加復雜和詳細,同時數(shù)據(jù)接口的最終效果也會更好。
1.2高容錯性和高建壯性的軟件數(shù)據(jù)接口
所謂軟件接口的健壯性實際上就是軟件處理一些規(guī)范要求以外情況的能力。如果該軟件健壯性較強,那么它就能在處理規(guī)范要求以外情況的過程中提供恰當?shù)奶幚矸椒ú⒆龀雠袛?。由于不同軟件間實現(xiàn)交流的主要手段就是軟件數(shù)據(jù)接口,因此在設計過程中必須保障該接口具有較高的健壯性和容錯性,從而為工作人員提供處理異常問題的合理機制。
1.3可擴展性的軟件數(shù)據(jù)接口
軟件在使用過程中用戶會根據(jù)實際需要提出新要求,而軟件接口數(shù)據(jù)應根據(jù)這些變化不斷升級,因此,設計人員在設計軟件數(shù)據(jù)接口的過程中,必須考慮其可擴展性。
1.4以客戶需求為依據(jù)
軟件數(shù)據(jù)接口應提供的服務和功能是由軟件本身所具有的服務和功能決定的。而軟件用戶所提出的需求正是數(shù)據(jù)接口存在的意義。所以盡可能滿足用戶對軟件的需求是設計軟件數(shù)據(jù)接口的基本原則。
1.5與行業(yè)內(nèi)制定的數(shù)據(jù)標準接口相符
隨著計算機技術的高速發(fā)展,計算機軟件已成為各個行業(yè)發(fā)展不可或缺的一部分,而不同的行業(yè)開發(fā)商所采用的編程語言是不同的,數(shù)據(jù)庫也不同,因此定義的接口數(shù)據(jù)標準也有所區(qū)別。這些沒有統(tǒng)一的計算機軟件數(shù)據(jù)接口,給日后軟件升級等一些工作帶來很多困難,維護起來較麻煩。這就要求設計人員在對數(shù)據(jù)接口進行設計過程中應最大程度上符合業(yè)內(nèi)標準,從而為日后軟件的升級、第三方軟件開發(fā)商的工作提供更多便利。
2應用計算機軟件的數(shù)據(jù)接口
2.1文件交換模式
該方式下用戶、軟件開發(fā)商及第三方的軟件開發(fā)商間實現(xiàn)數(shù)據(jù)交互的主要手段是通過指定數(shù)據(jù)結構中的文件來完成的。主要流程為:首先,軟件用戶或者軟件第三方開發(fā)商以開發(fā)商指定數(shù)據(jù)結構為依據(jù),提供一個文件,當該文件被系統(tǒng)軟件掃描后,計算機就會自動按照系統(tǒng)內(nèi)部的相關規(guī)則返回相應文件。然后軟件第三方的開發(fā)商或者用戶按照相關規(guī)則讀取該文件,從而實現(xiàn)數(shù)據(jù)交互的目標。數(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ā)商的接口文件進行檢測,檢測其是否提交相關文件。
2.2中間數(shù)據(jù)庫的模式
軟件中間數(shù)據(jù)庫的模式實際上就是讓軟件開發(fā)商構建起一個公用數(shù)據(jù)庫,并授權給軟件第三方的開發(fā)商及用戶允許他們訪問,雙方根據(jù)一定規(guī)則對數(shù)據(jù)庫中的數(shù)據(jù)進行操作,從而實現(xiàn)數(shù)據(jù)交互功能。該模式下軟件第三方開發(fā)商或用戶訪問數(shù)據(jù)庫時,只能訪問指定格式的數(shù)據(jù),所使用的數(shù)據(jù)庫最好為當前主流格式。例如:sybase,Access,oracle等。該方式下為軟件第三方開發(fā)商的工作提供了很多便利,使其操作數(shù)據(jù)過程中的靈活性更強。但該模式需要額外數(shù)據(jù)庫的支持,再加上數(shù)據(jù)庫配置的復雜性,相對來說實現(xiàn)起來比較困難,因此該模式的使用范圍不是很廣泛。
2.3應用程序接口的函數(shù)模式
應用程序接口的函數(shù)模式實際上就是指開發(fā)軟件前,軟件開發(fā)商充分考慮過數(shù)據(jù)安全性后,預先編制好訪問數(shù)據(jù)的函數(shù),軟件第三方開發(fā)商或用戶只需調(diào)用定義好的函數(shù)就可訪問相關數(shù)據(jù)。該模式下數(shù)據(jù)具有透明安全性,目前應用范圍較廣,而且大多數(shù)的軟件開發(fā)商都會公開自己應用程序接口的函數(shù),因此為很多用戶或軟件第三方開發(fā)商的工作提供了便利。
3結語
綜上所述,我們可以得出,計算機軟件的數(shù)據(jù)接口能夠?qū)崿F(xiàn)不同軟件間的數(shù)據(jù)交流,因此具有承上啟下作用,能夠?qū)⒈舜斯铝⒌能浖M成一條流水線,促進用戶工作信息一體化的發(fā)展,很大程度上提高了軟件的可行性。因此程序開發(fā)人員應努力統(tǒng)一各個行業(yè)中的接口規(guī)范,以便為接口程序提供更多的服務。
計算機軟件基礎論文相關文章: