• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于增強型虛擬機的軟件保護技術(shù)*

    2014-01-24 06:55:16吳偉民許文鋒林志毅阮奕邦
    計算機工程與科學(xué) 2014年4期
    關(guān)鍵詞:增強型逆向代碼

    吳偉民,許文鋒,林志毅,司 斯,阮奕邦

    (廣東工業(yè)大學(xué)計算機學(xué)院,廣東 廣州 510006)

    基于增強型虛擬機的軟件保護技術(shù)*

    吳偉民,許文鋒,林志毅,司 斯,阮奕邦

    (廣東工業(yè)大學(xué)計算機學(xué)院,廣東 廣州 510006)

    針對目前日益嚴(yán)峻的軟件保護問題,對現(xiàn)有基于虛擬機的軟件保護技術(shù)進行分析與研究,對虛擬機保護技術(shù)進行了改進,設(shè)計了一種增強型虛擬機軟件保護技術(shù)。采用了虛擬花指令序列與虛擬指令模糊變換技術(shù),并對虛擬機的虛擬指令系統(tǒng)做了改進,從而提高了虛擬機執(zhí)行的復(fù)雜程度與迷惑程度,具有高強度的反逆向、防篡改、防破解的特點。實驗分析表明,增強型虛擬機保護技術(shù)明顯優(yōu)于普通型虛擬機保護技術(shù)。

    虛擬機;軟件保護;虛擬花指令;模糊變換

    1 引言

    計算機軟件是一種知識密集型的數(shù)字產(chǎn)品,軟件的研發(fā)非常復(fù)雜,研制及維護周期很長,需要耗費大量的人力物力資源,是軟件開發(fā)人員辛勤勞動的成果。但是,大量軟件破解行為使得商業(yè)軟件和共享軟件作者的利益受到嚴(yán)重侵害,他們的生存和發(fā)展將會受到嚴(yán)重影響。因此,軟件保護技術(shù)的研究與實現(xiàn)是目前軟件產(chǎn)業(yè)發(fā)展的重中之重。

    為了保護軟件,人們提出了一系列的軟件保護技術(shù),如序列號保護方式、授權(quán)文件保護、代碼混淆、加殼、軟件數(shù)字水印等[1],雖然這些技術(shù)取得了一定的成效,但是這些方式的保護強度都不是很高。近年來,軟件保護技術(shù)又出現(xiàn)了一個新的進步,那就是虛擬機技術(shù),它通過對代碼的虛擬化來達(dá)到保護軟件的目的[2]?;谔摂M機的軟件保護技術(shù),它虛擬出一套自己設(shè)計的指令系統(tǒng),用于將一系列指令放在一個解釋引擎中執(zhí)行。在該指令系統(tǒng)中,大部分常用的匯編指令都可以用虛擬機中的相應(yīng)指令代替[3]。雖然虛擬機保護技術(shù)在反逆向、反破解方面優(yōu)于其他保護技術(shù),但是逆向工程師通過分析大量虛擬指令以及虛擬機執(zhí)行過程,軟件代碼仍有被逆向還原的可能性[4]。為了增加代碼保護強度、降低被逆向還原的可能性,本文提出了基于增強型虛擬機軟件保護技術(shù),這種新的軟件保護技術(shù)融合了虛擬花指令序列和虛擬指令模糊變換技術(shù),從保護虛擬機本身代碼安全的角度出發(fā),在最大程度上保護了軟件代碼。

    2 虛擬機保護原理

    在軟件領(lǐng)域經(jīng)常用到有關(guān)虛擬機的概念,比如VMWare,它是指虛擬出一個CPU運行整個操作系統(tǒng),包含軟件、硬件等各方面的虛擬化[3]。本文所指的虛擬機并不是像VMware那樣的虛擬機,而更像是一個進程級的高級語言虛擬機。它擁有自定義獨立的指令系統(tǒng)——虛擬指令系統(tǒng),這種指令系統(tǒng)和Intel的x86指令系統(tǒng)并不在一個層次上。它還將我們所熟悉的x86匯編指令流轉(zhuǎn)換為ByteCode(字節(jié)碼),ByteCode是虛擬機解釋執(zhí)行被保護代碼功能時所需的一串字節(jié)流。Java虛擬機、.Net或者其他腳本語言的虛擬機都是靠解析ByteCode來執(zhí)行的,但它們之間的ByteCode并不通用,因為每一個虛擬機設(shè)計的ByteCode都是為自己使用的,并不兼容其他的虛擬機。利用虛擬機技術(shù)保護軟件,用戶可以選擇軟件中需保護代碼塊,把代碼塊反匯編成匯編指令流,然后用自定義的虛擬指令系統(tǒng)中的虛擬指令替換對應(yīng)的匯編指令,在發(fā)布時,將整個虛擬機嵌入軟件本身一起發(fā)布。在運行被保護代碼時,由虛擬機解釋執(zhí)行ByteCode。

    3 虛擬機軟件保護流程

    虛擬機保護對PE(Portable Execute)文件的處理流程如圖1所示。PE文件格式是WIN32環(huán)境自帶的跨平臺可執(zhí)行文件格式,常見的EXE、DLL、OCX、SYS、COM 等文件均是PE文件[5]。

    虛擬機保護系統(tǒng)首先從PE中提取需保護代碼塊,通常以函數(shù)為單位來提取,然后通過反匯編器反匯編成我們常見的x86匯編指令流,再把匯編指令流轉(zhuǎn)換成ByteCode存儲在PE文件中。轉(zhuǎn)換之后,PE文件中被保護代碼的正確運行需要虛擬機解釋執(zhí)行ByteCode,因此,整個虛擬機其實是內(nèi)嵌在PE文件中的,它包括跳轉(zhuǎn)表、虛擬指令調(diào)度器和虛擬指令系統(tǒng)。

    Figure 1 Process of virtual machine software protection圖1 虛擬機軟件保護處理流程

    3.1 提取需保護代碼塊

    由于虛擬機是通過解釋執(zhí)行ByteCode來完成原始代碼的功能,所以經(jīng)過虛擬機保護后的PE文件會增大,被保護后的代碼塊運行效率會降低,因此,虛擬機保護只適用于保護PE文件中重要的代碼塊,而不是PE文件中的所有代碼。提取方式通常以函數(shù)為單位,根據(jù)函數(shù)的起始地址與結(jié)束地址確定需保護代碼塊。

    3.2 反匯編器

    反匯編器將上一步提取的代碼塊反匯編成匯編指令流,比如,8B442404對應(yīng)的匯編指令為mov eax,dword ptr[esp+4]。我們具體借助現(xiàn)有成熟的反匯編器來實現(xiàn)這一功能,將匯編語言作為中間語言,這樣有利于快速高效地將x86機器碼轉(zhuǎn)換為ByteCode,從而可以把工作重點放在虛擬機保護核心技術(shù)的研究上。

    3.3 虛擬機

    虛擬機由虛擬指令系統(tǒng)、虛擬指令調(diào)度器和跳轉(zhuǎn)表組成,它負(fù)責(zé)解釋執(zhí)行ByteCode,執(zhí)行完被保護代碼塊功能后,退出虛擬機,并正確返回至被保護代碼塊下一處x86匯編指令。為了更清楚地認(rèn)識虛擬機的組成與虛擬機在PE文件結(jié)構(gòu)中是如何操作的,下面以圖的方式展示對一個函數(shù)(functionA)進行虛擬機保護的過程。functionA被虛擬機保護前后,PE文件內(nèi)容對比如圖2所示。

    虛擬機的各個組成部分和ByteCode在PE文件中的位置如圖2所示。圖2a中functionA為待保護匯編指令流,經(jīng)過ByteCode轉(zhuǎn)換器轉(zhuǎn)換為ByteCode,并存儲在PE文件最末尾新增區(qū)塊中,在此例中,ByteCode存儲在圖2b的0040D400處。functionA函數(shù)被替換為圖2b中的push/jmp兩條指令。函數(shù)被虛擬機保護后,當(dāng)需要執(zhí)行函數(shù)時,由push/jmp兩條指令跳轉(zhuǎn)至虛擬機執(zhí)行,由虛擬機解釋執(zhí)行ByteCode完成函數(shù)功能。

    Figure 2 PE context comparison of virtual before machine protection and after machine protection圖2 虛擬機保護前后PE文件內(nèi)容對比

    (1)虛擬指令調(diào)度器。

    虛擬指令調(diào)度器通過讀取ByteCode來調(diào)度虛擬指令,相當(dāng)于CPU的執(zhí)行調(diào)度器。虛擬指令是一小段匯編程序,各種虛擬指令組成了虛擬指令系統(tǒng)。圖2b中VMDispatcher即是虛擬指令調(diào)度器,它其實也是一條虛擬指令。經(jīng)虛擬機保護后,函數(shù)執(zhí)行時,由push/jmp指令轉(zhuǎn)入虛擬機執(zhí)行。調(diào)度器的調(diào)度過程如下:

    ①進入虛擬機后,首先執(zhí)行VStartVM指令,它將所有寄存器的值壓入堆棧,然后為虛擬環(huán)境結(jié)構(gòu)(VMContext)分配堆??臻g。VMContext是虛擬機執(zhí)行時要用到的各種虛擬寄存器,即模擬一個CPU的上下文環(huán)境,它用一個結(jié)構(gòu)體來虛擬化所有寄存器。

    ②執(zhí)行VMDispatcher指令,它通過讀取ByteCode流,調(diào)度虛擬指令。調(diào)度的第一條指令是Vbegin指令,這條指令的ByteCode碼為“1B”,如圖2b所示。

    ③執(zhí)行Vbegin指令,它把所有寄存器的值賦值給VMContext結(jié)構(gòu),然后跳轉(zhuǎn)至VMDispatcher。

    ④VMContext結(jié)構(gòu)被初始化后,虛擬機開始真正執(zhí)行被保護代碼的功能,每執(zhí)行一條虛擬指令,都需要跳轉(zhuǎn)至VMDispatcher,由它調(diào)度下一條虛擬指令繼續(xù)執(zhí)行

    (2)虛擬指令系統(tǒng)。

    虛擬指令的設(shè)計分為兩大類,第一類是堆棧虛擬指令,第二類是普通虛擬指令。由原始匯編指令轉(zhuǎn)換為虛擬指令,首先必須經(jīng)過堆棧虛擬指令的處理,然后由普通虛擬指令從棧中取出參數(shù)進行功能操作。部分虛擬指令如圖3所示。

    Figure 3 Some virtual instructions圖3 部分虛擬指令

    圖3中1、2、3為堆棧虛擬指令,4為普通虛擬指令,其中,esi指向ByteCode,edi指向 VMContext。VPushImm32的功能是把一個32位立即數(shù)入棧。VPopReg32的功能是把當(dāng)前棧中的值壓入VMContext中的虛擬寄存器。VPushReg32的功能是把VMContext中的虛擬寄存器的值壓入棧中。VAdd的功能是從當(dāng)前棧中去源操作數(shù)與目的操作數(shù)進行相加,然后把結(jié)果壓入棧中。

    這種方法實現(xiàn)虛擬指令系統(tǒng)的優(yōu)點是:需要用到操作數(shù)的虛擬指令不必去管操作數(shù)從哪兒來,這些操作數(shù)交給堆棧虛擬指令處理。原始匯編指令轉(zhuǎn)換為虛擬指令序列如圖4所示,括號中的參數(shù)來自于ByteCode。

    Figure 4 Original assemble instruction transformed into virtual instruction series圖4 原始匯編指令轉(zhuǎn)換為虛擬指令序列

    (3)跳轉(zhuǎn)表。

    跳轉(zhuǎn)表起著映射虛擬指令地址的作用,為了使虛擬機保護系統(tǒng)每次處理PE文件后,ByteCode碼對應(yīng)的虛擬指令不一樣,增加被逆向還原的難度。虛擬指令存放在PE文件之前,通過隨機的方式為每一條虛擬指令編碼,然后通過公式“虛擬指令地址=[X*4+跳轉(zhuǎn)表地址]”計算出虛擬指令的地址,最后把虛擬指令的地址存放在跳轉(zhuǎn)表中,而這個編碼則寫入ByteCode中,作為映射虛擬指令的ByteCode碼。因此,虛擬機在執(zhí)行的時候,可以逆向計算出虛擬指令的地址。通過這種方法處理,使得同一個PE文件,每次處理后的ByteCode都不一樣。

    以圖2b中ByteCode碼“9D”為例,通過公式“虛擬指令地址=[X*4+跳轉(zhuǎn)表地址]”計算出“9D”對應(yīng)的地址為“00406456”,所以“9D”對應(yīng)的虛擬指令是VPushImm32。X表示ByteCode,跳轉(zhuǎn)表地址在此例中的值為“00406000”。

    3.4 ByteCode轉(zhuǎn)換器

    ByteCode轉(zhuǎn)換器相當(dāng)于一個虛擬指令編譯器,它根據(jù)自定義的虛擬指令系統(tǒng),把x86匯編指令流轉(zhuǎn)換為只能被此虛擬機才能識別執(zhí)行的字節(jié)流。

    以圖2a“mov eax,dword ptr[esp+4]”指令為例,它被轉(zhuǎn)換成了9D04000000 9D01000000…。下面介紹它的轉(zhuǎn)換方法。這條指令的源操作數(shù)為一內(nèi)存數(shù),內(nèi)存數(shù)的真實結(jié)構(gòu)是[imm+reg*scale+reg2],在轉(zhuǎn)換源操作數(shù)的過程中,需要計算這四個值,這四個值分別為:imm=00000004,scale=00000001,reg=00000024(VMContext中的偏移值),reg2=FFFFFFFF(值為負(fù),表示忽略此寄存器),把這四個值寫入ByteCode中,有了這四個值,虛擬機執(zhí)行時就可以取出[esp+4]表示的內(nèi)存值,因此mov eax,dword ptr[esp+4]指令被轉(zhuǎn)換為如下虛擬指令序列:

    生成的ByteCode如圖2b所示,“9D”映射了VpushImm32指令,“9D”后面緊跟著的“00000004”是第一條VpushImm32指令的參數(shù)。其他指令亦是如此:凡是虛擬指令要用到的參數(shù),在此虛擬指令對應(yīng)的ByteCode后面的數(shù)據(jù)即是參數(shù)。前4條指令是把源操作數(shù)的4個參數(shù)入棧,第5條指令壓入[esp+4]內(nèi)存地址的值,第6條指令是壓入VMContext中的v_eax的偏移,第7條指令取內(nèi)存數(shù)值,壓入當(dāng)前真實堆棧,第8條指令把當(dāng)前堆棧值出棧到VMContext中的v_eax。經(jīng)過這一系列的虛擬指令的執(zhí)行,實現(xiàn)了把esp+4對應(yīng)的內(nèi)存值,賦值給了VMContext中的v_eax。執(zhí)行完mov eax,dword ptr[esp+4]指令后,繼續(xù)執(zhí)行inc eax,虛擬機實際上是把VMContext中的v_eax進行加一操作。虛擬機解釋執(zhí)行完所有ByteCode后,VMContext中的各種虛擬寄存器的值與未經(jīng)虛擬機保護執(zhí)行得到的寄存器的值是相同的。所以,在退出虛擬機時,把虛擬機執(zhí)行得到的VMContext的值一一對應(yīng)賦值給真實寄存器,這樣才能保證程序繼續(xù)執(zhí)行??偟膩碚f,被保護代碼段被ByteCode轉(zhuǎn)換器轉(zhuǎn)換成ByteCode,虛擬機在解釋執(zhí)行ByteCode的過程中,需要執(zhí)行一系列虛擬指令,才能完成一條原始匯編指令的功能,而一條虛擬指令又是由多條匯編指令組成。因此,把一條原始匯編指令轉(zhuǎn)換為N條匯編指令來執(zhí)行,而且這N條匯編指令邏輯性強,缺一不可,通過這樣的高強度的復(fù)雜化,使得逆向還原難度大大增加。

    4 增強型虛擬機軟件保護技術(shù)

    增強型虛擬機軟件保護是針對普通型虛擬機保護的虛擬指令系統(tǒng)做的改進。普通型虛擬指令系統(tǒng)本身并沒有被保護,逆向工程師通過對每一條虛擬指令的功能分析,最終還是可以破解被虛擬機保護的代碼。而作者提出的增強型虛擬機軟件保護融入了兩種技術(shù):一種是虛擬花指令序列,另一種是虛擬指令模糊變換?;ㄖ噶钜卜Q為偽指令、垃圾指令?;ㄖ噶罴用芗夹g(shù)通過在程序代碼中插入無效指令或不影響原始代碼功能的無用指令來破壞反匯編的結(jié)果和增加代碼分析難度,以達(dá)到加密保護的目的[6]。虛擬花指令序列技術(shù)主要是在虛擬機執(zhí)行的虛擬指令序列中加入冗余虛擬指令,用來增加逆向工程師對虛擬機的分析難度。虛擬指令模糊變換技術(shù)是對有效虛擬指令作代碼變換,用來破壞反匯編器的結(jié)果,達(dá)到保護代碼的目的。

    4.1 虛擬花指令序列

    虛擬花指令序列被執(zhí)行后,它不影響原始虛擬指令序列的執(zhí)行結(jié)果。因此,在設(shè)計虛擬花指令序列時,應(yīng)注意虛擬花指令序列不能改變VMContext中虛擬寄存器的值。為了簡化代碼實現(xiàn),所有的虛擬花指令都不帶操作數(shù)。部分虛擬花指令的實現(xiàn)如圖5所示。

    第1、2條虛擬花指令的功能是對VMContext中的v_eax進行出入棧操作,其他虛擬寄存器的出入棧花指令類似于第1、2條指令,只是v_eax的值不一樣。第3條是加法花指令,實現(xiàn)方法與普通加法指令相同。

    Figure 5 Some virtual junk instructions圖5 部分虛擬花指令

    通過簡單的出入棧虛擬花指令、加減法虛擬花指令就可以組合成多種虛擬花指令序列,只要保證不破環(huán)VMContext和堆棧中的值。以下是其中一種虛擬花指令序列的實現(xiàn):

    第2、3、4、5條指令是把 VMContext中v_ebx與v_eax的和賦值給v_eax,而第1條指令保存了相加前v_eax的值,執(zhí)行完加法后,第6條指令把相加前的值還原給v_eax,所以經(jīng)過這一系列虛擬花指令的執(zhí)行,并沒有改變虛擬機執(zhí)行的結(jié)果,但是它起到了干擾逆向工程師的作用。以上序列其實是虛擬化了如下花指令:push eax;add eax,ebx;pop eax。

    虛擬花指令序列比傳統(tǒng)花指令更具優(yōu)勢,每一種虛擬花指令序列可以放在常規(guī)虛擬指令序列的任何位置。而傳統(tǒng)花指令采用較多的一種形式是無條件跳轉(zhuǎn)指令jmp加花指令,另一種形式是直接程序代碼中的jmp指令后添加花指令[7]。這兩種形式受代碼中jmp指令個數(shù)的限制,如果jmp指令數(shù)太少,則迷惑效果不明顯。

    4.2 虛擬指令模糊變換

    虛擬指令模糊變換是在有效虛擬指令里面加入花指令,又在花指令里面設(shè)計一個偽分支,偽分支中加入不可執(zhí)行代碼,通過偽分支來迷惑反匯編器,打亂反匯編結(jié)果,達(dá)到保護虛擬指令的目的。反匯編器的工作原理大致有兩種:一種是線性掃描法[8],反匯編器從程序代碼的第一個可執(zhí)行字節(jié)開始,依次逐個地將程序中的二進制代碼反匯編成相應(yīng)的匯編指令;另一種方法是遞歸掃描法[9],反匯編器沿著程序的指令執(zhí)行控制流來一步一步進行反匯編,將二進制代碼反匯編成相應(yīng)的匯編指令。在遞歸掃描中,由于反匯編器不會去判斷分支代碼正確與否,它們只是將跳轉(zhuǎn)地址的代碼進行反匯編[9]。因此,如果在虛擬指令中加入一些偽分支,并使得這些偽分支永遠(yuǎn)不可能執(zhí)行到,然后在偽分支內(nèi)添加不可執(zhí)行代碼,那么反匯編器很有可能將這些不可執(zhí)行代碼與其后代碼結(jié)合在一起,從而使得反匯編結(jié)果錯誤。虛擬指令模糊變換方法如圖6所示。

    Figure 6 Virtual instruction transformation圖6 虛擬指令模糊變換

    圖6中VinstructionA為一條虛擬指令,instruction為匯編指令。y的值為非0隨機值,因此這段花指令執(zhí)行cmp指令后,永遠(yuǎn)不可能跳轉(zhuǎn)到flag1處執(zhí)行,只會跳轉(zhuǎn)到flag2處執(zhí)行,flag2還原了eax的值,所以這一系列執(zhí)行并沒有影響程序的功能。如果在flag1處添加不可執(zhí)行的亂碼,反匯編器在分析這段代碼時,很有可能將亂碼與其后的代碼結(jié)合在一起,從而使得反匯編結(jié)果出錯。通過這種方法對虛擬指令進行模糊變換,使得反匯編器得不到正確的虛擬指令結(jié)果,逆向工程師很難分析虛擬機的代碼,因此在虛擬機軟件保護方案中,增加虛擬指令模糊變換技術(shù),極大地提高了反逆向、防破解的強度。

    5 實驗與分析

    5.1 實驗環(huán)境

    硬件環(huán)境:處理器Intel(R)Pentium(R)D CPU 2.8GHz、內(nèi)存4.0GB。

    軟件環(huán)境:操作系統(tǒng)32bit Windows 7,反匯編調(diào)試器OllyICE v1.10,普通型虛擬機軟件保護系統(tǒng)BProtect.exe,增強型虛擬機軟件保護系統(tǒng)BProtectPlus.exe,測試用例genfile.exe。

    5.2 實驗步驟

    (1)普通型虛擬機保護處理。

    使用BProtect.exe對genfile.exe進行虛擬機保護處理,生成genfile_vmp.exe,使用 OllyICE對genfile_vmp.exe進行反匯編調(diào)試,找到VAdd虛擬指令的反匯編結(jié)果,如圖7所示。

    (2)增強型虛擬機保護處理。

    使用BProtectPlus.exe對genfile.exe進行虛擬機保護處理,生成genfile_vmpplus.exe,使用OllyICE對genfile_vmpplus.exe進行反匯編調(diào)試,找到VAdd虛擬指令的反匯編結(jié)果,如圖8所示,生成的ByteCode如圖9所示,跳轉(zhuǎn)表如圖10所示,虛擬花指令代碼如圖11所示。

    Figure 7 VAdd’s disassemble result under normal virtual machine protection圖7 普通型虛擬機保護處理下VAdd的反匯編結(jié)果

    Figure 8 VAdd’s disassemble result of improved virtual machine protection圖8 增強型虛擬機保護處理下VAdd的反匯編結(jié)果

    Figure 9 ByteCode圖9 ByteCode

    Figure 10 Jumping table圖10 跳轉(zhuǎn)表

    5.3 實驗結(jié)果與分析

    圖8中畫線部分代碼是增強型虛擬機保護對VAdd虛擬指令進行的模糊變換,粗線部分代碼是模糊變換中的不可執(zhí)行亂碼。從圖8與圖7的對比中可看出,VAdd虛擬指令經(jīng)過模糊變換后,je跳轉(zhuǎn)處的不可執(zhí)行代碼確實與其后的兩條正常指令結(jié)合在一起,第一條被結(jié)合的指令是圖6中花指令中的最后一條pop eax,機器碼為58;第二條被結(jié)合的指令是VAdd虛擬指令中的mov ebx,dword ptr[esp],機器碼為8B1C24。因此,它達(dá)到了使反匯編器的反匯編結(jié)果出錯的目的。經(jīng)驗證,模糊變換后的虛擬指令能正常運行,整個程序的運行也正常,并且使用OllyICE的花指令去除插件,也不能將虛擬指令中的花指令去掉。

    Figure 11 Virtual junk code圖11 虛擬花指令代碼

    而圖7中未經(jīng)過任何改變的VAdd虛擬指令,只有五條匯編指令,很容易被逆向工程師得知此虛擬指令的功能。但是,增強型虛擬機軟件保護技術(shù)融合了虛擬指令模糊變換技術(shù)后,反匯編結(jié)果出錯,使得虛擬指令的破解難度明顯增強。

    下面再來分析驗證虛擬花指令序列在虛擬機軟件保護中起的重要作用。在增強型虛擬機軟件保護方案中,增加了虛擬花指令序列,圖9中陰影部分為虛擬花指令序列的ByteCode,根據(jù)3.3節(jié)中虛擬指令地址公式計算得出虛擬花指令的地址。下面驗證虛擬機執(zhí)行時,是否執(zhí)行了新增加的虛擬花指令序列。計算虛擬花指令地址以圖9中陰影部分第一個字節(jié)“25”為例。本次實驗中,公式中的“跳轉(zhuǎn)表地址”為00406000。所以25*4+00406000=00406094,從圖10跳轉(zhuǎn)表中查找00406094處的值為00406636,再從圖11中可以看到,此處對應(yīng)的虛擬花指令正是RPush_Veax。通過同樣的計算方法可以計算出圖9陰影部分剩下的五個字節(jié)分別對應(yīng)的虛擬指令是:RPush_Vebx、RPush_Veax、RAdd、RPop_Veax、RPop_Veax。因此,新增加的六個ByteCode碼確實有執(zhí)行,并且按照以上六條虛擬花指令的順序執(zhí)行完,并沒有改變程序的任何結(jié)果,但是增加了虛擬機執(zhí)行的虛擬指令數(shù)量,提高了虛擬機執(zhí)行的復(fù)雜度,起到了迷惑逆向工程師的作用。經(jīng)驗證,添加虛擬花指令序列的程序運行正常,而未添加虛擬花指令序列的普通型虛擬機保護強度明顯弱于增強型虛擬機保護。

    經(jīng)過以上實驗結(jié)果分析表明,融入了虛擬花指令序列和虛擬指令模糊變換的增強型虛擬機軟件保護強度優(yōu)于普通型虛擬機軟件保護強度。

    6 結(jié)束語

    本文提出了新的增強型虛擬機保護技術(shù),融入了虛擬花指令序列與虛擬指令模糊變換,前者通過一系列不影響程序功能的虛擬指令序列,干擾逆向工程師的分析效率;后者通過對虛擬指令構(gòu)造不可到達(dá)的偽分支,使得反匯編器解析虛擬指令時,把偽分支的亂碼與其后的正常代碼結(jié)合在一起,從而造成反匯編結(jié)果錯誤。這樣從兩個方面增加了反逆向的難度,達(dá)到進一步保護軟件的目的。

    實驗結(jié)果也表明了新方法的有效性,能夠在保持正確性的同時增加逆向分析的難度。下一步工作將研究多種變換策略,使得每條虛擬指令盡量使用不同的變換策略,從而進一步增加破解難度,達(dá)到最大化保護軟件的目的。

    [1] Tang Zhan-yong,Wang Huai-jun,F(xiàn)ang Ding-yi,et al.Research on software protection RISC-based virtual machine technology[J].Microelectronics &Computer,2011,28(8):1-3.(in Chinese)

    [2] Bughoho.Virtual machine technology subject argumentation[EB/OL]. [2007-07-07]. http://bbs.pediy.com/showthread.php?t=47633&tcatid=60.(in Chinese)

    [3] Shu Bo-cheng,Li Yi-chao,Cao Yue,et al.Research on software protection based on virtual machine[J].Computer Engineering &Science,2008,30(A1):25-28.(in Chinese)

    [4] Duan Gang.Encrypt and decrypt[M].Beijing:Publishing House of Electronics Industry,2008.(in Chinese)

    [5] Li Lu,Liu Qiu-ju,Xu Ting-rong.On unpacking technology for PE files[J].Computer Applications and Software,2010,27(9):279-282.(in Chinese)

    [6] Wang Hai-ping,Cao Lin,Sun Guo-zhi,et al.Study of stochastic junk code encryption algorithm [J].Journal of Computer Applications,2006,26(2):338-340.(in Chinese)

    [7] Sun Guo-zi,Cai Qiang,Cheng Dan-wei,et al.Study on encryption algorithm of sub-function junk code[J].Computer Engineering and Applications,2009,45(3):130-132.(in Chinese)

    [8] Kruegel C,Robertson W,Valeur F,et al.Static disassembly of obfuscated binaries[C]∥Proc of the 13th Conference on USENIX Security Symposium,2004:18.

    [9] Schwarz B,Debray S,Andrews G.Disassemble of executable code revisited[C]∥Proc of the 9th Working Conference on Reverse Engineering,2002:45-54.

    附中文參考文獻(xiàn):

    [1] 湯戰(zhàn)勇,王懷軍,房鼎益,等.基于精簡指令集的軟件保護虛擬機技術(shù)研究與實現(xiàn)[J].微電子學(xué)與計算機,2011,28(8):1-3.

    [2] Bughoho.虛擬機技術(shù)專題討論[EB/OL].[2007-07-07].http://bbs.pediy.com/showthread.php?t=47633&tcatid=60.

    [3] 舒柏程,李毅超,曹躍,等.基于虛擬機的軟件保護技術(shù)研究[J].計算機工程與科學(xué),2008,30(A1):25-28.

    [4] 段鋼.加密與解密[M].北京:電子工業(yè)出版社.2008.

    [5] 李露,劉秋菊,徐汀榮.PE文件中脫殼技術(shù)的研究[J].計算機應(yīng)用與軟件,2010,27(9):279-282.

    [6] 王海平,曹林,孫國梓,等.隨機花指令加密算法研究[J].計算機應(yīng)用,2006,26(2):338-340.

    [7] 孫國梓,蔡強,陳丹偉.子程序花指令加密算法研究[J].計算機工程與應(yīng)用,2009,45(3):130-132.

    Software protection technique based on improved virtual machine

    WU Wei-min,XU Wen-feng,LIN Zhi-yi,SI Si,RUAN Yi-bang
    (Faculty of Computer,Guangdong University of Technology,Guangzhou 510006,China)

    For the increasingly serious software protection problem,the software protection technique based on virtual machine is analyzed,studied and improved,and thus a new software protection technique based on improved virtual machine is proposed.The proposal uses virtual junk code sequence and virtual instruction transformation technique,improves the virtual instruction system of original virtual machine,and hence increases complexity and confusion for virtual machine execution and has the advantages of high anti-reversing,tamper-proof and anti cracking.Experimental analysis proves that the improved virtual machine protection technique outperforms other virtual machine protection techniques.

    virtual machine;software protection;virtual junk code;fuzy transform

    TP309

    A

    10.3969/j.issn.1007-130X.2014.04.015

    2012-09-26;

    2013-01-28

    通訊地址:510006廣東省廣州市番禺區(qū)廣州大學(xué)城外環(huán)西路100號廣東工業(yè)大學(xué)計算機學(xué)院

    Address:Faculty of Computer,Guangdong University of Technology,100Waihuan Rd West,Guangzhou Higher Education Mega

    Center,Panyu District,Guangzhou 510006,Guangdong,P.R.China

    1007-130X(2014)04-0655-07

    吳偉民(1956-),男,廣東深圳人,教授,研究方向為數(shù)據(jù)結(jié)構(gòu)和算法,可視計算,編譯和虛擬機技術(shù),智能系統(tǒng)。E-mail:wuwm@gdut.edu.cn

    WU Wei-min,born in 1956,professor,his research interests include data structure and algorithm,visual computing,compiler and virtual machine technology,and intelligent system.

    許文鋒(1985-),男,湖南永興人,碩士,研究方向為軟件保護技術(shù)。E-mail:154529332@qq.com

    XU Wen-feng,born in 1985,MS,his research interest includes software protection technology.

    林志毅(1981-),男,福建連江人,博士,講師,研究方向為自然計算和模式識別。E-mail:16045411@qq.com

    LIN Zhi-yi,born in 1981,PhD,lecturer,his research interests include natural computing,and pattern recognition.

    司斯(1987-),男,甘肅天水人,碩士,研究方向為數(shù)據(jù)結(jié)構(gòu)和算法。E-mail:Sisi563846762@163.com

    SI Si,born in 1987,MS,his research interests include data structure,and algorithm.

    阮奕邦(1991-),男,廣東陽江人,研究方向為軟件保護技術(shù)。E-mail:ruanyibang@qq.com

    RUAN Yi-bang,born in 1991,his research interest includes software protection technology.

    猜你喜歡
    增強型逆向代碼
    逆向而行
    “東方紅”四號增強型平臺
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    增強型MSTP設(shè)備在高速公路中的應(yīng)用
    基于多FPGA的增強型SPI通信研究
    電子測試(2018年4期)2018-05-09 07:28:13
    逆向解答
    美國LWRC公司M6 IC增強型卡賓槍
    輕兵器(2015年17期)2015-09-10 07:22:44
    伦理电影免费视频| 国产男人的电影天堂91| 最黄视频免费看| 波多野结衣一区麻豆| 欧美日韩视频精品一区| 亚洲精品aⅴ在线观看| 午夜福利,免费看| 午夜福利视频在线观看免费| 麻豆精品久久久久久蜜桃| 美国免费a级毛片| 91久久精品国产一区二区三区| 欧美日韩成人在线一区二区| 制服丝袜香蕉在线| 免费不卡的大黄色大毛片视频在线观看| 国产成人免费无遮挡视频| 欧美成人午夜精品| 亚洲视频免费观看视频| 亚洲精品自拍成人| 91久久精品国产一区二区三区| 日本欧美国产在线视频| 国产又爽黄色视频| 边亲边吃奶的免费视频| 观看av在线不卡| 大香蕉久久成人网| 高清黄色对白视频在线免费看| 亚洲av电影在线进入| 亚洲男人天堂网一区| 日韩av在线免费看完整版不卡| 中文字幕色久视频| 成年人午夜在线观看视频| 天天躁狠狠躁夜夜躁狠狠躁| 中文字幕人妻丝袜制服| 少妇人妻 视频| 看免费av毛片| 久久久久久人妻| 久久鲁丝午夜福利片| 最新的欧美精品一区二区| 日本猛色少妇xxxxx猛交久久| 免费在线观看视频国产中文字幕亚洲 | 又大又黄又爽视频免费| 国产成人免费无遮挡视频| 欧美 日韩 精品 国产| 一区二区日韩欧美中文字幕| 边亲边吃奶的免费视频| 在线观看国产h片| 国产黄色视频一区二区在线观看| 亚洲精品在线美女| 男女高潮啪啪啪动态图| 亚洲成人av在线免费| 午夜福利一区二区在线看| av视频免费观看在线观看| 久久亚洲国产成人精品v| 久久亚洲国产成人精品v| 日韩熟女老妇一区二区性免费视频| 久久精品国产亚洲av涩爱| 国产av精品麻豆| 精品福利永久在线观看| 国产黄色免费在线视频| 91国产中文字幕| 亚洲人成电影观看| 日本vs欧美在线观看视频| 国产97色在线日韩免费| av一本久久久久| 水蜜桃什么品种好| 一区二区日韩欧美中文字幕| 日韩人妻精品一区2区三区| 日本猛色少妇xxxxx猛交久久| 国产精品久久久久久精品电影小说| 巨乳人妻的诱惑在线观看| 亚洲中文av在线| 女人久久www免费人成看片| 女性被躁到高潮视频| 国产精品免费视频内射| 超碰97精品在线观看| 天天躁夜夜躁狠狠躁躁| 极品少妇高潮喷水抽搐| 涩涩av久久男人的天堂| 日韩精品免费视频一区二区三区| 18禁国产床啪视频网站| 欧美激情极品国产一区二区三区| 99精国产麻豆久久婷婷| 制服丝袜香蕉在线| 免费高清在线观看视频在线观看| 街头女战士在线观看网站| 亚洲av男天堂| 午夜免费鲁丝| 亚洲四区av| 免费少妇av软件| 天天操日日干夜夜撸| 夫妻午夜视频| 女的被弄到高潮叫床怎么办| 国产av码专区亚洲av| 日韩制服骚丝袜av| 亚洲av免费高清在线观看| 国产色婷婷99| 久久99蜜桃精品久久| 黄片播放在线免费| 999精品在线视频| 尾随美女入室| 美女脱内裤让男人舔精品视频| 国产欧美日韩综合在线一区二区| 黄片播放在线免费| 青春草国产在线视频| 欧美+日韩+精品| 日本色播在线视频| 男男h啪啪无遮挡| 精品亚洲乱码少妇综合久久| 中文天堂在线官网| 综合色丁香网| 日本91视频免费播放| av.在线天堂| 又粗又硬又长又爽又黄的视频| av女优亚洲男人天堂| 两个人免费观看高清视频| 99精国产麻豆久久婷婷| 国产免费福利视频在线观看| 久久国内精品自在自线图片| 丰满少妇做爰视频| 丰满饥渴人妻一区二区三| 国产乱人偷精品视频| 看免费成人av毛片| 高清黄色对白视频在线免费看| 两性夫妻黄色片| 美女国产视频在线观看| 777米奇影视久久| 亚洲精品国产色婷婷电影| 午夜免费鲁丝| 欧美日韩精品网址| 妹子高潮喷水视频| 在线观看人妻少妇| 午夜福利一区二区在线看| 黄色配什么色好看| 中文字幕人妻丝袜制服| av免费观看日本| 国产免费视频播放在线视频| 国产日韩欧美在线精品| 国产一区二区三区av在线| 久久国产亚洲av麻豆专区| 国产野战对白在线观看| a级毛片在线看网站| 中国国产av一级| 亚洲成人一二三区av| 伦理电影大哥的女人| 一级毛片 在线播放| 国产 精品1| 黄片小视频在线播放| 69精品国产乱码久久久| 成年人午夜在线观看视频| 亚洲精品一二三| 欧美日韩精品成人综合77777| 99九九在线精品视频| 国产色婷婷99| 日韩伦理黄色片| 午夜福利影视在线免费观看| 久热这里只有精品99| 国产精品无大码| 午夜日韩欧美国产| 国产精品香港三级国产av潘金莲 | 国产成人一区二区在线| 国产爽快片一区二区三区| av.在线天堂| 激情五月婷婷亚洲| 亚洲伊人色综图| 国产成人精品无人区| 欧美精品av麻豆av| 女的被弄到高潮叫床怎么办| 男的添女的下面高潮视频| 欧美日韩视频高清一区二区三区二| av不卡在线播放| 老司机影院成人| 哪个播放器可以免费观看大片| 亚洲人成电影观看| 美女主播在线视频| 久久久久国产一级毛片高清牌| 看免费av毛片| 少妇人妻精品综合一区二区| 亚洲图色成人| 亚洲男人天堂网一区| 满18在线观看网站| 搡女人真爽免费视频火全软件| 国产精品三级大全| 王馨瑶露胸无遮挡在线观看| 如何舔出高潮| 国产伦理片在线播放av一区| 亚洲精品aⅴ在线观看| 国产男人的电影天堂91| 另类精品久久| 满18在线观看网站| 精品少妇内射三级| 午夜免费男女啪啪视频观看| 亚洲av男天堂| 超碰97精品在线观看| 国产av码专区亚洲av| 国产亚洲最大av| 久久久久久久大尺度免费视频| 人体艺术视频欧美日本| 国产成人av激情在线播放| 精品亚洲乱码少妇综合久久| 这个男人来自地球电影免费观看 | 欧美日韩av久久| 亚洲在久久综合| 七月丁香在线播放| 欧美亚洲日本最大视频资源| 大话2 男鬼变身卡| 黄色毛片三级朝国网站| 亚洲精华国产精华液的使用体验| 亚洲成国产人片在线观看| 欧美成人午夜精品| 一级毛片黄色毛片免费观看视频| 亚洲 欧美一区二区三区| 国产又爽黄色视频| 日韩中字成人| 最近的中文字幕免费完整| 国产白丝娇喘喷水9色精品| 国产精品免费大片| 极品少妇高潮喷水抽搐| 亚洲天堂av无毛| 老司机影院成人| 国产一区二区三区综合在线观看| 久久久精品94久久精品| 波多野结衣av一区二区av| 免费人妻精品一区二区三区视频| 超碰成人久久| 大香蕉久久网| 成人18禁高潮啪啪吃奶动态图| 涩涩av久久男人的天堂| 亚洲熟女精品中文字幕| 少妇人妻精品综合一区二区| 国产免费福利视频在线观看| 高清不卡的av网站| 亚洲精华国产精华液的使用体验| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲精品在线美女| 日韩人妻精品一区2区三区| 精品少妇内射三级| 精品少妇黑人巨大在线播放| 国产精品欧美亚洲77777| 成年av动漫网址| 男女啪啪激烈高潮av片| 欧美国产精品va在线观看不卡| 国产精品二区激情视频| 日韩av免费高清视频| 中文字幕制服av| 交换朋友夫妻互换小说| 亚洲婷婷狠狠爱综合网| 捣出白浆h1v1| 久久ye,这里只有精品| 伊人久久国产一区二区| 国产精品无大码| 中文乱码字字幕精品一区二区三区| 成年人免费黄色播放视频| 有码 亚洲区| 99久久人妻综合| 汤姆久久久久久久影院中文字幕| 国产精品嫩草影院av在线观看| 捣出白浆h1v1| 美女xxoo啪啪120秒动态图| 国产一区有黄有色的免费视频| 一区二区三区精品91| 国产精品久久久久成人av| 深夜精品福利| www.精华液| 女人高潮潮喷娇喘18禁视频| 成人手机av| 亚洲av免费高清在线观看| 五月开心婷婷网| 中文字幕最新亚洲高清| 国产色婷婷99| 爱豆传媒免费全集在线观看| 国产在线一区二区三区精| 街头女战士在线观看网站| 美女国产高潮福利片在线看| 免费女性裸体啪啪无遮挡网站| 亚洲色图综合在线观看| 久久亚洲国产成人精品v| 欧美精品国产亚洲| 亚洲欧美色中文字幕在线| 精品国产乱码久久久久久小说| 最近2019中文字幕mv第一页| 免费观看在线日韩| 国产免费一区二区三区四区乱码| av有码第一页| 久久精品久久精品一区二区三区| 欧美黄色片欧美黄色片| 亚洲精品国产色婷婷电影| 国产精品麻豆人妻色哟哟久久| 精品国产乱码久久久久久小说| 亚洲精品成人av观看孕妇| av.在线天堂| 少妇猛男粗大的猛烈进出视频| 欧美激情 高清一区二区三区| 可以免费在线观看a视频的电影网站 | 乱人伦中国视频| 久久99蜜桃精品久久| 下体分泌物呈黄色| 成人毛片60女人毛片免费| 久久午夜福利片| 久久精品国产亚洲av涩爱| 久久久精品94久久精品| 日韩视频在线欧美| 久久久久国产一级毛片高清牌| 黑人巨大精品欧美一区二区蜜桃| 欧美日韩视频精品一区| 亚洲成人一二三区av| 亚洲一区二区三区欧美精品| 国产精品免费视频内射| 天天躁夜夜躁狠狠久久av| 又黄又粗又硬又大视频| av有码第一页| 国产1区2区3区精品| 久久久国产精品麻豆| 国产成人精品久久久久久| 成年美女黄网站色视频大全免费| 精品久久久久久电影网| 久久久久久久久免费视频了| 丝袜美足系列| 亚洲国产看品久久| 欧美日韩精品成人综合77777| 亚洲情色 制服丝袜| 亚洲欧美一区二区三区国产| 少妇的逼水好多| 国产精品 国内视频| 国产日韩一区二区三区精品不卡| 秋霞在线观看毛片| 美女高潮到喷水免费观看| 成人国语在线视频| 777久久人妻少妇嫩草av网站| 欧美黄色片欧美黄色片| 一区二区av电影网| 在线观看免费高清a一片| 久久国产精品男人的天堂亚洲| 男的添女的下面高潮视频| 亚洲国产精品一区三区| 少妇精品久久久久久久| 婷婷色麻豆天堂久久| 中文字幕av电影在线播放| 九九爱精品视频在线观看| 国产深夜福利视频在线观看| 亚洲精品第二区| 精品人妻一区二区三区麻豆| 亚洲人成77777在线视频| 极品人妻少妇av视频| av女优亚洲男人天堂| 亚洲,欧美精品.| 久久这里只有精品19| 热99国产精品久久久久久7| 亚洲欧美成人精品一区二区| 久久精品久久久久久噜噜老黄| av不卡在线播放| 欧美黄色片欧美黄色片| 久久久久精品久久久久真实原创| av女优亚洲男人天堂| 亚洲久久久国产精品| 国产成人免费观看mmmm| 久久精品久久久久久久性| 色94色欧美一区二区| 在线观看国产h片| 蜜桃在线观看..| 男女国产视频网站| 午夜福利,免费看| 国产一区二区 视频在线| 18禁国产床啪视频网站| 人人妻人人添人人爽欧美一区卜| 岛国毛片在线播放| 好男人视频免费观看在线| 国产精品一区二区在线观看99| 国精品久久久久久国模美| 不卡视频在线观看欧美| 久久韩国三级中文字幕| 叶爱在线成人免费视频播放| 热99国产精品久久久久久7| 亚洲欧美精品自产自拍| 曰老女人黄片| 18在线观看网站| 不卡av一区二区三区| 精品一品国产午夜福利视频| 黑人巨大精品欧美一区二区蜜桃| 国产高清不卡午夜福利| 美女国产视频在线观看| 欧美人与性动交α欧美软件| 日本91视频免费播放| 国产极品天堂在线| 在线观看免费高清a一片| 国产日韩欧美在线精品| 国产精品偷伦视频观看了| 午夜福利影视在线免费观看| 美女午夜性视频免费| 欧美bdsm另类| 一区二区三区四区激情视频| 在线天堂最新版资源| 色婷婷av一区二区三区视频| 制服人妻中文乱码| 亚洲精品成人av观看孕妇| 永久网站在线| 成人手机av| 国产精品免费视频内射| 九草在线视频观看| 国产视频首页在线观看| 久久久久久人妻| 制服诱惑二区| 久久国产亚洲av麻豆专区| 丰满少妇做爰视频| 欧美激情 高清一区二区三区| 欧美中文综合在线视频| 国产成人欧美| 国产白丝娇喘喷水9色精品| 欧美精品av麻豆av| 成年av动漫网址| 久久99精品国语久久久| 国产精品久久久久成人av| kizo精华| 99久久中文字幕三级久久日本| 国产一级毛片在线| 黄频高清免费视频| 黄色怎么调成土黄色| 熟妇人妻不卡中文字幕| 午夜福利,免费看| 国产精品国产三级专区第一集| 亚洲内射少妇av| 在线 av 中文字幕| 成年人免费黄色播放视频| 观看av在线不卡| www日本在线高清视频| 看十八女毛片水多多多| 多毛熟女@视频| 99热全是精品| 宅男免费午夜| 亚洲av成人精品一二三区| 秋霞在线观看毛片| 国产成人精品福利久久| 亚洲精品,欧美精品| 国产老妇伦熟女老妇高清| 亚洲精华国产精华液的使用体验| 亚洲精品国产一区二区精华液| 飞空精品影院首页| 婷婷色麻豆天堂久久| 一级毛片我不卡| 精品少妇黑人巨大在线播放| 亚洲美女视频黄频| 高清欧美精品videossex| 99re6热这里在线精品视频| 69精品国产乱码久久久| av国产精品久久久久影院| 极品少妇高潮喷水抽搐| 免费观看av网站的网址| 有码 亚洲区| 婷婷色av中文字幕| 波野结衣二区三区在线| 成人黄色视频免费在线看| 国产精品欧美亚洲77777| 超碰成人久久| 韩国精品一区二区三区| 国产高清不卡午夜福利| 高清av免费在线| 一本大道久久a久久精品| 亚洲第一青青草原| 色吧在线观看| 久久久久久免费高清国产稀缺| 欧美日韩一区二区视频在线观看视频在线| 精品一区在线观看国产| av线在线观看网站| 午夜免费观看性视频| 色吧在线观看| 欧美 日韩 精品 国产| 国产国语露脸激情在线看| 我要看黄色一级片免费的| 午夜福利,免费看| 最新中文字幕久久久久| 香蕉精品网在线| 精品福利永久在线观看| 免费高清在线观看视频在线观看| 天美传媒精品一区二区| 国产精品香港三级国产av潘金莲 | 国产高清国产精品国产三级| 99久久人妻综合| 亚洲色图 男人天堂 中文字幕| 天天躁日日躁夜夜躁夜夜| 熟女av电影| 亚洲精品国产一区二区精华液| 999精品在线视频| 黄片无遮挡物在线观看| 卡戴珊不雅视频在线播放| 久久婷婷青草| 国产精品人妻久久久影院| 中文字幕制服av| 肉色欧美久久久久久久蜜桃| 国产日韩一区二区三区精品不卡| 国产野战对白在线观看| 日本色播在线视频| a 毛片基地| 永久网站在线| 丰满少妇做爰视频| 90打野战视频偷拍视频| 美女xxoo啪啪120秒动态图| 蜜桃在线观看..| 少妇的丰满在线观看| 韩国高清视频一区二区三区| 纵有疾风起免费观看全集完整版| 9色porny在线观看| 乱人伦中国视频| 人成视频在线观看免费观看| 丰满迷人的少妇在线观看| 天天影视国产精品| 只有这里有精品99| 一级毛片我不卡| 蜜桃在线观看..| 国产 一区精品| 亚洲综合精品二区| 国产在线免费精品| 久久青草综合色| 亚洲欧美色中文字幕在线| 波多野结衣一区麻豆| 久久人人爽人人片av| 精品国产一区二区久久| 国产色婷婷99| 久久青草综合色| 在线天堂中文资源库| 丰满迷人的少妇在线观看| 亚洲,欧美精品.| 亚洲精品乱久久久久久| 丰满饥渴人妻一区二区三| 免费高清在线观看日韩| 熟女少妇亚洲综合色aaa.| 久久人人97超碰香蕉20202| 欧美精品一区二区大全| 午夜福利视频精品| 亚洲,欧美精品.| av免费在线看不卡| 韩国av在线不卡| 免费高清在线观看日韩| 2018国产大陆天天弄谢| 欧美成人午夜免费资源| 男女啪啪激烈高潮av片| 久久久久人妻精品一区果冻| 高清在线视频一区二区三区| 午夜av观看不卡| 咕卡用的链子| 80岁老熟妇乱子伦牲交| 欧美日韩亚洲国产一区二区在线观看 | videossex国产| 蜜桃在线观看..| 精品国产一区二区久久| 少妇人妻精品综合一区二区| 欧美日韩一区二区视频在线观看视频在线| 久久久久网色| 18在线观看网站| videos熟女内射| 又粗又硬又长又爽又黄的视频| 成年人免费黄色播放视频| 久久午夜福利片| 国产欧美亚洲国产| av天堂久久9| 久久狼人影院| 少妇人妻久久综合中文| 三级国产精品片| 亚洲精品aⅴ在线观看| videossex国产| 国产又色又爽无遮挡免| 免费播放大片免费观看视频在线观看| 丝袜脚勾引网站| 欧美日韩一区二区视频在线观看视频在线| 久久久久人妻精品一区果冻| 伊人久久国产一区二区| 最新的欧美精品一区二区| av电影中文网址| 少妇被粗大的猛进出69影院| 在线观看免费日韩欧美大片| 一本大道久久a久久精品| 精品少妇黑人巨大在线播放| 精品一区在线观看国产| 国产一级毛片在线| 日韩精品有码人妻一区| 飞空精品影院首页| 91aial.com中文字幕在线观看| 青春草国产在线视频| 交换朋友夫妻互换小说| a 毛片基地| 日韩av在线免费看完整版不卡| 婷婷色综合www| 久久精品国产亚洲av涩爱| 久久影院123| 成年女人在线观看亚洲视频| 自拍欧美九色日韩亚洲蝌蚪91| 老熟女久久久| 99热网站在线观看| 亚洲精品国产av蜜桃| 亚洲av成人精品一二三区| 一边摸一边做爽爽视频免费| 这个男人来自地球电影免费观看 | 国产国语露脸激情在线看| 啦啦啦啦在线视频资源| 黄片无遮挡物在线观看| 少妇人妻精品综合一区二区| 亚洲av欧美aⅴ国产| 春色校园在线视频观看| 欧美日本中文国产一区发布| 日本av手机在线免费观看| 人妻 亚洲 视频| 黑人欧美特级aaaaaa片| 午夜免费男女啪啪视频观看| 亚洲色图综合在线观看| 捣出白浆h1v1| 日日摸夜夜添夜夜爱| 国产又色又爽无遮挡免| 亚洲综合色网址| 青春草视频在线免费观看| 日本wwww免费看| 亚洲av综合色区一区| 人体艺术视频欧美日本| 国产成人av激情在线播放| 伦精品一区二区三区| 午夜免费鲁丝| 午夜福利一区二区在线看| 久久人人爽av亚洲精品天堂| 80岁老熟妇乱子伦牲交|