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

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

?? pe-tut7.html

?? 在DOS下編程因為實模式的限制
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
</ol>
<p><font face="MS Sans Serif" size="-1">Now we can turn our attention to the <font color="#FFFFCC"><b>nBase</b></font> 
  member of the<font color="#FFFFCC"><b> IMAGE_EXPORT_DIRECTORY</b></font> structure. 
  You already know that the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
  array contains the addresses of all export symbols in a module. And the PE loader 
  uses the indexes into this array to find the addresses of the functions. Let's 
  imagine the scenario where we use the indexes into this array as the ordinals. 
  Since the programmers can specify the starting ordinal number in .def file, 
  like 200, it means that there must be at least 200 elements in the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
  array. Furthermore the first 200 elements are not used but they must exist so 
  that the PE loader can use the indexes to find the correct addresses. This is 
  not good at all. The <font color="#FFFFCC"><b>nBase</b></font> member exists 
  to solve this problem. If the programmer specifies the starting ordinal of 200, 
  the value in <font color="#FFFFCC"><b>nBase</b></font> would be 200. When the 
  PE loader reads the value in <font color="#FFFFCC"><b>nBase</b></font>, it knows 
  that the first 200 elements do not exist and that it should subtract the ordinal 
  by the value in <font color="#FFFFCC"><b>nBase</b></font> to obtain the true 
  index into the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> array. 
  With the use of <font color="#FFFFCC"><b>nBase</b></font>, there is no need 
  to provide 200 empty elements.</font></p>
<p><font face="MS Sans Serif" size="-1">Note that <font color="#FFFFCC"><b>nBase</b></font> 
  doesn't affect the values in the <font color="#FFFFCC"><b>AddressOfNameOrdinals</b></font> 
  array. Despite the name &quot;<font color="#FFFFCC"><b>AddressOfNameOrdinals</b></font>&quot;, 
  this array contains the true indexes into the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
  array, not the ordinals.</font></p>
<p><font face="MS Sans Serif" size="-1">With the discussion of nBase out of the 
  way, we can continue to the next example.<br>
  Suppose that we have an ordinal of a function and we need to obtain the address 
  of that function, we can do it like this:</font></p>
<ol>
  <li><font face="MS Sans Serif" size="-1">Go to the PE header</font></li>
  <li><font face="MS Sans Serif" size="-1">Obtain the RVA of the export table 
    from the data directory</font></li>
  <li><font face="MS Sans Serif" size="-1">Go to the export table and obtain the 
    value of <font color="#FFFFCC"><b>nBase</b></font>.</font></li>
  <li><font face="MS Sans Serif" size="-1">Subtract the ordinal by the value in 
    nBase and you have the index into the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
    array.</font></li>
  <li><font face="MS Sans Serif" size="-1">Compare the index with the value in 
    <font color="#FFFFCC"> <b>NumberOfFunctions</b></font>. If the index is larger 
    or equal to the value in <font color="#FFFFCC"><b>NumberOfFunctions</b></font>, 
    the ordinal is invalid.</font></li>
  <li><font face="MS Sans Serif" size="-1">Use the index to obtain the RVA of 
    the function in the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
    array.</font></li>
</ol>
<p><font face="MS Sans Serif" size="-1">Note that obtaining the address of a function 
  from an ordinal is much easier and faster than using the name of the function. 
  There is no need to walk the <font color="#FFFFCC"><b>AddressOfNames</b></font> 
  and <font color="#FFFFCC"><b>AddressOfNameOrdinals</b></font> arrays. The performance 
  gain, however, must be balanced against the difficulty in the maintaining the 
  module. </font></p>
<p><font face="MS Sans Serif" size="-1">In conclusion, if you want to obtain the 
  address of a function from its name, you need to walk both <font color="#FFFFCC"><b>AddressOfNames</b></font> 
  and <font color="#FFFFCC"><b>AddressOfNameOrdinals</b></font> arrays to obtain 
  the index into the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> array. 
  If you have the ordinal of the function, you can go directly to the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> 
  array after the ordinal is biased by <font color="#FFFFCC"><b>nBase</b></font>.</font></p>
