網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 雖然加密方法那么多,但是道高一尺,魔高一丈,隨著加密技術(shù)的發(fā)展,解密技術(shù)也進(jìn)一步蓬勃發(fā)展起來,目前可用于解密的工具有SOURCE、DEBUG、SYMDEB、TURBO DEBUG、SOFT-ICE、TRW2000等等。這些工具的功能一個比一個強,更何況還有那么多“專業(yè)”解密高手,似乎任何加密技術(shù)到了他們手里都會迎刃而解。說來說去,您可能會想,你仍然沒有最終解決軟件的加密問題嗎。是的,本來嗎,加密和解密就是一對矛盾的統(tǒng)一體,某一階段的優(yōu) 只能看是哪一方先亮出了新招,誰都不敢說他的加密方法別人破譯不了,或者說他能破譯任何加密方法。如此看來,我們所做的工作只在于盡量減少被解密的可能性,以贏得時間進(jìn)行下一步的開發(fā)。 軟件解密就是要想辦法把加密代碼攻破,具體到軟件狗上,即是找到檢查程序,然后干掉它。因此,如果我們在應(yīng)用程序的不同地方多做幾次檢查,就可以讓解密者浪費更多的時間。這對I/O速率很快的軟件狗來說是很方便的,不像軟盤加密那樣檢查起來既費時又不方便。 一個好的程序員會把程序設(shè)計得簡單易懂,具有結(jié)構(gòu)化,但這也給解密者帶來了方便,所以程序不要寫得太規(guī)則,另外還要加上一些“廢話”,以干擾解密者。 另外一種不破壞程序結(jié)構(gòu)化,也不需要寫“廢話”就可以有效干擾解密者,提高解密難度和復(fù)雜性的方法是,把子程序全部用宏改寫。這樣匯編出的程序是一串串很難看出結(jié)構(gòu)的指令,進(jìn)出堆棧的數(shù)據(jù)和各種傳遞的參數(shù)以及積存器暫存數(shù)的存取相距很遠(yuǎn),嵌套很深,分析起來很傷腦筋。第三代軟件狗的存取程序就是全部用這種方法寫的。 很多軟件加密技術(shù)的研制者對Soft-ICE很頭疼,因為它的解密功能太強了,但是您只要在程序中調(diào)用一下INT 7,就能防止它的跟蹤,您不妨試試看。 在用解密工具跟蹤程序時,執(zhí)行時間顯然要比平常的長,另外一般都用鍵盤來操作,用顯示器或打印機作輸出,所以采用執(zhí)行時間檢查或者在關(guān)鍵程序部分禁止鍵盤中斷,以及禁止顯示器或打印機輸出(修改INT 10H 或INT 17H 中斷)等都是較好的方法。例如在第三代軟件狗編程中用到的方法:
另外,如果我們把關(guān)鍵部分的程序加以編碼,運行時再譯碼出來,這也增加了解密的難度,因為解密者必須懂得編碼、譯碼規(guī)則才能修改可執(zhí)行文件,而這些規(guī)則加密者一般是不會泄露的。
網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!