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.

主站蜘蛛池模板: 性激烈欧美三级在线播放| 99无码熟妇丰满人妻啪啪 | 免费AV在线播放观看18禁强制| 免费aa毛片| 四虎国产在线观看| 免费A∨中文乱码专区| 免费激情网址| 欧美成人午夜视频免看| 91精品免费久久久| 色综合五月| 精品久久久久久成人AV| 亚洲IV视频免费在线光看| 国产成人1024精品下载| 国产成人毛片| 国产农村妇女精品一二区| 欧美一级专区免费大片| 91在线精品麻豆欧美在线| 超碰精品无码一区二区| 综合久久五月天| 欧美精品在线看| 四虎成人免费毛片| 亚洲日韩精品伊甸| 国产区成人精品视频| 沈阳少妇高潮在线| 天天干伊人| 91在线免费公开视频| 国产成人无码Av在线播放无广告| 丁香五月激情图片| 久久99国产乱子伦精品免| 国产亚洲欧美日本一二三本道| 日本三级欧美三级| a级毛片在线免费| 69国产精品视频免费| 又黄又湿又爽的视频| 亚洲精品人成网线在线 | 黄色网页在线播放| 视频二区国产精品职场同事| 国产h视频在线观看视频| 国产婬乱a一级毛片多女| 伊人成色综合网| 欧美一级色视频| 91久草视频| 人妻丰满熟妇αv无码| 亚洲黄色高清| 久久五月天国产自| 伊人久久婷婷五月综合97色| 在线播放精品一区二区啪视频| a色毛片免费视频| 亚洲第一成年人网站| 亚洲日韩国产精品综合在线观看| 久久久久无码国产精品不卡| 亚洲色大成网站www国产| 欧美天堂久久| 日本人又色又爽的视频| 久久天天躁狠狠躁夜夜躁| 毛片三级在线观看| 国产成人精品视频一区二区电影| 国产网友愉拍精品| 1024你懂的国产精品| 国产香蕉97碰碰视频VA碰碰看| 狠狠干综合| 激情无码字幕综合| 亚洲第一中文字幕| 国产一二视频| yy6080理论大片一级久久| 91色爱欧美精品www| 一级毛片无毒不卡直接观看| 日本黄色a视频| 2020国产精品视频| 成年人国产网站| 国产精品午夜电影| 国产精品亚洲专区一区| 国产理论精品| 久久久久亚洲Av片无码观看| 4虎影视国产在线观看精品| 国产女主播一区| 欧美国产日韩另类| 成人国内精品久久久久影院| 天天做天天爱天天爽综合区| 91无码网站| 极品av一区二区| 中文字幕在线免费看|