国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項目 服務(wù)報價 維修流程 IT外包服務(wù) 服務(wù)器維護 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
[原創(chuàng)] 詳解Safengine Shielden 2.3.8.0 脫殼分析

作者: xiaohang99  日期:2017-04-13 12:12:50   來源: 本站整理

         SE 2.3.8.0目前已知的最大反調(diào)試手段就是anti斷點,主要是anti了硬件斷點和int3軟斷點,加殼后無法對被加殼的程序下斷,客觀上提高了脫殼的難度,所以第一步是要想辦法把anti斷點去掉。
我的思路
         int3軟斷點的anti必然是基于內(nèi)存效驗的方法(int3軟斷點需要修改內(nèi)存代碼),對殼代碼進行hash效驗保護,如若發(fā)現(xiàn)內(nèi)存有被修改,則結(jié)束進程。如果要patch掉內(nèi)存hash效驗,必須知道hash代碼的位置,由于SE的垃圾混淆代碼很多,更本不可能通過搜索的方式獲取,最好的辦法就是用硬件斷點下一個讀取斷,所以問題就是要先修復(fù)硬件斷點。
對于硬件斷點,SE采用的是先通過SetThreadContext設(shè)置四個DRx寄存器為1byte讀取特定地址的斷點,然后通過在虛擬機中構(gòu)造讀取特定地址以產(chǎn)生異常,再用SEH handler處理異常,并檢測DRx寄存器的值。如果該產(chǎn)生異常的時候沒有產(chǎn)生異常,又或者DRx的值不為先前SetThreadContext設(shè)定的值,那么就退出進程。
         對于內(nèi)存斷點反anti,暫時沒有思路,還需要繼續(xù)研究。
處理過程
先獲取SE對DRx設(shè)置的值。
1、先在KiUserExceptionDispatcher下斷
2、斷下兩次后記錄 

[Asm] 純文本查看 復(fù)制代碼
1
[esp+0x14] = 0012F7FC   00E8A7CA  unpackme.00E8A7CA  //異常產(chǎn)生的位置,就是后面的vm:ds[imm]位置

3、CPU窗口中顯示調(diào)試寄存器
         DR0 =00E57016
         DR1 =00E57000
         DR2 =00E57004
         DR3 = 00E57008
         DR7 = 33330555
Patch  Shadow_CreateThread
由于SE會產(chǎn)生數(shù)個線程來進行反調(diào)試檢測,內(nèi)存完整性檢測等,為了減少干擾項,把SE創(chuàng)建的檢測線程先patch掉,不讓他啟動,可能會對后面的程序運行有副作用,但是便于我一開始的脫殼調(diào)試。
         PS: SE會把NTDLL.dll 和krenel32.dll中的一些代碼Shadow到一段自己分配的空間中,所以需要利用內(nèi)存搜索的方法,搜索特定代碼找到這些被Shadow的API。

  • 先在KiUserExceptionDispatcher下斷
  • 第一次斷下后,搜索特征代碼


#8BFF558BECFF751CFF7518FF7514FF7510FF750CFF75086AFFE8????????5DC21800#
搜索到的代碼:
                           