<p><font face="MS Sans Serif" size="-1">If a function is exported by name, you 
  can use either its name or its ordinal in <font color="#FFFFCC"><b>GetProcAddress</b></font>. 
  But what if the function is exported by ordinal only? We come to that now.<br>
  &quot;A function is exported by ordinal only&quot; means the function doesn't 
  have entries in both <font color="#FFFFCC"><b>AddressOfNames </b></font>and 
  <font color="#FFFFCC"> <b>AddressOfNameOrdinals</b></font> arrays. Remember 
  the two fields, <font color="#FFFFCC"><b>NumberOfFunctions</b></font> and <font color="#FFFFCC"><b>NumberOfNames</b></font>. 
  The existence of these two fields is the evidence that some functions may not 
  have names. The number of functions must be at least equal to the number of 
  names. The functions that don't have names are exported by their ordinals only. 
  For example, if there are 70 functions but only 40 entries in the <font color="#FFFFCC"><b>AddressOfNames</b></font> 
  array, it means there are 30 functions in the module that are exported by their 
  ordinals only. Now how can we find out which functions are exported by ordinals 
  only? It's not easy. You must find that out by exclusion, ie. the entries in 
  the <font color="#FFFFCC"><b>AddressOfFunctions</b></font> array that are <font color="#FF6666"><b>not</b></font> 
  referenced by the <font color="#FFFFCC"><b>AddressOfNameOrdinals</b></font> 
  array contain the RVAs of the functions that are exported by ordinals only.</font></p>
<h3><font face="Arial, Helvetica, sans-serif">Example:</font></h3>
<p><font face="MS Sans Serif" size="-1">This example is similar to the one in 
  the previous tutorial. However, it displays the values of some members of <font color="#FFFFCC"><b>IMAGE_EXPORT_DIRECTORY</b></font> 
  structure and also lists the RVAs, ordinals, and names of the exported functions. 
  Note that this example doesn't list the functions that are exported by ordinals 
  only.</font></p>
<p><font face="Fixedsys">.386 <br>
  .model flat,stdcall <br>
  option casemap:none <br>
  include \masm32\include\windows.inc <br>
  include \masm32\include\kernel32.inc <br>
  include \masm32\include\comdlg32.inc <br>
  include \masm32\include\user32.inc <br>
  includelib \masm32\lib\user32.lib <br>
  includelib \masm32\lib\kernel32.lib <br>
  includelib \masm32\lib\comdlg32.lib <br>
  <br>
  IDD_MAINDLG equ 101 <br>
  IDC_EDIT equ 1000 <br>
  IDM_OPEN equ 40001 <br>
  IDM_EXIT equ 40003 <br>
  <br>
  DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD <br>
  ShowExportFunctions proto :DWORD <br>
  ShowTheFunctions proto :DWORD,:DWORD <br>
  AppendText proto :DWORD,:DWORD </font></p>
