亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? virus.txt

?? 本文研究的主要內容正如其題目所示是設計并編寫一個先進的反病毒引擎。首先需要對這“先進”二字做一個解釋
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
先進的反病毒引擎設計之概念分析篇
作者: 佚名 來源: 互連網 
  1.緒論

  本文研究的主要內容正如其題目所示是設計并編寫一個先進的反病毒引擎。首先需要對這“先進”二字做一個解釋,何為“先進”?眾所周知,傳統的反病毒軟件使用的是基于特征碼的靜態掃描技術,即在文件中尋找特定十六進制串,如果找到,就可判定文件感染了某種病毒。但這種方法在當今病毒技術迅猛發展的形勢下已經起不到很好的作用了。原因我會在以下的章節中具體描述。因此本文將不對殺毒引擎中的特征碼掃描和病毒代碼清除模塊做分析。我們要討論的是為應付先進的病毒技術而必需的兩大反病毒技術--虛擬機和實時監控技術。具體什么是虛擬機,什么是實時監控,我會在相應的章節中做詳盡的介紹。這里我要說明的一點是,這兩項技術雖然在前人的工作中已有所體現(被一些國內外先進的反病毒廠家所使用),但出于商業目的,這些技術并沒有被完全公開,所以你無論從書本文獻還是網路上的資料中都無法找到關于這些技術的內幕。而我會在相關的章節中剖析大量的程序源碼(主要是2.4節中的一個完整的虛擬機源碼)或是逆向工程代碼(3.3.3節和3.4.3節中三個我逆向工程的某著名反病毒軟件的實時監控驅動程序及客戶程序的反匯編代碼),并同時公布一些我個人挖掘的操作系統內部未公開的機制和數據結構。下面就開始進入正題。

  1.1背景

  本文涉及的兩個主要技術,也是當今反病毒界使用的最為先進的技術中的兩個,究竟是作何而用的呢?首先說說虛擬機技術,它主要是為查殺加密變形病毒而設計的。簡單地來說,所謂虛擬機并不是個虛擬的機器,說得更合適一些應該是個虛擬CPU(用軟件實現的CPU),只不過病毒界都這么叫而已。它的作用主要是模擬INTEL X86 CPU的工作過程來解釋執行可執行代碼,與真正的CPU一樣能夠取指,譯碼并執行相應機器指令規定的操作。當然什么是加密變形病毒,它們為什么需要被虛擬執行以及怎樣虛擬執行等問題會在合適的章節中得到解答。再說另一個重頭戲--實時監控技術,它的用處更為廣泛,不僅局限于查殺病毒。被實時監控的對象也很多,如中斷(Intmon),頁面錯誤(Pfmon),磁盤訪問(Diskmon)等等。用于殺毒的監控主要是針對文件訪問,在你要對一個文件進行訪問時,實時監控會先檢查文件是否為帶毒文件,若是,則由用戶選擇是清除病毒還是取消此次操作請求。這樣就給了用戶一個相對安全的執行環境。但同時,實時監控會使系統性能有所下降,不少殺毒軟件的用戶都抱怨他們的實時監控讓系統變得奇慢無比而且不穩定。這就給我們的設計提出了更高的要求,即怎樣在保證準確攔截文件操作的同時,讓實時監控占用的系統資源更少。我會在病毒實時監控一節中專門討論這個問題。這兩項技術在國內外先進的反病毒廠家的產品中都有使用,雖然它們的源代碼沒有公開,但我們還是可以通過逆向工程的方法來窺視一下它們的設計思路。其實你用一個十六進制編輯器來打開它們的可執行文件,也許就會看到一些沒有剝掉的調試符號、變量名字或輸出信息,這些蛛絲馬跡對于理解代碼的意圖大有裨益。同時,在反病毒軟件的安裝目錄中后綴為.VXD或.SYS就是執行實時監控的驅動程序,可以拿來逆向一下(參看我在后面分析驅動源代碼中的討論)。相信至此,我們對這兩項技術有了一個大體的了解。后面我們將深入到技術的細節中去。

  1.2當今病毒技術的發展狀況

  要討論怎樣反病毒,就必須從病毒技術本身的討論開始。正是所謂“知己知彼,百戰不殆”。其實,我認為目前規定研究病毒技術屬于違法行為存在著很大的弊端。很難想象一個毫無病毒寫作經驗的人會成為殺毒高手。據我了解,目前國內一些著名反病毒軟件公司的研發隊伍中不乏病毒寫作高手。只不過他們將同樣的技術用到了正道上,以‘毒’攻‘毒’。所以我希望這篇論文能起到拋磚引玉的作用,期待著有更多的人會將病毒技術介紹給大眾。當今的病毒與DOS和WIN3.1時代下的從技術角度上看有很多不同。我認為最大的轉變是:引導區病毒減少了,而腳本型病毒開始泛濫。原因是在當今的操作系統下直接改寫磁盤的引導區會有一定的難度(DOS則沒有保護,允許調用INT13直接寫盤),而且引導區的改動很容易被發現,所以很少有人再寫了;而腳本病毒以其傳播效率高且容易編寫而深得病毒作者的青睞。當然由于這兩種病毒用我上面說過的基于特征碼的靜態掃描技術就可以查殺,所以不在我們的討論之列。我要討論的技術主要來自于二進制外殼型病毒(感染文件的病毒),并且這些技術大都和操作系統底層機制或386以上CPU的保護模式相關,所以值得研究。大家都知道DOS下的外殼型病毒主要感染16位的COM或EXE文件,由于DOS沒有保護,它們能夠輕松地進行駐留,減少可用內存(通過修改MCB鏈),修改系統代碼,攔截系統服務或中斷。而到了WIN9X和WINNT/2000時代,想寫個運行其上的32位WINDOWS病毒絕非易事。由于頁面保護,你不可能修改系統的代碼頁。由于I/O許可位圖中的規定,你也不能進行直接端口訪問。在WINDOWS中你不可能象在DOS中那樣通過截獲INT21H來攔截所有文件操作??傊?,你以一個用戶態程序運行,你的行為將受到操作系統嚴格的控制,不可能再象DOS下那樣為所欲為了。另外值得一提的是,WINDOWS下采用的可執行文件格式和DOS下的EXE截然不同(普通程序采用PE格式,驅動程序采用LE),所以病毒的感染文件的難度增大了(PE和LE比較復雜,中間分了若干個節,如果感染錯了,將導致文件不能繼續執行)。因為當今病毒的新技術太多,我不可能將它們逐一詳細討論,于是就選取了一些重要并具有代表性的在本章的各小節中進行討論。

  1.2.1系統核心態病毒

  在介紹什么是系統核心態病毒之前,有必要討論一下核心態與用戶態的概念。其實只要隨便翻開一本關于386保護模式匯編程序設計的教科書,都可以找到對這兩個概念的講述。386及以上的CPU實現了4個特權級模式(WINDOWS只用到了其中兩個),其中特權級0(Ring0)是留給操作系統代碼,設備驅動程序代碼使用的,它們工作于系統核心態;而特權極3(Ring3)則給普通的用戶程序使用,它們工作在用戶態。運行于處理器核心態的代碼不受任何的限制,可以自由地訪問任何有效地址,進行直接端口訪問。而運行于用戶態的代碼則要受到處理器的諸多檢查,它們只能訪問映射其地址空間的頁表項中規定的在用戶態下可訪問頁面的虛擬地址,且只能對任務狀態段(TSS)中I/O許可位圖(I/O Permission Bitmap)中規定的可訪問端口進行直接訪問(此時處理器狀態和控制標志寄存器EFLAGS中的IOPL通常為0,指明當前可以進行直接I/O的最低特權級別是Ring0)。以上的討論只限于保護模式操作系統,象DOS這種實模式操作系統則沒有這些概念,其中的所有代碼都可被看作運行在核心態。既然運行在核心態有如此之多的優勢,那么病毒當然沒有理由不想得到Ring0。處理器模式從Ring3向Ring0的切換發生在控制權轉移時,有以下兩種情況:訪問調用門的長轉移指令CALL,訪問中斷門或陷阱門的INT指令。具體的轉移細節由于涉及復雜的保護檢查和堆棧切換,不再贅述,請參閱相關資料?,F代的操作系統通常使用中斷門來提供系統服務,通過執行一條陷入指令來完成模式切換,在INTEL X86上這條指令是INT,如在WIN9X下是INT30(保護模式回調),在LINUX下是INT80,在WINNT/2000下是INT2E。用戶模式的服務程序(如系統DLL)通過執行一個INTXX來請求系統服務,然后處理器模式將切換到核心態,工作于核心態的相應的系統代碼將服務于此次請求并將結果傳給用戶程序。下面就舉例子說明病毒進入系統核心態的方法。

  在WIN9X下進程虛擬地址空間中映射共享系統代碼的部分(3G--4G)中除了最上面4M頁表有頁面保護外其它地方可由用戶程序讀寫。如果你用Softice(系統級調試器)的PAGE命令查看這些地址的頁屬性,則你會驚奇地發現U RW位,這說明這些地址可從用戶態直接讀出或寫入。這意味著任何一個用戶程序都能夠在其運行過程中惡意或無意地破壞操作系統代碼頁。由此病毒就可以在GDT(全局描述符表),LDT(局部描述符表)中隨意構造門描述符并借此進入核心態。當然,也不一定要借助門描述,還有許多方法可以得到Ring0。據我所知的方法就不下10余種之多,如通過調用門(Callgate),中斷門(Intgate),陷阱門(Trapgate),異常門(Fault),中斷請求(IRQs),端口(Ports),虛擬機管理器(VMM),回調(Callback),形式轉換(Thunks),設備IO控制(DeviceIOControl),API函數(SetThreadContext) ,中斷2E服務(NTKERN.VxD)。由于篇幅的限制我不可能將所有的方法逐一描述清楚,這里我僅選取最具有代表性的CIH病毒1.5版開頭的一段代碼。

  人們常說CIH病毒運用了VXD(虛擬設備驅動)技術,其實它本身并不是VXD。只不過它利用WIN9X上述漏洞,在IDT(中斷描述符表)中構造了一個DPL(段特權級)為3的中斷門(意味著可以從Ring3下執行訪問該中斷門的INT指令),并使描述符指向自己私有地址空間中的一個需要工作在Ring0下的函數地址。這樣一來CIH就可以通過簡單的執行一條INTXX指令(CIH選擇使用INT3,是為了使同樣接掛INT3的系統調試器Softice無法正常工作以達到反跟蹤的目的)進入系統核心態,從而調用系統的VMM和VXD服務。以下是我注釋的一段CIH1.5的源代碼:

  ; *************************************

  ; * 修改IDT以求得核心態特權級 *

  ; *************************************

  push eax

  sidt [esp-02h] ;取得IDT表基地址

  pop ebx

  add ebx, HookExceptionNumber*08h+04h ;ZF = 0

  cli ;讀取修改系統數據時先禁止中斷

  mov ebp, [ebx]

  mov bp, [ebx-04h] ;取得原來的中斷入口地址

  lea esi, MyExceptionHook-@1[ecx] ;取得需要工作在Ring0的函數的偏移地址

  push esi

  mov [ebx-04h], si

  shr esi, 16

  mov [ebx+02h], si ;設置為新的中斷入口地址

  pop esi

  ; *************************************

  ; * 產生一個異常來進入Ring0 *

  ; *************************************

  int HookExceptionNumber ;產生一個異常

  當然,后面還有恢復原來中斷入口地址和異常處理幀的代碼。

  剛才所討論的技術僅限于WIN9X,想在WINNT/2000下進入Ring0則沒有這么容易。主要的原因是WINNT/2000沒有上述的漏洞,它們的系統代碼頁面(2G--4G)有很好的頁保護。大于0x80000000的虛擬地址對于用戶程序是不可見的。如果你用Softice的PAGE命令查看這些地址的頁屬性,你會發現S位,這說明這些地址僅可從核心態訪問。所以想在IDT,GDT隨意構造描述符,運行時修改內核是根本做不到的。所能做的僅是通過加載一個驅動程序,使用它來做你在Ring3下做不到的事情。病毒可以在它們加載的驅動中修改內核代碼,或為病毒本身創建調用門(利用NT由Ntoskrnl.exe導出的未公開的系統服務KeI386AllocateGdtSelectors,KeI386SetGdtSelector,KeI386ReleaseGdtSelectors)。如Funlove病毒就利用驅動來修改系統文件(Ntoskrnl.exe,Ntldr)以繞過安全檢查。但這里面有兩個問題,其一是驅動程序從哪里來,現代病毒普遍使用一個稱為“Drop”的技術,即在病毒體本身包含驅動程序二進制碼(可以進行壓縮或動態構造文件頭),在病毒需要使用時,動態生成驅動程序并將它們扔到磁盤上,然后馬上通過在SCM(服務控制管理器)注冊并最終調用StartService來使驅動程序得以運行;其二是加載一個驅動程序需要管理員身份,普通帳號在調用上述的加載函數時會返回失?。ò踩酉到y要檢查用戶的訪問令牌(Token)中有無SeLoadDriverPrivilege特權),但多數用戶在大多時候登錄時會選擇管理員身份,否則連病毒實時監控驅動也同樣無法加載,所以留給病毒的機會還是很多的。

  1.2.2駐留病毒

  駐留病毒是指那些在內存中尋找合適的頁面并將病毒自身拷貝到其中且在系統運行期間能夠始終保持病毒代碼的存在。駐留病毒比那些直接感染(Direct-action)型病毒更具隱蔽性,它通常要截獲某些系統操作來達到感染傳播的目的。進入了核心態的病毒可以利用系統服務來達到此目的,如CIH病毒通過調用一個由VMM導出的服務VMMCALL_PageAllocate在大于0xC0000000的地址上分配一塊頁面空間。而處于用戶態的程序要想在程序退出后仍駐留代碼的部分于內存中似乎是不可能的,因為無論用戶程序分配何種內存都將作為進程占用資源的一部分,一旦進程結束,所占資源將立即被釋放。所以我們要做的是分配一塊進程退出后仍可保持的內存。

  病毒寫作小組29A的成員GriYo 運用的一個技術很有創意:他通過CreateFileMappingA 和MapViewOfFile創建了一個區域對象并映射它的一個視口到自己的地址空間中去,并把病毒體搬到那里,由于文件映射所在的虛擬地址處于共享區域(能夠被所有進程看到,即所有進程用于映射共享區內虛擬地址的頁表項全都指向相同的物理頁面),所以下一步他通過向Explorer.exe中注入一段代碼(利用WriteProcessMemory來向其它進程的地址空間寫入數據),而這段代碼會從Explorer.exe的地址空間中再次申請打開這個文件映射。如此一來,即便病毒退出,但由于Explorer.exe還對映射頁面保持引用,所以一份病毒體代碼就一直保持在可以影響所有進程的內存頁面中直至Explorer.exe退出。

  另外還可以通過修改系統動態連接模塊(DLL)來進行駐留。WIN9X下系統DLL(如Kernel32.dll 映射至BFF70000)處于系統共享區域(2G-3G),如果在其代碼段空隙中寫入一小段病毒代碼則可以影響其它所有進程。但Kernel32.dll的代碼段在用戶態是只能讀不能寫的。所以必須先通過特殊手段修改其頁保護屬性;而在WINNT/2000下系統DLL所在頁面被映射到進程的私有空間(如Kernel32.dll 映射至77ED0000)中,并具有寫時拷貝屬性,即沒有進程試圖寫入該頁面時,所有進程共享這個頁面;而當一個進程試圖寫入該頁面時,系統的頁面錯誤處理代碼將收到處理器的異常,并檢查到該異常并非訪問違例,同時分配給引發異常的進程一個新頁面,并拷貝原頁面內容于其上且更新進程的頁表以指向新分配的頁。這種共享內存的優化給病毒的寫作帶來了一定的麻煩,病毒不能象在WIN9X下那樣僅修改Kernel32.dll一處代碼便可一勞永逸。它需要利用WriteProcessMemory來向每個進程映射Kernel32.dll的地址寫入病毒代碼,這樣每個進程都會得到病毒體的一個副本,這在病毒界被稱為多進程駐留或每進程駐留(Muti-Process Residence or Per-Process Residence )。

  1.2.3截獲系統操作

  截獲系統操作是病毒慣用的伎倆。DOS時代如此,WINDOWS時代也不例外。在DOS下,病毒通過在中斷向量表中修改INT21H的入口地址來截獲DOS系統服務(DOS利用INT21H來提供系統調用,其中包括大量的文件操作)。而大部分引導區病毒會接掛INT13H(提供磁盤操作服務的BIOS中斷)從而取得對磁盤訪問的控制。WINDOWS下的病毒同樣找到了鉤掛系統服務的辦法。比較典型的如CIH病毒就是利用了IFSMGR.VXD(可安裝文件系統)提供的一個系統級文件鉤子來截獲系統中所有文件操作,我會在相關章節中詳細討論這個問題,因為WIN9X下的實時監控也主要利用這個服務。除此之外,還有別的方法。但效果沒有這個系統級文件鉤子好,主要是不夠底層,會丟失一些文件操作。

  其中一個方法是利用APIHOOK,鉤掛API函數。其實系統中并沒有現成的這種服務,有一個SetWindowsHookEx可以鉤住鼠標消息,但對截獲API函數則無能為力。我們能做的是自己構造這樣的HOOK。方法其實很簡單:比如你要截獲Kernel32.dll導出的函數CreateFile,只須在其函數代碼的開頭(BFF7XXXX)加入一個跳轉指令到你的鉤子函數的入口,在你的函數執行完后再跳回來。如下圖所示:

  ;; Target Function(要截獲的目標函數)

  ……

  TargetFunction:(要截獲的目標函數入口)

  jmp DetourFunction(跳到鉤子函數,5個字節長的跳轉指令)

  TargetFunction+5:

  push edi

  ……

  ;; Trampoline(你的鉤子函數)

  ……

  TrampolineFunction:(你的鉤子函數執行完后要返回原函數的地方)

  push ebp

  mov ebp,esp

  push ebx

  push esi(以上幾行是原函數入口處的幾條指令,共5個字節)

  jmp TargetFunction+5(跳回原函數)

  ……

  但這種方法截獲的僅僅是很小一部分文件打開操作。

  在WIN9X下還有一個鮮為人知的截獲文件操作的辦法,說起來這應該算是WIN9X的一大后門。它就是Kernel32.dll中一個未公開的叫做VxdCall0的API函數。反匯編這個函數的代碼如下:

  mov eax,dword ptr [esp+00000004h] ;取得服務代號

  pop dword ptr [esp] ;堆棧修正

  call fword ptr cs:[BFFC9004] ;通過一個調用門調用3B段某處的代碼

  如果我們繼續跟蹤下去,則會看到:

  003B:XXXXXXXX int 30h ;

  這是個用以陷入VWIN32.VXD的保護模式回調

  有關VxdCall的詳細內容,請參看Matt Pietrek的《Windows 95 System Programming Secrets》。

  當服務代號為0X002A0010時,保護模式回調會陷入VWIN32.VXD中一個叫做VWIN32_Int21Dispatch的服務。這正說明了WIN9X還在依賴于MSDos,盡管微軟聲稱WIN9X不再依賴于MSDos。調用規范如下:

  my_int21h:push ecx

  push eax ;類似DOS下INT21H的AX中傳入的功能號

  push 002A0010h

  call dword ptr [ebp+a_VxDCall]

  ret

  我們可以將上面VxdCall0函數的入口處第三條遠調用指令訪問的Kernel32.dll數據段中用戶態可寫地址BFFC9004Υ媧⒌?FWORD'六個字節改為指向我們自己鉤子函數的地址,并在鉤子中檢查傳入服務號和功能號來確定是否是請求VWIN32_Int21Dispatch中的某個文件服務。著名的HPS病毒就利用了這個技術在用戶態下直接截獲系統中的文件操作,但這種方法截獲的也僅僅是一小部分文件操作。

  1.2.4加密變形病毒

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久综合网97色综合| 亚洲成人三级小说| 亚洲婷婷综合久久一本伊一区| 亚洲精品免费一二三区| 五月婷婷激情综合网| 国产在线日韩欧美| 91免费看视频| 日韩免费性生活视频播放| 欧美激情一区二区三区全黄| 亚洲综合视频网| 韩国v欧美v亚洲v日本v| 色伊人久久综合中文字幕| 日韩欧美一级精品久久| 综合久久久久久| 日产国产欧美视频一区精品| 成人小视频在线| 7777精品伊人久久久大香线蕉| 久久久久久久久久电影| 亚洲国产精品久久久男人的天堂 | 91.com在线观看| 久久新电视剧免费观看| 依依成人综合视频| 国产一区二区美女诱惑| 欧美偷拍一区二区| 欧美激情一区在线观看| 日韩电影免费在线| 99精品在线免费| 精品对白一区国产伦| 亚洲小说欧美激情另类| 国产91精品在线观看| 欧美一区二区视频观看视频| 亚洲精品自拍动漫在线| 国产精品正在播放| 91麻豆精品国产综合久久久久久| 中文字幕日韩精品一区| 国内精品第一页| 7777精品久久久大香线蕉| 亚洲三级电影网站| 国产精品一区二区视频| 日韩一级大片在线| 一区二区三区波多野结衣在线观看| 国产电影一区二区三区| 日韩美女一区二区三区四区| 亚洲电影欧美电影有声小说| 99re亚洲国产精品| 国产蜜臀97一区二区三区| 免费成人av在线| 欧美日韩成人综合| 亚洲自拍都市欧美小说| 99久久久无码国产精品| 国产欧美日韩在线| 国产一区二区电影| 欧美tickling网站挠脚心| 丝袜美腿一区二区三区| 欧美在线观看一区| 依依成人精品视频| 91香蕉视频污在线| 日韩毛片在线免费观看| 处破女av一区二区| 国产色一区二区| 9191国产精品| 亚洲一区二三区| 日本乱人伦aⅴ精品| 综合久久一区二区三区| 99re这里都是精品| 亚洲日穴在线视频| 色婷婷av久久久久久久| 亚洲欧美偷拍三级| 色香蕉成人二区免费| 亚洲色图在线看| 91国产成人在线| 亚洲影院久久精品| 欧美日韩国产一级二级| 亚洲成a人片在线观看中文| 欧美日韩在线播放三区四区| 亚洲福利视频一区| 91精品国产综合久久久久 | 日韩欧美一区在线| 美腿丝袜亚洲一区| 精品国产乱码91久久久久久网站| 水蜜桃久久夜色精品一区的特点| 欧美精品电影在线播放| 日本麻豆一区二区三区视频| 日韩欧美自拍偷拍| 国产在线国偷精品免费看| 国产三级久久久| www.日韩大片| 亚洲精品视频在线看| 欧美日韩黄色一区二区| 日本中文字幕不卡| 精品国产百合女同互慰| 高清成人免费视频| 亚洲精品国久久99热| 欧美日韩国产欧美日美国产精品| 青青草国产成人av片免费| 精品国产乱码久久久久久1区2区 | 国产精品免费aⅴ片在线观看| thepron国产精品| 亚洲最新在线观看| 日韩一区二区三区四区| 国产精品一区2区| 国产精品国产成人国产三级| 91传媒视频在线播放| 日本va欧美va欧美va精品| 久久久久久毛片| 色拍拍在线精品视频8848| 人人狠狠综合久久亚洲| 欧美国产视频在线| 91福利小视频| 韩国毛片一区二区三区| 中文字幕日本不卡| 欧美精品一二三四| 欧美精品久久久久久久久老牛影院| 青青草国产成人99久久| 国产精品的网站| 制服丝袜中文字幕亚洲| 成人永久免费视频| 香蕉乱码成人久久天堂爱免费| 精品成人一区二区三区| 色婷婷av一区二区| 久草热8精品视频在线观看| 国产精品久久久久7777按摩| 欧美精品自拍偷拍动漫精品| 成人精品亚洲人成在线| 天天爽夜夜爽夜夜爽精品视频| 久久久不卡影院| 欧美日韩视频一区二区| 丁香激情综合五月| 日韩av电影天堂| 中文字幕一区二| 日韩欧美一区二区久久婷婷| 色综合婷婷久久| 国模冰冰炮一区二区| 亚洲主播在线播放| 中文字幕电影一区| 7777精品伊人久久久大香线蕉超级流畅 | 国产伦精一区二区三区| 亚洲一区二区三区精品在线| 国产色91在线| 欧美二区三区的天堂| 93久久精品日日躁夜夜躁欧美| 久久99精品国产91久久来源| 一级中文字幕一区二区| 日本一区二区视频在线| 欧美一级在线观看| 欧美在线观看视频一区二区| 成人一区在线观看| 久久99热99| 日韩专区在线视频| 亚洲一卡二卡三卡四卡五卡| 中文字幕精品—区二区四季| 亚洲精品在线电影| 欧美一区二区三区在线视频| 中文一区二区完整视频在线观看 | 韩国v欧美v亚洲v日本v| 丝袜美腿亚洲一区二区图片| 亚洲欧美另类小说| 国产精品美女久久久久久久久| 精品久久人人做人人爽| 欧美精品久久99久久在免费线 | 1000精品久久久久久久久| 久久亚洲综合色一区二区三区| 欧美美女一区二区| 欧洲亚洲国产日韩| 国产成人精品免费| 国产又粗又猛又爽又黄91精品| 捆绑紧缚一区二区三区视频 | 日韩欧美亚洲国产另类| 欧美精品在线一区二区三区| 色嗨嗨av一区二区三区| aa级大片欧美| 99视频在线观看一区三区| 成人综合日日夜夜| 国产aⅴ综合色| 高清日韩电视剧大全免费| 国产中文字幕精品| 韩国成人福利片在线播放| 国产在线视视频有精品| 国内国产精品久久| 国产精品综合av一区二区国产馆| 激情文学综合丁香| 国内精品在线播放| 国产乱一区二区| 国产精品一卡二卡| 成人一区二区三区| 波多野结衣中文一区| 99久久综合精品| 91麻豆国产自产在线观看| 日本韩国欧美在线| 欧美视频一区二| 91麻豆精品国产91久久久使用方法| 欧美人牲a欧美精品| 欧美一区二区三区在线电影 | 精品在线观看免费| 国产综合久久久久影院| 国产精品主播直播| 91原创在线视频| 欧美系列一区二区| 欧美一区二区三区爱爱| 精品国产一区久久|