[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
00D1FB55   8BFF         mov   edi, edi     ;改成 ret 18
00D1FB57   55           push  ebp
00D1FB58   8BEC         mov   ebp, esp
00D1FB5A   FF75 1C      push  dword ptr [ebp+1C]
00D1FB5D   FF75 18      push  dword ptr [ebp+18]
00D1FB60   FF75 14      push  dword ptr [ebp+14]
00D1FB63   FF75 10      push  dword ptr [ebp+10]
00D1FB66   FF75 0C      push  dword ptr [ebp+C]
00D1FB69   FF75 08      push  dword ptr [ebp+8]
00D1FB6C   6A FF        push  -1
00D1FB6E   E8 D9FDFFFF  call  00D1F94C
00D1FB73   5D           pop   ebp
00D1FB74   C2 1800      ret   18
  • 修改函數(shù)開頭位置為ret1800D1FB55   8BFF        mov   edi, edi      ;改成 ret 18



Patch Shadow_GetThreadContext
         SE會調(diào)用Shadow_GetThreadContext來檢測是否存在調(diào)試軟件下的硬件斷點,如果有就會退出進程。

  • 在剛才搜索到Shadow_CreateThread的內(nèi)存段內(nèi)搜索特征代碼:


#8BFF558BECFF750CFF7508FF15????????85C00F8C??????0033C0405DC208009090909090#
搜索到的代碼:

[Asm] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
01888ABF    8BFF            mov     edi, edi
01888AC1    55              push    ebp
01888AC2    8BEC            mov     ebp, esp
01888AC4    FF75 0C         push    dword ptr [ebp+C]
01888AC7    FF75 08         push    dword ptr [ebp+8]
01888ACA    FF15 9E088501   call    dword ptr [185089E] //獲取這里地址
01888AD0    85C0            test    eax, eax
01888AD2    0F8C 89B20000   jl      01893D61
01888AD8    33C0            xor     eax, eax
01888ADA    40              inc     eax
01888ADB    5D              pop     ebp
01888ADC    C2 0800         retn    8
  • 如果直接修改以上代碼會被SE檢測到,我的方法是inline hook 函數(shù)調(diào)用KiFastSystemCall之前的地址(殼另外加載了一塊內(nèi)存)       


[Asm] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
01888ACA    FF15 9E088501   call    dword ptr [185089E] //獲取這里地址
//獲取到的地址標(biāo)準(zhǔn)的ntdll.ZwGetContextThread調(diào)用
0169C597    B8 55000000     mov     eax, 55 //服務(wù)號
0169C59C    BA 00005901     mov     edx, 00390000 //這里改成我自己分配的空間
0169C5A1    FFE2            jmp     edx//跳到我自己分配的空間執(zhí)行
0169C5A3    C2 0800         retn    8




//我構(gòu)造的代碼

[Asm] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
00390000    B8 55000000     mov     eax, 55
00390005    BA 0003FE7F     mov     edx, 7FFE0300
0039000A    FF12            call    dword ptr [edx]
0039000C    50              push    eax
0039000D    8B4424 0C       mov     eax, dword ptr [esp+C]
00390011    8038 10         cmp     byte ptr [eax], 10
00390014    75 16           jnz     short 0039002C
00390016    33D2            xor     edx, edx
00390018    8950 04         mov     dword ptr [eax+4], edx
0039001B    8950 08         mov     dword ptr [eax+8], edx
0039001E    8950 0C         mov     dword ptr [eax+C], edx
00390021    8950 10         mov     dword ptr [eax+10], edx
00390024    52              push    edx
00390025    6A 06           push    6
00390027    E8 299C477C     call    kernel32.TlsSetValue
0039002C    58              pop     eax
0039002D    C2 0800         retn    8



殼總是會判斷這 TlsValue 是否等于 Dr0+Dr1+Dr2+Dr3 之 Total 值
我們在殼欲取得 Drx 的值時,將之清為 0,并設(shè) TlsValue 為 0

至于 SetTlsValue 的 Index 應(yīng)為多少才對, 很多方法可以得知.
例如斷 Shadow 的 SetTlsValue ,XP SP2 用的 Index 是 4 , XP SP3 則是 6

Hook ExecuteHandler2
         這里是重頭戲,反anti 硬件斷點必須從這里開始,由于殼會檢測異常信息中的DRx寄存器,所以我們必須在SE 的SEH handler被調(diào)用前,給_CONTEXT結(jié)構(gòu)中的DRx賦予之前獲得的特定值。
_CONTEXT結(jié)構(gòu)如下:
typedef struct _CONTEXT
{
    DWORD ContextFlags;
    DWORD   Dr0;
    DWORD   Dr1;
    DWORD   Dr2;
    DWORD   Dr3;
    DWORD   Dr6;
    DWORD   Dr7;
    FLOATING_SAVE_AREA FloatSave;
    DWORD   SegGs;
    DWORD   SegFs;
    DWORD   SegEs;
    DWORD   SegDs;
    DWORD   Edi;
    DWORD   Esi;
    DWORD   Ebx;
    DWORD   Edx;
    DWORD   Ecx;
    DWORD   Eax;
    DWORD   Ebp;
    DWORD   Eip;
    DWORD   SegCs;
    DWORD   EFlags;
    DWORD   Esp;
    DWORD   SegSs;
}CONTEXT;

typedef struct _FLOATING_SAVE_AREA
{
    ULONG ControlWord;
    ULONG StatusWord;
    ULONG TagWord;
    ULONG ErrorOffset;
    ULONG ErrorSelector;
    ULONG DataOffset;
    ULONG DataSelector;
    UCHAR RegisterArea[80];
    ULONG Cr0NpxState;
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;

  • 在NTDLL.dll的CODE段中搜索特征碼


#558BECFF750C5264FF350000000064892500000000FF7514FF7510FF750CFF75#
搜索到的代碼:

[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
.text:7C923282                 push    ebp
.text:7C923283                 mov     ebp, esp
.text:7C923285                 push    [ebp+arg_4]
.text:7C923288                 push    edx            ; 如果定義的異常處理handle中出錯,這個handle是最終處理者
.text:7C923289                 push    large dword ptr fs:0
.text:7C923290                 mov     large fs:0, esp
.text:7C923297                 push    [ebp+arg_C]
.text:7C92329A                 push    [ebp+arg_8]
.text:7C92329D                 push    [ebp+arg_4]
.text:7C9232A0                 push    [ebp+arg_0]
.text:7C9232A3                 mov     ecx, [ebp+arg_10]
.text:7C9232A6                 call    ecx            ; _except_handler(
.text:7C9232A6                                        ;     struct _EXCEPTION_RECORD *ExceptionRecord,
.text:7C9232A6                                        ;     void * EstablisherFrame,
.text:7C9232A6                                        ;     struct _CONTEXT *ContextRecord,
.text:7C9232A6                                        ;     void * DispatcherContext )
.text:7C9232A8                 mov     esp, large fs:0
.text:7C9232AF                 pop     large dword ptr fs:0
.text:7C9232B6                 mov     esp, ebp
.text:7C9232B8                 pop     ebp
.text:7C9232B9                 retn    14h
  • 構(gòu)造inline hook 代碼


[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
[/font][/color]
[color=black]/[/color][color=black]/ hook executehandler2
7C99AFC0    E8 00000000     call    7C99AFC5
7C99AFC5    5B              pop     ebx
7C99AFC6    83EB 05         sub     ebx, 5 
7C99AFC9    81EB 00060000   sub     ebx, 600   //減出myexceptionhandle的地址
7C99AFCF    3B8B FC0F0000   cmp     ecx, dword ptr [ebx+FFC] //比較是否是SE的SEHhandler
7C99AFD5    75 02           jnz     short 7C99AFD9
7C99AFD7    8BCB            mov     ecx, ebx //是的話就HOOK,否則放過
7C99AFD9    33DB            xor     ebx, ebx
7C99AFDB    FFD1            call    ecx
7C99AFDD    64:8B25 0000000>mov     esp, dword ptr fs:[0]
7C99AFE4    64:8F05 0000000>pop     dword ptr fs:[0]
7C99AFEB    8BE5            mov     esp, ebp
7C99AFED    5D              pop     ebp
7C99AFEE    C2 1400         retn    14



E8 00 00 00 00 5B 83 EB 05 81 EB 00 0600 00 3B 8B FC 0F 00 00 75 02 8B CB 33 DB FF D1 64 8B 2500 00 00 00 64 8F 05 00 00 00 00 8B E55D C2 14 

[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// myexceptionhandle
00401000    60              pushad
00401001    E8 00000000     call    00401006
00401006    5B              pop     ebx
00401007    83EB 06         sub     ebx, 6
0040100A    81C3 00080000   add     ebx, 800
00401010    8BFB            mov     edi, ebx
00401012    8B7424 24       mov     esi, dword ptr [esp+24] //pExceptionRecord
00401016    B9 06000000     mov     ecx, 6
0040101B    F3:A5           rep     movs dword ptr es:[edi], dword ptr [esi]
0040101D    8BFB            mov     edi, ebx
0040101F    83C7 30         add     edi, 30
00401022    8B7424 2C       mov     esi, dword ptr [esp+2C] //pContextRecord
00401026    B9 18000000     mov     ecx, 18
0040102B    F3:A5           rep     movs dword ptr es:[edi], dword ptr [esi]
0040102D    8B83 90000000   mov     eax, dword ptr [ebx+90]
00401033    8D8B A0000000   lea     ecx, dword ptr [ebx+A0]
00401039    C1E0 02         shl     eax, 2
0040103C    03C8            add     ecx, eax
0040103E    8B7424 24       mov     esi, dword ptr [esp+24]
00401042    8B46 0C         mov     eax, dword ptr [esi+C]
00401045    8901            mov     dword ptr [ecx], eax
00401047    FF83 90000000   inc     dword ptr [ebx+90]
0040104D    8D7B 30         lea     edi, dword ptr [ebx+30]
00401050    8B83 E8070000   mov     eax, dword ptr [ebx+7E8] //這里考慮可以在hook setthreadcontext中賦值[/color]
[color=black]
015A0056    8947 04         mov     dword ptr [edi+4], eax
015A0059    8B83 EC070000   mov     eax, dword ptr [ebx+7EC]
015A005F    8947 08         mov     dword ptr [edi+8], eax
015A0062    8B83 F0070000   mov     eax, dword ptr [ebx+7F0]
015A0068    8947 0C         mov     dword ptr [edi+C], eax
015A006B    8B83 F4070000   mov     eax, dword ptr [ebx+7F4]
015A0071    8947 10         mov     dword ptr [edi+10], eax
015A0074    8B83 F8070000   mov     eax, dword ptr [ebx+7F8]
015A007A    8947 18         mov     dword ptr [edi+18], eax
015A007D    8B4424 30       mov     eax, dword ptr [esp+30]
015A0081    8B4C24 28       mov     ecx, dword ptr [esp+28]
015A0085    8D7B 30         lea     edi, dword ptr [ebx+30]
015A0088    50              push    eax
015A0089    57              push    edi
015A008A    51              push    ecx
015A008B    53              push    ebx
015A008C    8B8B FC070000   mov     ecx, dword ptr [ebx+7FC]
015A0092    33C0            xor     eax, eax
015A0094    33DB            xor     ebx, ebx
015A0096    33FF            xor     edi, edi
015A0098    33F6            xor     esi, esi
015A009A    FFD1            call    ecx
015A009C    61              popad
015A009D    C3              retn


60 E8 00 00 00 00 5B 83 EB 06 81 C3 0008 00 00 8B FB 8B 74 24 24 B9 06 00 00 00 F3 A5 8B FB 83 C7 30 8B 74 24 2C B9 18 00 00 00 F3 A58B 83 90 00 00 00 8D 8B A0 00 00 00 C1 E0 02 03 C8 8B 7424 24 8B 46 0C 89 01 FF 83 90 00 00 008D 7B 30 8B 83 E8 07 00 00 89 47 04 8B 83 EC 07 00 00 8947 08 8B 83 F0 07 00 00 89 47 0C 8B 83F4 07 00 00 89 47 10 8B 83 F8 07 00 00 89 47 18 8B 44 2430 8B 4C 24 28 8D 7B 30 50 57 51 53 8B8B FC 07 00 00 33 C0 33 DB 33 FF 33 F6 FF D1 61 C3 00 00

  • Inline Hook ExecuteHandler2Hook在這里.text:7C9232A6                 call    ecx   改成Jmp to // hook executehandler2 



Patch vm:ds[imm]
         這個地址是前面已經(jīng)找到的,由于暫時還沒找到HASH檢測的代碼位置,所以不能直接改代碼,我的方法是,用腳本在這個位置上設(shè)置一個硬件執(zhí)行斷點在,當(dāng)腳本斷下后,腳本自動修改代碼跳轉(zhuǎn)到我們自己分配的空間內(nèi)執(zhí)行一段代碼,在代碼的開頭立即修復(fù)之前被腳本改掉的代碼,然后產(chǎn)生一個single step異常給系統(tǒng),再執(zhí)行之前由于改成跳轉(zhuǎn)沒有執(zhí)行到的程序源碼后跳轉(zhuǎn)到原程序下一行繼續(xù)。
         這個方法是確定是要被占用一個硬件斷點。
以下是我構(gòu)造的代碼:

[Asm] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
//跳轉(zhuǎn)來自0E8A7C8
00390100    60              pushad
00390101    BE 00023900     mov     esi, 390200
00390106    BF C8A7E800     mov     edi, 0E8A7C8
0039010B    B9 05000000     mov     ecx, 5
00390110    F3:A4           rep     movs byte ptr es:[edi], byte ptr [esi] //還原ds[imm]被我修改用來跳轉(zhuǎn)的代碼
00390112    61              popad
00390113    9C              pushfd                     \
00390114    66:810C24 0001  or      word ptr [esp], 100    3條指令用來產(chǎn)生一個80000004 的 EXCEPTION_SINGLE_STEP
0039011A    9D              popfd                      /    就是通過符號位中的單步標(biāo)記來產(chǎn)生一個異常
0039011B    8B10            mov     edx, dword ptr [eax]  --讀取數(shù)值,由于硬件執(zhí)行斷點的那行沒有執(zhí)行
0039011D  - E9 A8A6AF00     jmp     喬巴.00E8A7CA      --返回執(zhí)行下一行代碼



Patch Shadow_SetThreadContext
  為了防止硬件斷點被覆蓋,這個Shadow函數(shù)必須Patch掉,當(dāng)然,如果前面的部分沒有Patch 而直接來改這個函數(shù),SE就不會獲得需要檢測的異常,造成程序的退出。
1、搜索代碼
通過之前patch Shadow_GetThreadContext獲得的調(diào)用KiFastSystemCall前代碼區(qū)域,查找調(diào)用服務(wù)號為0D5 的調(diào)用,

  • 修改代碼只需要把跳入KiFastSystemCall的位置直接nop掉就行


FFE2            jmp     edx// 這里是跳入KiFastSystemCall,直接nop 

Patch掉HASH 計算
         通過上面幾步,現(xiàn)在我可以下硬件斷點了,能斷下來的第一件事,當(dāng)然是找HASH效驗代碼。

  • 在前面vm:ds[imm]的位置后面幾行下個硬件讀取斷點斷下之后:


[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
[font=Calibri][color=#000000].sedata:00E6323F                 push    esi
.sedata:00E63240[/color][/font]
[font=Calibri][color=#000000].sedata:00E63240 loc_E63240:                            ; CODE XREF: .sedata:00E6324Ej
.sedata:00E63240                 movzx   esi, byte ptr [ecx+edx]
.sedata:00E63244                 rol     eax, 7 //斷在這里
.sedata:00E63247                 xor     eax, esi
.sedata:00E63249                 inc     ecx[/color][/font]
[font=Calibri][color=#000000].sedata:00E6324A                 cmp     ecx, [esp+8]
.sedata:00E6324E                 jb      short loc_E63240
.sedata:00E63250                 pop     esi
.sedata:00E63251                 jmp     short locret_E6325C
  • Run Trace 后獲得整個循環(huán)體,直接找到跳出循環(huán)的位置來到這里:


[Asm] 純文本查看 復(fù)制代碼

1
2
3
4
00E63247 Main     xor     eax, esi                         ; FL=PZ, EAX=F4E889ED, ECX=00093F9F, ESI=000000D0[/font][/color]
[color=#000000][font=Calibri]00E63250 Main     pop     esi                               ; ESP=0012FEC8, ESI=F4E889ED
00E63251 Main     jmp     short 00E6325C
00E6325C Main     retn    4                                 ; ESP=0012FED0            //hash 值保存在eax
  • 重新加載幾次之后,發(fā)現(xiàn)HASH計算的參數(shù)和結(jié)果是不變的,我只能說,呵呵


檢測開始位置:0E7C91D
檢測大小:       0093F9F
返回EAX:    F4E889ED
         

  • 偷懶直接patch 掉

//------ Fix HASH------

[Asm] 純文本查看 復(fù)制代碼

01
02
03
04
05
06
07
08
09
10
11
12
00E63240    B8 ED89E8F4     mov     eax, F4E889ED
00E63245    90              nop
00E63246    90              nop
00E63247    90              nop
00E63248    90              nop
00E63249    90              nop
00E6324A    90              nop
00E6324B    90              nop
00E6324C    90              nop
00E6324D    90              nop
00E6324E    90              nop
00E6324F    90              nop
 


熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    孩xxxx性bbbb欧美| xxxxxwwww免费视频| 亚洲一区精品在线| 国产视频一区二区在线播放| 999福利视频| 欧美成人性福生活免费看| 中文字幕日韩欧美精品高清在线| 99re99| 波多野结衣 在线| 国产视频精品久久久| 久久国产精品99精品国产| 性直播体位视频在线观看| 亚洲精品久久久久久久久久| 国产熟女高潮视频| 欧美激情一区二区三区久久久| 国产精品污污网站在线观看| 97精品中文字幕| 在线播放麻豆| 四虎影视成人永久免费观看视频| 亚洲国产无码精品| 日本在线一二三区| 亲子乱一区二区三区电影| 亚洲成人免费av| 影音先锋久久资源网| 国产一二区在线观看| 人妻视频一区二区三区| 95视频在线观看| 久久综合久久久| 中文字幕自拍vr一区二区三区| 欧美国产精品一区二区三区| 国产在线观看一区二区| 麻豆精品av| 欧美新色视频| 最近中文字幕av免费高清| 精品人妻少妇嫩草av无码| 成年人三级黄色片| 蜜桃免费一区二区三区| 成人午夜两性视频| 日韩精品一区二区三区在线观看| 亚洲午夜激情av| 亚洲一区二区美女| 一区二区激情视频| 久久99久久99| 日韩中文字幕区一区有砖一区| 色婷婷成人网| 在线观看免费国产小视频| 亚洲人妻一区二区三区| 国产探花视频在线| 中文字幕日本最新乱码视频| 91九色在线视频| 亚洲一区www| 一本色道**综合亚洲精品蜜桃冫| 国产在线日韩欧美| 国产一区二区三区免费观看| 激情欧美一区二区| 国产高清久久| 免费欧美电影| 毛片在线免费| 香蕉青柠影院| 亚洲第一页在线观看| 乱色精品无码一区二区国产盗| 精品国产欧美日韩不卡在线观看 | 中文字幕精品—区二区| 中文字幕日本精品| 午夜精品三级视频福利| 日韩国产精品亚洲а∨天堂免| 亚洲自拍偷拍av| 精品国产户外野外| 欧美国产日韩一二三区| 男男成人高潮片免费网站| 国产成人三级| 成人日韩视频| 婷婷成人综合| 成人亚洲视频| 999精品网| 欧美高清成人| 9lporm自拍视频区在线| 国产高清视频一区二区| 精品国产视频| 欧美自拍一区| 国产乱码精品一区二区三区亚洲人| 日韩高清在线观看一区二区| 日韩性xxx| 国产在线69| 日韩欧美一区二区三区免费观看| 成人看片爽爽爽| 欧美日一区二区三区| 国产一二区在线| 亚洲一区站长工具| 午夜小视频福利在线观看| 欧美日一区二区三区| 禁断一区二区三区在线| 葵司免费一区二区三区四区五区| 亚洲无毛电影| 狠狠色综合网| 国产一区二区日韩精品| 亚洲美女免费在线| 综合久久久久综合| 国产视频一区二区在线| 本田岬高潮一区二区三区| 男女激情视频一区| 国产精品家庭影院| 国产精品视频一二三区| 色琪琪一区二区三区亚洲区| 亚洲精品免费视频| 日韩女同互慰一区二区| 欧美诱惑福利视频| 欧美自拍视频在线| 日韩欧美在线一区二区| 婷婷亚洲婷婷综合色香五月| 日本一区网站| 小说区视频区图片区| 一区二区精品国产| 亚洲国产一二三精品无码| 亚洲永久一区二区三区在线| 成人av毛片在线观看| 欧美体内she精高潮| 香蕉视频1024| 日韩人妻一区二区三区| 国产特黄一级片| 婷婷在线免费观看| 蝴蝶中文综合娱乐网| 亚洲一卡2卡三卡4卡2021四卡| 亚洲va在线va天堂成人| 天堂网av在线播放| 久久久亚洲精华液精华液精华液| 三上悠亚在线观看| 91大神在线观看线路一区| 亚洲国产第一| 亚洲成a人片在线观看中文| 精品国产欧美成人夜夜嗨| 日韩一二三在线视频播| 国产精品视频在线免费观看| 欧美性xxxx69| 久久国产精品网| 免费在线观看毛片网站| 国产人妻精品午夜福利免费| 最近中文字幕免费在线观看| 亚洲av无码乱码国产麻豆| 黄色毛片av| av网址在线看| 男人天堂久久| 精品美女久久久| 国产日韩综合av| 日韩视频永久免费观看| 日韩精品第1页| 亚洲午夜激情影院| 亚洲一区二区色| 午夜一区在线观看| 东凛在线观看| 992tv国产精品成人影院| 亚洲国产日本| 菠萝蜜视频在线观看一区| 亚洲成人久久久| 538国产精品一区二区在线| 免费毛片网站在线观看| 中文字幕在线播放av| 国产在线观看色| 中文字幕国产在线| 综合日韩av| 奇米色777欧美一区二区| 国产精品嫩草影院av蜜臀| 色域天天综合网| 成人黄色午夜影院| 人妻体内射精一区二区| 美乳美女在线观看香蕉| 午夜伦全在线观看| 成人在线视频免费| 成人手机电影网| 欧美视频精品在线| 日韩在线观看av| 日本国产在线播放| 黄色片网站在线播放| bbw丰满大肥奶肥婆| 2018av在线| 久久99久久精品欧美| 久久天天躁狠狠躁夜夜躁| 麻豆精品传媒视频| 青青草原在线免费观看视频| 中文字幕第一页在线| 精品国产免费人成网站| 亚洲国产99| 精品免费日韩av| 91免费人成网站在线观看18| 中国女人特级毛片| 成人久久在线| 欧美高清免费| 亚洲欧美一区二区视频| 亚洲xxxx做受欧美| 久激情内射婷内射蜜桃| 蜜桃视频久久一区免费观看入口| 国产精品高清乱码在线观看| 久久亚洲二区三区| 精品国产a毛片| 91午夜在线播放| 黄色在线观看免费| 九九免费视频| 日韩精品欧美激情一区二区| 中文字幕一区二区三区四区不卡| 国产精品女视频|