本站小編為你精心準備了計算機軟件開發和保護技術探討參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
在計算機不斷的發展中,軟件的應用遍及于世界的各行各業,人們越來越多的在使用計算機的軟件,作為21世紀信息化的時代,計算機軟件已經成為人們生活中一種離不開的常見產品,市場經濟下對計算機軟件的需求量是非常大的,具有了新的發展新機遇,隨之而來的是對計算機軟件的開發難度是越來越大。主要表現在計算機應用軟件開發效率低、成本高、質量低和軟件運行的維護,以及在升級方面比較困難,而且各不同系統結構的應用軟件統一也很難進行等方面問題。計算機軟件可分為系統軟件和應用軟件兩種,系統軟件里面重要的是操作系統,包括Windows98、Windows7、WindowsXP等。可以算是計算機的大管家,主要負責管理和控制計算機各個部件的協調工作。
1.計算機應用軟件開發的研發分析
在計算機軟件的發展過程中,計算機應用軟件全新的自動化開發理念將是以后研究的方向,計算機應用軟件的自動化研發系統,即可以簡短研發周期、對軟件的質量有所提高,又可以大大降低應用軟件在使用過程中升級和維護的難度系數。計算機應用軟件的自動化研發核心是,對自動化研發軟件進行合理設計,同時建立基于自動化的計算機應用軟件研發平臺。而在計算機中有一個重要的組件,關系到某種應用軟件的應用功能完成與否,就是業務組件,業務組件是一種具有實體意義的軟件業務,是對某一組件業務對象的整體軟件的映射形式,并具有獨立應用的意義。而業務組件形式中涵蓋了業務服務端的全部數據信息,并且能夠實現自主的、多樣性的其他業務服務和操作,這樣就使得計算機應用軟件的安裝以及與其相關聯的一些列應用內容的添加以及安裝形成了一體形式,這樣在對計算機應用軟件進行安裝時其安裝的將不再是一種單一的軟件內容,而是一些應用軟件業務組件的整體安裝,這樣就可實現更多、更全面的應用軟件需求。而計算機應用軟件自動化開發技術平臺的實現需要由業務組件的生成器和業務組件的設計流程器構成。
業務組件的生成器是把業務組件數據庫,實際業務組件圖形化輸入界面,業務組件拓展機制系統和業務組件處體制所組成。業務組件圖興化輸入界面是構成數據庫資料的主要內容,包括明業主信息,詳細信息以及服務性信息等等。業務組件的處理體制是根據業務流程中產生的數據、信息內容進行自動化的業務組件生成、存儲、執行的代碼形式。業務組件生成的內容有業務的信息、資料、顯示形式、數據庫內容、定義屬性及各業務的處理功能,主要有:修改數據、設定數據的權限操作、存儲信息、打印數據、修改過的數據、對數據進行列表處理、提供查詢索引和數據信息的最終統計工作等方面。
而業務組件的設計流程器則是對業務流程的管理與設計的實現,有圖形化業務流程設計面、管理流程、應用庫。圖形化業務流程設計面為計算機應用系統的研發提供了指向針,軟件的維護人員則能夠利用業務組件的設計流程器來對不同業務之間的不同要求進行權衡。管理流程運用在應用軟件系統管理中不同的業務流程的執行情況。同時能夠為管理流程細節提出更具有針對性的操作方案,以便完善業務實際發生時的業務流程計劃,更具實際操作性地滿足企業對商業運作的要求。應用庫適用于研發計算機應用軟件系統時,對所需的各種應用程序進行儲存,以便更優質地完成業務組件所要實現的具有流程細節、應用內容以及軟件應用目的。其應用庫類型有以下幾種:以及Web下的應用形式、基于腳本下的應用形式、基于Java下的應用形式、基于外部應用下的應用形式等等。在研發計算機應用軟件過程中,如遇到特殊軟件應用內容的要求,則可以采用在系統之中添加內置應用內容,或是自定義開發內容,或是拓展使用應用形式。
在軟件開發中總要涉及安全工程的建設,而安全程序的開發設計過程是開發者們采取把創建的一些具有能夠提供安全服務的模塊,合理有效的安裝在一起的過程,而如何確保安全,則需要做好計算機軟件保護技術分析。軟件保護技術主要是對硬件開發的軟件保護技術和對軟件開發的軟件保護技術。而往往又是以軟件保護技術涉及的范圍最廣,屬性最特殊。軟件保護技術所涉及的領域以應用軟件、驅動、操作系統、網絡等為主。對于軟件保護技術和該產品的安全性的判定,是需要綜合判定的,單從任何單一方面都無法客觀的評價其安全性。
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允許或禁止鼠標和鍵盤控制指定窗口和條目(禁止時菜單變灰)兩種函數實現。
作者:李韜 單位:天津中德職業技術學院經貿管理學院