“看來比自己想象中的還要複雜一些!”雪風歎了口氣,他指的不是黑翼的事情,而是新看門狗的改進工作。雖然加密內核還是從量子密碼完善而來,但是按照雪風自己的計劃是要加入更多功能的,比如,設置用戶免費使用的期限、防止用戶私底下傳播程序、檢測並剔除軟件作者設置的功能限製。還有最重要的一點,就是設置統一的注冊功能,用戶下載的軟件過了免費使用期限,隻要去充值注冊就可以繼續使用,而不用重新下載軟件。
傳統的軟件加密流程,就是給軟件加殼,加殼的過程中軟件的原始代碼被加密或者壓縮,同時會有一段代碼被置於程序的開頭,當運行加密後的軟件時,這段代碼會先於程序本身而執行,它會把加密的軟件再次還原,並把執行權交還給軟件本身。
還原後的程序此時保存在內存裏,破解軟件的原理無非是利用各種內存編輯器,找到原程序的入口點,然後就可以進行一些修改。所以怎麼保護好這個入口點不被破解者發現,就是加殼的目的,軟件殼的加密、隱藏、偽裝、多層殼都是為了隱藏這個入口點。
雪風設計的看門狗,完全拋棄了這種傳統的加密方式,剛開始的看門狗是和程序本身相互獨立的,甚至可以把看門狗看作是一個完全獨立的守護程序,由它負責給程序加密,這個加密是個動態的加密,就算程序已經在運行,看門狗會在內存中負責給它再次加密,一邊還負責屏蔽各種破解工具的運行。
而雪風準備改進的看門狗,卻是想再次把看門狗和要加密的程序合為一體,並且加入更多的功能。如何讓這麼多功能有效地結合在一起,各自運行而不互相幹擾,這確實是個很麻煩的問題。
不過最讓雪風頭疼的還是那個注冊功能,他還沒找到一種有效的判斷方法,判斷軟件是否過了免費使用的期限,判斷用戶是否注冊充值,這種方法必須獨立於係統之外,否則,遲早還是會被人破解掉的。再有就是安全因素,本來是一個普通的軟件外殼,現在加入了這麼多功能,隻要有一個功能出現破綻,就可能會被別人攻破整個加密係統。最後就是嵌入技術,如何把自己的新看門狗天衣無縫般嵌入到各種不同語言編寫的、運行於不同操作平台的各種程序中,也是一個不小的難題。
但是,這還不是全部的問題!雪風揉揉被屏幕光刺得生疼的眼睛,靠在椅子閉目休息,他已經連續搞了十幾個小時了,針對每一個功能,他都是在收集了大量的資料的基礎上,精心策劃、全盤考慮。但這也隻是策劃,日後設計出來,可能還會出現自己沒有估計到的情況,萬一出了問題,自己的努力就白費了,還得推到重來,所以雪風現在就是盡量把所有的問題都估計進去。
不過,即便是所有的功能都沒出問題,還是有要注意的問題,第一就是加密算法的再次優化,雖然看門狗就是自己從量子密碼優化而來,但是雪風還是覺得有些不保險,現在的機器運算速度越來越快,這對自己來說是好事,程序加密解密都是一瞬間,破解者根本無從察覺,但是這同樣也是個考驗,別的機子也很快,隨著電腦技術的進步,勢必還會越來越快,隻要自己的加密效率相對一降低,就很有可能讓對方抓到蛛絲馬跡。
另外一個問題,那就是病毒,不可排除會有一部分懷有惡意的人,他們把一些病毒或者木馬拿來自己這裏加密,然後拿去散播。那樣的話,自己的加密方法越先進,這些病毒和木馬也就越安全。現行的殺毒軟件都是采用提取病毒特征碼的方式來識別病毒的,一旦病毒和自己的看門狗結合,原本的病毒代碼加密後產生變形,如此一來殺毒軟件就無法識別出病毒了。雪風有些頭疼,在加密前一定要做好殺毒工作,萬一放走一個病毒,那後果也是非常嚴重的。
“時間似乎也不夠用!”雪風皺了皺眉頭,按照現在的速度來計算,等到陳伍那邊調查有結果的時候,自己很有可能還搞不定這個新的加密程序,那時候又得去忙那個交通係統的設計,時間怕是就更緊張了。
想到這裏,雪風決定給陳伍去個電話聯係一下,不是過問那個交通係統的事情,是看門狗的事情需要陳伍幫忙。網站要開張營業,必須要有個網絡經營許可證,這個或許還好弄一些,隻是需要花點時間罷了,但是銀行這一塊就不好搞定了,門檻太高,自己現在甚至連個正式注冊都沒有,人家銀行憑什麼要和自己合作?可是離了銀行,雪風策劃中的網上軟件注冊平台就不好建立起來。