999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件保護系統的研究與設計

2018-03-15 09:15:50郭剛
科技視界 2018年35期

郭剛

【摘 要】隨著越來越多破解工具的誕生,非法破解一款目標程序的時間越來越短,方法越來越多。因此軟件開發者除了要做好主體程序之外,還要花費大量的時間與精力考慮如何保護自己的軟件,使得開發軟件的成本大大增加,也對行業的發展帶來了極為不利的影響。本文中介紹的Virtual Safengine軟件保護系統采用數據校驗、壓縮、轉儲等技術,從效率、安全性等出發,提供了多個軟件保護方案供用戶選擇。并且使用了一種新的虛擬化方案,結合inlineHook技術,收集程序調用API的樣本數據,不斷優化生成虛擬機OPCODE的方法,達到滿足程序實時運行的保護效果。

【關鍵詞】軟件安全;加殼技術;虛擬化

中圖分類號: TP302;TP309 文獻標識碼: A 文章編號: 2095-2457(2018)35-0012-002

DOI:10.19694/j.cnki.issn2095-2457.2018.35.006

Research and design of software protection system

GUO Gang

(School of Computer and Information Security,Guilin University of Electronic Technology,

Guilin Guangxi 541004,China)

【Abstract】With the advent of more and more cracking tools, the time and methods of illegally cracking a target program are becoming shorter and more numerous. Therefore, software developers should not only word hard in the program code, but also spend a lot of time in thinking about how to protect their own software, which greatly increases the cost of developing software and has a extremely negative impact on the development of the industry. The Virtual Safengine software protection system introduced in this paper provides multiple software protection schemes for users to choose including data validation, compression, dump and other technologies for the efficiency, security and so on .In addition, a new virtualization scheme is used to collect the sample data of the API called by program in combination with inline-Hook technology and constantly optimize the method of generating the virtual machine OPCODE to achieve the protection effect of real-time operation of the program.

【Key words】Software Security; Shell; Virtualization

0 引言

軟件開發者本應專注于軟件的開發和功能的完善,如今卻要為了保護軟件不被破解而憂心忡忡,給軟件開發的過程帶來了更大的開銷。在這種情況下,軟件保護技術就誕生了,這種技術的分類有很多,但基本都可涵蓋在加殼技術與代碼虛擬化技術之中。加殼技術可以簡單的解為多種軟件保護技術的集合。代碼虛擬技術也被成為“代碼虛擬機”,其本質就是將代碼變形成一種轉義的形式,通過許多模擬代碼來模擬被保護代碼的執行,可以說是保護效果最有效、最可靠,但是也最復雜的一種軟件保護技術。

1 系統設計

Virtual Safengine由Shell保護模塊、API監控模塊、進程分析模塊、虛擬機保護模塊四部分組成。實現了可高度自定義且兼容性高的保護功能以及可自動優化的代碼虛擬化功能。

1.1 Shell保護模塊設計

Shell保護模塊負責加殼操作和外殼運行處理,其中加殼操作的流程是:

(1)解析PE文件頭,提取關鍵數據存儲(支持exe與dll文件)。

(2)合并文件區段,并修復合并之后的PE文件結構。

(3)對關鍵文件數據表項進行加密與轉儲。

(4)對文件區段進行壓縮。

(5)增添反調試、反虛擬機、反Dump、數據校驗等保護技術。

在用戶運行加殼后的程序時,本模塊會模擬PE加載的過程。包括重定位、區段解壓解密等,使加殼后的程序能正常運行。

為了使整個操作的可移植性、可擴展性高,本系統將主要操作封裝成C++類,并將整個加殼操作和外殼的代碼封裝為DLL,以便達到界面與功能邏輯上的分離。

1.2 API監控模塊設計

該模塊將指定API進行修改,使其改變執行流,實現跳轉到預先設計的代碼之中,達到監控API時觸發的效果,最終目的為了采集到該軟件的API調用信息。

該模塊通過導入表掛起注入的方式將監控DLL注入到目標進程中,該注入方式兼容性和穩定性都非常好,并且注入的時機相對來說較為合適。整個DLL的注入需要配合一些Windows API的結合,分四個步驟。使用CreateProcess以CREATE_SUSPENDED的標志打開;讀取目標進程虛存空間的頭結構,解析頭結構,進一步提取導入表數據,對其添加注入DLL;修正PE頭結構;恢復運行。

本系統在注入監控DLL后,DLL將對宿主程序指定模塊的API進行inlineHook,使其跳轉到設計好的ShellCode中,該ShellCode負責收集API調用信息并發送給監控端。

1.3 進程分析模塊設計

本模塊通過調用3個Windows提供的API,OpenProcess、EnumProcessModules、EnumProcesses,獲取進程列表與進程模塊,之后獲取模塊句柄。最后將上述保存的信息顯示在UI控件,顯示的數據有模塊基址、鏡像大小和模塊絕對路徑。根據UI的信息顯示,可以很方便的觀察到當前系統的大部分進程信息,瀏覽到該進程中存在的模塊信息,為Shell保護模塊的AntiDump和API監控模塊的DLL注入提供了直觀的效果圖。

1.4 虛擬機保護模塊設計

該模塊的原理是將x86編碼的指令通過一套自定義的字節碼轉換為只有虛擬機能識別的指令。由于虛擬機的字節碼編碼方式是不公開的,所以調試人員很難對其中的指令進行一一分解。其中包含4個子模塊,分別是反編譯模塊、虛擬化編碼器、虛擬指令譯碼器、虛擬機附加模塊。

