亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件加殼技術(shù)的研究與實(shí)現(xiàn)

        2020-04-26 01:39:49李璇李林鵬李理
        科技視界 2020年4期
        關(guān)鍵詞:程序信息

        李璇 李林鵬 李理

        摘要

        從軟件保護(hù)角度出發(fā),研究對(duì)可執(zhí)行文件進(jìn)行加密與壓縮操作,僅在載入內(nèi)存后才對(duì)其進(jìn)行解密操作,能夠很好地保護(hù)軟件信息。提供多種軟件保護(hù)方案,兼顧用戶體驗(yàn)與其實(shí)用性、安全性。既對(duì)軟件進(jìn)行加密保護(hù)措施,又不影響其使用。

        關(guān)鍵詞

        軟件保護(hù);加殼技術(shù);軟件水印

        中圖分類號(hào): G633.6 ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A

        DOI:10.19694/j.cnki.issn2095-2457.2020.04.83

        0 引言

        隨著應(yīng)用軟件提供的服務(wù)越來(lái)越普及,各種惡意軟件往往附加在正常軟件上惡意傳播,危害信息安全;另一方面,為了保護(hù)軟件不隨意被他人“借鑒”,必須對(duì)軟件中的核心算法和機(jī)密數(shù)據(jù)進(jìn)行保護(hù)。那么研究軟件加殼技術(shù)實(shí)現(xiàn)反調(diào)試、反附加等功能,從而增加破解難度,阻礙逆向分析,實(shí)現(xiàn)軟件保護(hù)是相當(dāng)有必要的。

        就目前的破解技術(shù)來(lái)看,單一的軟件保護(hù)技術(shù)已經(jīng)無(wú)法抵擋破解技術(shù)的攻擊,因此我們需要進(jìn)行多種技術(shù)的糅合。目前最常用的保護(hù)技術(shù)是加殼,有加密殼和壓縮殼等,但最常用的還是兩者結(jié)合起來(lái)。此外,還有代碼虛擬技術(shù),通過(guò)構(gòu)造一個(gè)虛擬機(jī),產(chǎn)生一些模擬代碼來(lái)模擬被保護(hù)代碼的執(zhí)行,產(chǎn)生出與保護(hù)代碼相同的結(jié)果,這樣就很大程度上阻止了源代碼的泄露。這種代碼虛擬技術(shù)幾乎是目前最好的保護(hù)技術(shù),但其復(fù)雜程度與開發(fā)難度相當(dāng)高。

        1 軟件加殼系統(tǒng)的總體設(shè)計(jì)

        軟件加殼系統(tǒng)主要包括三個(gè)部分,即Shell部分、加殼部分和水印部分。下面將具體介紹他們的結(jié)構(gòu)與相關(guān)技術(shù)。

        1.1 Shell部分設(shè)計(jì)

        Shell需要先于源程序獲取控制權(quán),Shell可以修改源可執(zhí)行文件的組織結(jié)構(gòu),從而能更早控制該程序,對(duì)加密后的原程序進(jìn)行解密,且不影響源程序代碼的正常運(yùn)行。Shell的作用是模擬操作系統(tǒng)裝載PE文件,在這個(gè)過(guò)程中,額外添加解密、解壓縮等步驟的過(guò)程。所以在運(yùn)行被保護(hù)程序時(shí),實(shí)際是先運(yùn)行了Shell部分的程序代碼。

        Shell部分獲取了程序控制權(quán)后,需要將加密后的部分依次解密、解壓縮,確保其在內(nèi)存中可以被操作系統(tǒng)識(shí)別并執(zhí)行,在Shell部分處理完畢后,再將程序控制權(quán)轉(zhuǎn)給源程序,繼續(xù)執(zhí)行源程序部分的代碼。

        1.2 加殼部分設(shè)計(jì)

        加殼部分主要對(duì)PE文件進(jìn)行操作,對(duì)各區(qū)段結(jié)構(gòu)內(nèi)容進(jìn)行壓縮混淆,增加靜態(tài)分析難度。加殼確保被保護(hù)軟件在計(jì)算機(jī)上存儲(chǔ)時(shí)是加密狀態(tài)的,雖然加殼不能完全防止靜態(tài)分析,但是可以對(duì)其進(jìn)行混淆。靜態(tài)分析加殼后的程序時(shí),不能直接獲取被保護(hù)軟件的總體結(jié)構(gòu)與具體函數(shù)等信息。這樣就可以提高被保護(hù)程序的安全性。

        但是加殼后的程序需要先進(jìn)行解密與解壓操作,才可正常使用。因此采用的加密與壓縮算法就需要根據(jù)實(shí)際情況來(lái)選擇,有的軟件需求強(qiáng)度高一些的算法,這樣就會(huì)使運(yùn)行時(shí)等候時(shí)間變長(zhǎng);有的軟件對(duì)啟動(dòng)速度有要求,就可以選擇加密流程較為簡(jiǎn)單的算法,即起到了一定的保護(hù)作用,又不影響程序的正常啟動(dòng)。在本程序中,也提供了多種加密與壓縮算法可供選擇。

        進(jìn)行加殼操作時(shí),需要先判斷其是否是PE文件。若是,就使用PE解析器對(duì)其進(jìn)行解析,方便后續(xù)操作。程序中的一些特殊數(shù)據(jù),如TLS(Thread Local Storage)、數(shù)字證書信息等,在運(yùn)行的時(shí)候是不會(huì)被加載進(jìn)入內(nèi)存的,因此在加殼時(shí),需要隔離這部分?jǐn)?shù)據(jù),使后續(xù)加密壓縮時(shí)不影響數(shù)據(jù)。接下來(lái)需要對(duì)IAT進(jìn)行處理,首先需要破壞源程序的IAT和重定位表,將其換一個(gè)形式存儲(chǔ)。由于修復(fù)IAT和重定位表是脫殼時(shí)的重要步驟,因此對(duì)于IAT和重定位表,破壞得越徹底,脫殼難度就越大。對(duì)于源程序的各個(gè)區(qū)段,對(duì)其進(jìn)行加密壓縮操作,可以選擇不同的加密算法和壓縮算法。隨后需要對(duì)資源段中的數(shù)據(jù)進(jìn)行處理,將如圖標(biāo)版本信息等特殊數(shù)據(jù)隔離,其他資源段的數(shù)據(jù)進(jìn)行壓縮。待各區(qū)段處理完畢后,將所有區(qū)段進(jìn)行融合,進(jìn)行統(tǒng)一處理,這樣就減少了區(qū)塊間隙的個(gè)數(shù),進(jìn)一步縮小文件體積。最后,將shell引導(dǎo)段寫入PE文件,以保shell代碼在源程序之前運(yùn)行。

        1.3 水印部分總體設(shè)計(jì)

        水印部分采用動(dòng)態(tài)水印技術(shù)。動(dòng)態(tài)水印技術(shù)主要分為執(zhí)行狀態(tài)水印、數(shù)據(jù)結(jié)構(gòu)水印和復(fù)活節(jié)彩蛋水印。

        執(zhí)行狀態(tài)水印對(duì)內(nèi)存地址走向進(jìn)行編碼生成水印,有時(shí)也會(huì)根據(jù)指令執(zhí)行順序來(lái)生成水印,通過(guò)控制地址和操作碼順序的統(tǒng)計(jì)特性來(lái)執(zhí)行水印檢測(cè)。實(shí)施起來(lái)較為困難。數(shù)據(jù)結(jié)構(gòu)水印通過(guò)輸入特定信息激發(fā)程序?qū)⑺⌒畔㈦[藏在諸如堆、?;蛘呷肿兞坑虻某绦驙顟B(tài)中當(dāng)所有信息都輸入完成之后,通過(guò)檢測(cè)程序變量的當(dāng)前值來(lái)進(jìn)行水印提取。但是這種水印無(wú)法承受迷亂變換的攻擊。復(fù)活節(jié)彩蛋水印不需要檢測(cè),通過(guò)可以顯示版權(quán)信息的輸入產(chǎn)生輸出。但水印隱蔽性較差,可以通過(guò)調(diào)試軟件輕松跟蹤和刪除。

        綜合上述三種動(dòng)態(tài)水印技術(shù),本系統(tǒng)選擇將水印嵌入到函數(shù)中。通過(guò)想要加入的版權(quán)信息生成等長(zhǎng)的數(shù)據(jù),將數(shù)據(jù)與原代碼中的常量結(jié)合,只有給定一定輸入,水印信息才能被產(chǎn)生并計(jì)算出來(lái)。由于這種水印是隨著程序的運(yùn)行才產(chǎn)生的,能承受各種變形攻擊。并且,在源程序函數(shù)數(shù)量較多時(shí),很難定位到該水印函數(shù),即使被發(fā)現(xiàn)了,如果試圖修改,程序性能也會(huì)受到影響。

        水印算法分為水印信息處理、水印分割、構(gòu)造水印函數(shù)、水印嵌入和水印提取五個(gè)部分。

        設(shè)計(jì)水印信息包括軟件指紋、軟件所有者、發(fā)行方信息、授權(quán)方信息、時(shí)間戳、備注。由于信息不等長(zhǎng),不便于之后對(duì)數(shù)據(jù)的處理,所以需要對(duì)水印信息進(jìn)行一些提前處理,將其變?yōu)榈乳L(zhǎng)的數(shù)據(jù)。由此想到可以計(jì)算信息的MD5摘要值后嵌入程序。

        2 軟件加殼技術(shù)的應(yīng)用

        2.1 游戲產(chǎn)業(yè)的應(yīng)用

        在當(dāng)前的計(jì)算機(jī)游戲產(chǎn)業(yè)中,盜版程序或一些外掛程序?qū)⒃谟螒虬l(fā)布后的幾天或幾周內(nèi)出現(xiàn)。玩家希望可以盡快地體驗(yàn)新的游戲玩法,這使得游戲的大部分線上收入是在游戲上市后的較短時(shí)間內(nèi)獲得的。如果盜版游戲很快出現(xiàn),就會(huì)嚴(yán)重影響游戲的收入。同時(shí)外掛插件程序會(huì)影響游戲的公平性,導(dǎo)致外掛泛濫、玩家流失。因此,游戲的開發(fā)商們?yōu)榱俗陨硎找媾c玩家的體驗(yàn),總是在游戲中應(yīng)用軟件保護(hù)技術(shù)。

        2.2 軟件注冊(cè)的應(yīng)用

        如果程序的價(jià)值很高,且主要銷售途徑是向公司銷售。公司盜版的損失遠(yuǎn)大于個(gè)人盜版。如果公司購(gòu)買了一份軟件,卻能讓100人同時(shí)使用,就大大影響了軟件收入。因此需要軟件保護(hù)技術(shù),來(lái)阻止對(duì)軟件的惡意破解行為,使其只能按正規(guī)形式購(gòu)買軟件并使用。這樣就有效地保護(hù)了開發(fā)者的合法權(quán)益。

        2.3 電子授權(quán)技術(shù)

        電子授權(quán)技術(shù)是基于軟件的加密方式,分為序列號(hào)和軟件許可兩種。該方法的優(yōu)點(diǎn)是不需要硬件設(shè)備,就可以實(shí)現(xiàn)軟件的電子發(fā)行。缺點(diǎn)是受網(wǎng)絡(luò)限制較大,如果沒(méi)有網(wǎng)絡(luò),就需要手動(dòng)計(jì)算相關(guān)信息,再獲取序列號(hào)導(dǎo)入系統(tǒng)。

        軟件加密行業(yè)的發(fā)展與軟件行業(yè)的發(fā)展是密不可分的。大的發(fā)展環(huán)境下,提供軟件產(chǎn)品的方式已經(jīng)從線下轉(zhuǎn)為線上。因此,軟件加密技術(shù)也要向著線上發(fā)展。就目前的情況而言,加密鎖技術(shù)的發(fā)展空間較小,基于硬件的不便利性使其將會(huì)漸漸被電子授權(quán)方式所取代。

        電子授權(quán)技術(shù)正在從序列號(hào)方式轉(zhuǎn)向軟件許可的方式,認(rèn)證方法也從手動(dòng)驗(yàn)證變?yōu)樽詣?dòng)驗(yàn)證。提出的授權(quán)管理概念,使電子授權(quán)技術(shù)發(fā)展為授權(quán)認(rèn)證、授權(quán)管理和信息統(tǒng)計(jì)的綜合平臺(tái),軟件開發(fā)商的授權(quán)信息化能力有了很大的提高。

        3 結(jié)語(yǔ)

        本系統(tǒng)使用C語(yǔ)言編寫,內(nèi)聯(lián)匯編代碼,在Windows 10操作系統(tǒng)下運(yùn)行。提供軟件加殼功能,對(duì)可執(zhí)行文件進(jìn)行加密與壓縮操作,僅在載入內(nèi)存后才對(duì)其進(jìn)行解密操作,能夠很好地保護(hù)軟件信息。同時(shí)添加了軟件水印與軟件指紋技術(shù),使被保護(hù)程序帶有軟件所有者身份信息與軟件開發(fā)授權(quán)信息等,進(jìn)一步保障軟件所有者版權(quán)。

        參考文獻(xiàn)

        [1]段鋼.加密與解密第四版[M].北京:電子工業(yè)出版社,2018.

        [2]范潔.軟件特征和軟件水印在軟件保護(hù)中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件,2018.

        [3]李志飛.一種基于安全注冊(cè)碼的加密軟件設(shè)計(jì)[J].中國(guó)科技信息,2018.

        [4]許金超.基于內(nèi)存操作的動(dòng)態(tài)軟件水印算法[J].通信學(xué)報(bào),2017.

        [5]林小華.基于加密和即時(shí)解密的軟件保護(hù)分析[J].自動(dòng)化與儀器儀表,2016.

        猜你喜歡
        程序信息
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        展會(huì)信息
        恐怖犯罪刑事訴訟程序的完善
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        成人麻豆日韩在无码视频| 青青草一级视频在线观看| 一区二区三区日本美女视频 | 99在线无码精品秘 入口九色| 国产专区亚洲专区久久| 免费又黄又爽又色的视频| 国产又黄又大又粗的视频| 亚洲成在人线电影天堂色| 久久精品国产亚洲av日韩精品 | 激情五月婷婷六月俺也去| 国产精品高清视亚洲乱码| 最爽无遮挡行房视频| 国产精品6| 亚洲区1区3区4区中文字幕码| 国产一区二区三区我不卡| 久久久亚洲欧洲日产国码αv| 国产亚洲欧美成人久久片| 一本色道久久88综合亚洲精品| 国产色视频一区二区三区不卡| 国产又色又爽又刺激在线播放| 亚洲大尺度在线观看| 日韩色久悠悠婷婷综合| 激情综合五月婷婷久久| 18分钟处破好疼哭视频在线观看| 国产综合久久久久影院| 在线亚洲妇色中文色综合| 色多多性虎精品无码av| 男人和女人高潮免费网站| 国产丰满乱子伦无码专| 亚洲天堂久久午夜福利| 国产男小鲜肉同志免费| 国产成人啪精品午夜网站| 精品一区二区三区老熟女少妇| 久久精品国产免费观看三人同眠| 丰满熟女人妻中文字幕免费| 午夜精品久视频在线观看 | 亚洲成av人片在线观看无码 | 人人妻人人澡av| 久久精品国产亚洲av四叶草| 欧美 丝袜 自拍 制服 另类| 久久久久久99精品|