<p><font face="Fixedsys"><br>
  SEH struct <br>
  &nbsp;&nbsp; PrevLink dd ? <br>
  &nbsp;&nbsp; CurrentHandler dd ?<br>
  &nbsp;&nbsp; SafeOffset dd ?<br>
  &nbsp;&nbsp; PrevEsp dd ?<br>
  &nbsp;&nbsp; PrevEbp dd ?<br>
  SEH ends <br>
  <br>
  .data <br>
  AppName db "PE tutorial no.7",0 <br>
  ofn OPENFILENAME <> <br>
  FilterString db "Executable Files (*.exe, *.dll)",0,"*.exe;*.dll",0 <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db 
  "All Files",0,"*.*",0,0 <br>
  FileOpenError db "Cannot open the file for reading",0 <br>
  FileOpenMappingError db "Cannot open the file for memory mapping",0 <br>
  FileMappingError db "Cannot map the file into memory",0 <br>
  NotValidPE db "This file is not a valid PE",0 <br>
  NoExportTable db "No export information in this file",0 <br>
  CRLF db 0Dh,0Ah,0 <br>
  ExportTable db 0Dh,0Ah,"======[ IMAGE_EXPORT_DIRECTORY ]======",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "Name 
  of the module: %s",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "nBase: 
  %lu",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "NumberOfFunctions: 
  %lu",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "NumberOfNames: 
  %lu",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "AddressOfFunctions: 
  %lX",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "AddressOfNames: 
  %lX",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "AddressOfNameOrdinals: 
  %lX",0Dh,0Ah,0 <br>
  Header db "RVA Ord. Name",0Dh,0Ah <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db "----------------------------------------------",0 
  <br>
  template db "%lX %u %s",0 <br>
  <br>
  .data? <br>
  buffer db 512 dup(?) <br>
  hFile dd ? <br>
  hMapping dd ? <br>
  pMapping dd ? <br>
  ValidPE dd ? <br>
  <br>
  .code <br>
  start: <br>
  invoke GetModuleHandle,NULL <br>
  invoke DialogBoxParam, eax, IDD_MAINDLG,NULL,addr DlgProc, 0 <br>
  invoke ExitProcess, 0 <br>
  <br>
  DlgProc proc hDlg:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD <br>
  .if uMsg==WM_INITDIALOG <br>
  &nbsp;&nbsp; invoke SendDlgItemMessage,hDlg,IDC_EDIT,EM_SETLIMITTEXT,0,0 <br>
  .elseif uMsg==WM_CLOSE <br>
  &nbsp;&nbsp; invoke EndDialog,hDlg,0 <br>
  .elseif uMsg==WM_COMMAND <br>
  &nbsp;&nbsp; .if lParam==0 <br>
  &nbsp;&nbsp;&nbsp;&nbsp; mov eax,wParam <br>
  &nbsp;&nbsp;&nbsp;&nbsp; .if ax==IDM_OPEN <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke ShowExportFunctions,hDlg <br>
  &nbsp;&nbsp;&nbsp;&nbsp; .else ; IDM_EXIT <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SendMessage,hDlg,WM_CLOSE,0,0 <br>
  &nbsp;&nbsp;&nbsp;&nbsp; .endif <br>
  &nbsp;&nbsp;&nbsp;.endif <br>
  .else <br>
  &nbsp;&nbsp; mov eax,FALSE <br>
  &nbsp;&nbsp; ret <br>
  .endif <br>
  mov eax,TRUE <br>
  ret <br>
  DlgProc endp <br>
  <br>
  SEHHandler proc uses edx pExcept:DWORD, pFrame:DWORD, pContext:DWORD, pDispatch:DWORD 
  <br>
  mov edx,pFrame <br>
  assume edx:ptr SEH <br>
  mov eax,pContext <br>
  assume eax:ptr CONTEXT <br>
  push [edx].SafeOffset <br>
  pop [eax].regEip <br>
  push [edx].PrevEsp <br>
  pop [eax].regEsp <br>
  push [edx].PrevEbp <br>
  pop [eax].regEbp <br>
  mov ValidPE, FALSE <br>
  mov eax,ExceptionContinueExecution <br>
  ret <br>
  SEHHandler endp <br>
  <br>
  ShowExportFunctions proc uses edi hDlg:DWORD <br>
  LOCAL seh:SEH <br>
  mov ofn.lStructSize,SIZEOF ofn <br>
  mov ofn.lpstrFilter, OFFSET FilterString <br>
  mov ofn.lpstrFile, OFFSET buffer <br>
  mov ofn.nMaxFile,512 <br>
  mov ofn.Flags, OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_LONGNAMES or OFN_EXPLORER 
  or OFN_HIDEREADONLY <br>
  invoke GetOpenFileName, ADDR ofn <br>
  .if eax==TRUE <br>
  &nbsp;&nbsp; invoke CreateFile, addr buffer, GENERIC_READ, FILE_SHARE_READ, 
  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL <br>
  &nbsp;&nbsp; .if eax!=INVALID_HANDLE_VALUE <br>
  &nbsp;&nbsp;&nbsp;&nbsp; mov hFile, eax <br>
  &nbsp;&nbsp;&nbsp;&nbsp; invoke CreateFileMapping, hFile, NULL, PAGE_READONLY,0,0,0 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp; .if eax!=NULL <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov hMapping, eax <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke MapViewOfFile,hMapping,FILE_MAP_READ,0,0,0 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if eax!=NULL <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov pMapping,eax <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assume fs:nothing <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push fs:[0] <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop seh.PrevLink <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov seh.CurrentHandler,offset 
  SEHHandler <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov seh.SafeOffset,offset FinalExit 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea eax,seh <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov fs:[0], eax <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov seh.PrevEsp,esp <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov seh.PrevEbp,ebp <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov edi, pMapping <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assume edi:ptr IMAGE_DOS_HEADER 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if [edi].e_magic==IMAGE_DOS_SIGNATURE 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add edi, [edi].e_lfanew 
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assume edi:ptr 
  IMAGE_NT_HEADERS <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .if [edi].Signature==IMAGE_NT_SIGNATURE 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区高清免费观看影视大全 | 中文字幕在线不卡| 国产精品视频第一区| 午夜精品久久久久| 99re在线精品| 久久久久久久久蜜桃| 性久久久久久久| 99久久精品国产观看| 欧美刺激午夜性久久久久久久 | 亚洲成av人片在线观看无码| 欧洲av一区二区嗯嗯嗯啊| 成人黄色小视频在线观看| 欧美午夜不卡在线观看免费| 国产精品日产欧美久久久久| 激情六月婷婷久久| 欧美日韩高清一区二区| 一区二区三区在线看| 成人免费视频国产在线观看| 精品剧情在线观看| 日韩**一区毛片| 欧美精品丝袜中出| 亚洲综合一区二区| 91麻豆免费看片| 中文字幕一区二区在线播放| 丰满少妇在线播放bd日韩电影| 精品欧美一区二区久久| 人人狠狠综合久久亚洲| 欧美日韩极品在线观看一区| 亚洲精品国产成人久久av盗摄| 久久精品国产亚洲aⅴ| 欧美老年两性高潮| 亚洲成人资源在线| 欧美日韩另类一区| 亚洲国产成人tv| 91麻豆精东视频| 亚洲三级免费电影| 99久久99久久久精品齐齐| 中文字幕免费在线观看视频一区| 爽好久久久欧美精品| 欧美日韩高清不卡| 婷婷综合五月天| 91麻豆精品国产91久久久久久久久| 亚洲高清免费观看高清完整版在线观看 | 毛片一区二区三区| 欧美变态tickling挠脚心| 蜜桃视频在线一区| 欧美成人一区二区| 国产精品1024| 日韩一区二区高清| 成人午夜视频在线观看| 国产网站一区二区| 成人激情校园春色| 成人免费在线播放视频| 色婷婷综合五月| 亚洲国产婷婷综合在线精品| 欧美日本高清视频在线观看| 麻豆国产精品视频| 国产日韩高清在线| 95精品视频在线| 午夜欧美一区二区三区在线播放| 欧美一区二区三区白人| 国产麻豆日韩欧美久久| 亚洲图片欧美激情| 制服丝袜av成人在线看| 国产成人精品一区二| 一区二区三区不卡在线观看| 精品国产乱码久久久久久牛牛| 成人av在线播放网址| 亚洲v精品v日韩v欧美v专区| 在线播放国产精品二区一二区四区| 久久99精品久久久久久国产越南| 国产精品久久久久久久久快鸭 | 欧美日韩亚洲高清一区二区| 激情文学综合网| 一区二区三区在线视频免费观看| 日韩网站在线看片你懂的| 不卡的电影网站| 美女脱光内衣内裤视频久久网站| 中文字幕亚洲综合久久菠萝蜜| 在线电影院国产精品| 成人激情免费网站| 日韩av高清在线观看| 亚洲色大成网站www久久九九| 日韩一级免费观看| 在线观看国产精品网站| 国产成人在线免费观看| 视频在线观看91| 亚洲男帅同性gay1069| 久久久久国产一区二区三区四区| 欧美视频一区二区三区| 99热精品一区二区| 毛片av一区二区三区| 亚洲综合免费观看高清完整版 | 首页国产欧美日韩丝袜| 国产精品麻豆久久久| 2023国产一二三区日本精品2022| 欧美综合色免费| 99综合电影在线视频| 国产一二三精品| 蜜桃av噜噜一区| 日韩高清国产一区在线| 午夜视频久久久久久| 亚洲一二三级电影| 亚洲女人****多毛耸耸8| 中文字幕免费一区| 中文字幕欧美日本乱码一线二线| 精品国产a毛片| 日韩欧美国产综合在线一区二区三区| 欧美综合亚洲图片综合区| 色婷婷综合久久久中文一区二区| 成人免费视频网站在线观看| 国产成人免费视| 国产成人丝袜美腿| 国产suv精品一区二区6| 国产成人免费网站| 成人一区二区视频| 成人h动漫精品一区二| av电影天堂一区二区在线| 成人开心网精品视频| av在线播放成人| 91亚洲国产成人精品一区二三 | 偷窥国产亚洲免费视频| 三级欧美在线一区| 另类小说综合欧美亚洲| 韩国一区二区在线观看| 国产美女一区二区| 粉嫩久久99精品久久久久久夜 | 一区二区三区免费在线观看| 一区二区三区在线视频播放| 亚洲大片精品永久免费| 偷拍与自拍一区| 韩国av一区二区三区在线观看| 国产激情偷乱视频一区二区三区| 成人激情小说网站| 91久久精品国产91性色tv| 欧美色倩网站大全免费| 日韩一区二区在线观看| 国产亚洲人成网站| 亚洲图片欧美激情| 日韩电影网1区2区| 国产盗摄一区二区| 91福利视频久久久久| 91精品国产综合久久精品app | 欧美理论在线播放| 久久久久久久久蜜桃| 亚洲欧美日韩在线不卡| 日本午夜精品一区二区三区电影| 国产乱码精品一区二区三区五月婷| 成人99免费视频| 欧美一区二区三区成人| 国产精品拍天天在线| 亚洲成人一区在线| 风流少妇一区二区| 欧美日本在线一区| 国产色综合一区| 日一区二区三区| 不卡免费追剧大全电视剧网站| 欧美日韩国产免费一区二区 | 精品噜噜噜噜久久久久久久久试看 | 日韩欧美自拍偷拍| 中文字幕日韩一区二区| 蜜桃一区二区三区四区| 在线观看视频一区二区| 国产视频在线观看一区二区三区 | 一区二区三区**美女毛片| 国产精品一区一区| 在线播放欧美女士性生活| 18成人在线观看| 国产精品一二三四区| 欧美一区二区视频观看视频| 亚洲人123区| 国产精品一区二区果冻传媒| 欧美另类高清zo欧美| 九一九一国产精品| 国产精品国产a| 蜜臀久久99精品久久久画质超高清| 国产91精品露脸国语对白| 日韩一区二区高清| 亚洲专区一二三| 91视频你懂的| 中文字幕+乱码+中文字幕一区| 看电视剧不卡顿的网站| 欧美婷婷六月丁香综合色| 国产精品免费av| 国产福利精品导航| 亚洲精品在线免费观看视频| 午夜精品在线视频一区| 日本高清不卡视频| 中文字幕视频一区| 成人福利在线看| 中文字幕精品一区二区三区精品| 久久99精品久久久| 欧美一区二区三区视频| 天堂蜜桃一区二区三区| 欧美精选午夜久久久乱码6080| 亚洲裸体xxx| 91在线免费播放| 亚洲天堂久久久久久久| www.欧美精品一二区| 国产精品久久久久久久久动漫|