其中,反編譯模塊負責將代碼中的二進制信息轉換為x86匯編語言,供虛擬化編碼器讀?。惶摂M化編碼器負責將反匯編后的指令通過自定義的規則進行虛擬化指令的轉換。生成虛擬指令序列;虛擬指令譯碼器負責將虛擬化指令翻譯為x86匯編語言執行,并保證當前程序的上下文環境等價輸出;虛擬機附加模塊負責將虛擬機中的字節碼表、跳轉分支表、虛擬指令序列表和虛擬機代碼以新節的方式寫入目標程序的PE結構中。

2 系統特色

2.1 高度自定義的軟件保護方案

一款成熟的軟件需要針對不同的使用群體提供不同的保護方案。所以,本系統實現了從常規的三套方案到用戶高度自定義的保護方案,用戶可以根據軟件的運行情況來進行選擇,在安全性和性能之間達到一個最均衡的狀態。

2.2 基于API調用情況的代碼虛擬化

用戶有時不能對某款軟件的運行狀態以及API調用狀況進行深入的了解,所以本系統API監控模塊會在用戶的操作之前,盡可能的采集軟件的API調用情況作為樣本數據,傳遞給虛擬機進行分析,再有的放矢的對關鍵代碼進行虛擬化,保證效率和安全性。

2.3 自定義字節碼的生成

很多逆向工作者對x86的指令集都相當熟悉,所以改變其中部分指令集必不可少。同時一套指令集如果不進行更替,隨著時間的推移,被破譯的可能性會增加。針對該問題,本系統每次啟動都會生成一套新的字節碼,迫使破譯者每次脫殼都需要重新理解指令集。

3 總結

在本文中我們介紹了Virtual Safengine這樣一款功能豐富的軟件保護系統的設計框架,與一種新的代碼虛擬化方案,通過結合API調用信息,調整代碼虛擬化的過程。我們的測試結果顯示本系統可以對大多數exe程序與DLL文件進行加殼。毫無疑問,未來對于軟件知識產權保護的力度會越來越大,我們希望通過在軟件保護這一領域的持續研究,更好地了解終端用戶目前面臨的安全風險與真實需求。這樣,我們就可以繼續在保護軟件知識產權的道路上走下去。

【參考文獻】

[1]章立春.軟件保護及分析技術[M].北京:電子工業出版社,2016.8.

[2]章立春.代碼虛擬與自動化分析[M].北京:電子工業出版社,2017.10.

[3]戚利.Windows PE權威指南[M].北京:機械工業出版社,2011.

[4]段鋼.加密與解密[M].北京:電子工業出版社,2008.7.

[5]任曉琿.黑客免殺攻防[M].北京:機械工業出版社,2013.10.

[6](韓)李承遠著.逆向工程核心原理[M].武傳海等譯.北京:人民郵電出版社,2014.5.

[7]Amir Averbuch, Michael Kiperberg, Nezer Jacob Zaidenberg. Truly-Protect: An Efficient VM-Based Software Protection[C]. IEEE Systems Journal,2013.

[8]杜春來等.一種基于指令虛擬化的代碼保護模型[J].信息網絡安全,2017.

[9]Johannes Kinder. Towards Static Analysis of Virtualization-Obfuscated Binaries[C].Reverse Engineering (WCRE), 2012 19th Working Conference on,2012.

主站蜘蛛池模板: 四虎影视8848永久精品| 免费看的一级毛片| 亚洲中文字幕23页在线| 国产一区二区福利| 露脸一二三区国语对白| 啦啦啦网站在线观看a毛片| 99尹人香蕉国产免费天天拍| 免费不卡视频| 九九热视频在线免费观看| 国产男人的天堂| 精品久久香蕉国产线看观看gif| 精品一区二区无码av| 五月激情综合网| 久久精品国产国语对白| 国产手机在线小视频免费观看| 一级毛片在线免费视频| 伦伦影院精品一区| 国产人前露出系列视频| 国产成年无码AⅤ片在线| 国产成人成人一区二区| 在线观看免费国产| 欧美国产在线看| 久久综合丝袜长腿丝袜| 精品无码一区二区三区在线视频| 国产91蝌蚪窝| 亚洲天堂视频在线免费观看| 国模视频一区二区| 日韩欧美91| 欧美亚洲网| 无码高清专区| 欧美亚洲网| 亚洲丝袜第一页| 97视频免费看| 免费大黄网站在线观看| 成人午夜视频在线| 无码人妻免费| 日韩大片免费观看视频播放| 国产青榴视频在线观看网站| 国产鲁鲁视频在线观看| 国产福利免费视频| 欧美精品啪啪| 久青草免费视频| 啪啪永久免费av| 精品国产网| 免费一级毛片在线观看| 99青青青精品视频在线| 国产成人三级| 精品国产网| 欧美天堂久久| 国产一区二区网站| 婷婷六月色| 91无码视频在线观看| 伊人久久福利中文字幕| 久久免费观看视频| a国产精品| 免费国产好深啊好涨好硬视频| 2024av在线无码中文最新| 日韩欧美色综合| 伊人色婷婷| 99在线视频免费观看| 在线中文字幕网| 无码AV高清毛片中国一级毛片| 91精品小视频| 国产97视频在线观看| 欧美不卡视频一区发布| 激情無極限的亚洲一区免费| 欧美激情网址| 久久久久亚洲av成人网人人软件| 国产精品久久久久久搜索| 日韩精品毛片人妻AV不卡| 色哟哟国产成人精品| 久热精品免费| 国产成人精品一区二区| 欧美一区二区人人喊爽| 成人在线不卡视频| 99re精彩视频| 亚洲第一视频免费在线| 国产素人在线| 2021国产乱人伦在线播放| 五月激情婷婷综合| 3344在线观看无码| 欧美国产日韩在线观看|