精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS符號表恢復&逆向支付寶

移動開發 iOS
本文介紹了恢復符號表的技巧,并且利用該技巧實現了在 Xcode 中對目標程序下符號斷點調試,該技巧可以顯著地減少逆向分析時間。在文章的最后,作者以支付寶為例,展示出通過在 UIAlertView 的 show 方法處下斷點,從而獲得支付寶的調用棧的過程。

推薦序

本文介紹了恢復符號表的技巧,并且利用該技巧實現了在 Xcode 中對目標程序下符號斷點調試,該技巧可以顯著地減少逆向分析時間。在文章的***,作者以支付寶為例,展示出通過在 UIAlertView 的 show 方法處下斷點,從而獲得支付寶的調用棧的過程。

本文涉及的代碼也開源在:https://github.com/tobefuturer/restore-symbol,歡迎 Star 和提 Issue。感謝作者授權發表。

作者介紹:楊君,中山大學計算機系研究生,iOS 開發者,擅長領域 iOS 安全和逆向工程,個人博客:http://blog.imjun.net 。

前言

符號表歷來是逆向工程中的 “必爭之地”,而 iOS 應用在上線前都會裁去符號表,以避免被逆向分析。

本文會介紹一個自己寫的工具,用于恢復 iOS 應用的符號表。

直接看效果 , 支付寶恢復符號表后的樣子:   

 

文章有點長,請耐心看到***,亮點在***。

為什么要恢復符號表

逆向工程中,調試器的動態分析是必不可少的,而 Xcode + lldb 確實是非常好的調試利器 , 比如我們在 Xcode 里可以很方便的查看調用堆棧,如上面那張圖可以很清晰的看到支付寶登錄的 RPC 調用過程。

實際上,如果我們不恢復符號表的話,你看到的調試頁面應該是下面這個樣子: 

 

同一個函數調用過程,Xcode 的顯示簡直天差地別。

原因是,Xcode 顯示調用堆棧中符號時,只會顯示符號表中有的符號。為了我們調試過程的順利,我們有必要把可執行文件中的符號表恢復回來。

符號表是什么

我們要恢復符號表,首先要知道符號表是什么,他是怎么存在于 Mach-O 文件中的。

符號表儲存在 Mach-O 文件的 __LINKEDIT 段中,涉及其中的符號表(Symbol Table)和字符串表(String Table)。

這里我們用 MachOView 打開支付寶的可執行文件,找到其中的 Symbol Table 項。 

 

符號表的結構是一個連續的列表,其中的每一項都是一個 struct nlist。

  1. //  位于系統庫 <macho-o/nlist.h> 頭文件中 
  2. struct nlist {   
  3.   union {   
  4.     // 符號名在字符串表中的偏移量 
  5.     uint32_t n_strx;   
  6.   } n_un; 
  7.   uint8_t n_type; 
  8.   uint8_t n_sect; 
  9.   int16_t n_desc;   
  10.   // 符號在內存中的地址,類似于函數指針 
  11.   uint32_t n_value; 
  12. };  

這里重點關注***項和***一項,***項是符號名在字符串表中的偏移量,用于表示函數名,***一項是符號在內存中的地址,類似于函數指針(這里只說明大概的結構,詳細的信息請參考官方 Mach O 文件格式的文檔)。

也就是說如果我們知道了符號名和內存地址的對應關系,我們是可以根據這個結構來逆向構造出符號表數據的。

知道了如何構造符號表,下一步就是收集符號名和內存地址的對應關系了。

獲取 OC 方法的符號表

因為 OC 語言的特性,編譯器會將類名、函數名等編譯進***的可執行文件中,所以我們可以根據 Mach-O 文件的結構逆向還原出工程里的所有類,這也就是大名鼎鼎的逆向工具 class-dump 了。class-dump 出來的頭文件里是有函數地址的: 

 

所以我們只要對 class-dump 的源碼稍作修改,即可獲取我們要的信息。

符號表恢復工具

整理完數據格式,又理清了數據來源,我們就可以寫工具了。

實現過程就不詳細說明了,工具開源在我的 Github 上了,鏈接:

https://github.com/tobefuturer/restore-symbol

我們來看看怎么用這個工具:

1. 下載源碼編譯

  1. git clone --recursive https://github.com/tobefuturer/restore-symbol.git 
  2. cd restore-symbol && make 
  3. ./restore-symbol  

2. 恢復 OC 的符號表,非常簡單

  1. ./restore-symbol ./origin_AlipayWallet -o ./AlipayWallet_with_symbol 

origin_AlipayWallet 為 Clutch 砸殼后,沒有符號表的 Mach-O 文件

-o 后面跟輸出文件位置

3. 把 Mach-O 文件重簽名打包,看效果

文件恢復符號表后,多出了 20M 的符號表信息   

 

Xcode 里查看調用棧 

 

可以看到,OC 函數這部分的符號已經恢復了,函數調用棧里已經能看出大致的調用過程了,但是支付寶里,采用了 block 的回調形式,所以還有很大一部分的符號沒能正確顯示。

下面我們就來看看怎么樣恢復這部分 block 的符號。

獲取 block 的符號信息

還是同樣的思路,要恢復 block 的符號信息,我們必須知道 block 在文件中的儲存形式。

block 在內存中的結構

首先,我們先分析下運行時,block 在內存中的存在形式。block 在內存中是以一個結構體的形式存在的,大致的結構如下:

  1. struct __block_impl {   
  2.   /** 
  3.   block 在內存中也是類 NSObject 的結構體, 
  4.   結構體開始位置是一個 isa 指針 
  5.   */ 
  6.   Class isa;   
  7.   /** 這兩個變量暫時不關心 */ 
  8.   int flags;  int reserved;   
  9.   /** 
  10.   真正的函數指針??! 
  11.   */ 
  12.   void (*invoke)(...); 
  13.   ... 
  14.  

說明下 block 中的 isa 指針,根據實際情況會有三種不同的取值,來表示不同類型的 block:

  1. _NSConcreteStackBlock

棧上的 block,一般 block 創建時是在棧上分配了一個 block 結構體的空間,然后對其中的 isa 等變量賦值。

     2._NSConcreteMallocBlock

堆上的 block,當 block 被加入到 GCD 或者被對象持有時,將棧上的 block 復制到堆上,此時復制得到的 block 類型變為了 _NSConcreteMallocBlock。

     3._NSConcreteGlobalBlock

全局靜態的 block,當 block 不依賴于上下文環境,比如不持有 block 外的變量、只使用 block 內部的變量的時候,block 的內存分配可以在編譯期就完成,分配在全局的靜態常量區。

第 2 種 block 在運行時才會出現,我們只關注 1、3 兩種,下面就分析這兩種 isa 指針和 block 符號地址之間的關聯。

block isa 指針和符號地址之間的關聯

分析這部分需要用到 IDA 這個反匯編軟件 , 這里結合兩個實際的小例子來說明:

1._NSConcreteStackBlock

假設我們的源代碼是這樣很簡單的一個 block:

  1. @implementation ViewController 
  2.  
  3. - (void)viewDidLoad { 
  4.     int t = 2; 
  5.     void (^ foo)() = ^(){ 
  6.         NSLog(@"%d", t); //block 引用了外部的變量 t 
  7.     }; 
  8.     foo(); 
  9.  
  10. @end  

編譯完后,實際的匯編長這個樣子: 

 

 

 

實際運行時,block 的構造過程是這樣:

  • 為 block 開辟??臻g
  • 為 block 的 isa 指針賦值(一定會引用全局變量:_NSConcreteStackBlock)
  • 獲取函數地址,賦值給函數指針

所以我們可以整理出這樣一個特征:

重點來了 !!!

凡是代碼里用到了棧上的 block,一定會獲取__NSConcreteStackBlock作為 isa 指針,同時會緊接著獲取一個函數地址,那個函數地址就是 block 的函數地址。

結合下面這個圖,仔細理解上面這句話

(這張圖和上面那張圖是同一個文件,不過裁掉了符號表) 

 

 

 

利用這個特征,逆向分析時我們可以做如下推斷:

在一個 OC 方法里發現引用了__NSConcreteStackBlock這個變量,那么在這附近,一定會出現一個函數地址,這個函數地址就是這個 OC 方法里的一個 block。

比如上面圖中,我們發現 viewDidLoad 里,引用了__NSConcreteStackBlock, 同時緊接著加載了 sub_100049D4 的函數地址,那我們就可以認定 sub_100049D4 是 viewDidLoad 里的一個 block, sub_100049D4 函數的符號名應該是 viewDidLoad_block.

2. _NSConcreteGlobalBlock

全局的靜態 block,是那種不引用 block 外變量的 block,他因為不引用外部變量,所以他可以在編譯期就進行內存分配操作,也不用擔心 block 的復制等等操作,他存在于可執行文件的常量區里。

不太理解的話,看個例子:

我們把源代碼改成這樣:

  1. @implementation ViewController 
  2.  
  3. - (void)viewDidLoad { 
  4.  
  5.     void (^ foo)() = ^(){ 
  6.         //block 不引用外部的變量 
  7.         NSLog(@"%d", 123); 
  8.     }; 
  9.     foo(); 
  10.  
  11. @end  

那么在編譯后會變成這樣: 

 

 

 

那么借鑒上面的思路,在逆向分析的時候,我們可以這么推斷

  • 在靜態常量區發現一個 _NSConcreteGlobalBlock 的引用
  • 這個地方必然存在一個 block 的結構體數據
  • 在這個結構體第 16 個字節的地方會出現一個值,這個值是一個 block 的函數地址

3. block 的嵌套結構

實際在使用中,可能會出現 block 內嵌 block 的情況:

  1. - (void)viewDidLoad { 
  2.   dispatch_async(background_queue ,^{ 
  3.     ... 
  4.     dispatch_async(main_queue, ^{ 
  5.       ...      
  6.     }); 
  7.   }); 
  8.  

所以這里 block 就出現了父子關系,如果我們將這些父子關系收集起來,就可以發現,這些關系會構成圖論里的森林結構,這里可以簡單用遞歸的深度優先搜索來處理,詳細過程不再描述。

block 符號表提取腳本(IDA+python)

整理上面的思路,我們發現搜索過程依賴于 IDA 提供各種引用信息,而 IDA 是提供了編程接口的,可以利用這些接口來提取引用信息。

IDA 提供的是 Python 的 SDK,***完成的腳本也放在倉庫里 search_oc_block/ida_search_block.py (https://github.com/tobefuturer/restore-symbol/blob/master/search_oc_block/ida_search_block.py。

提取 block 符號表

這里簡單介紹下怎么使用上面這個腳本:

  1. 用 IDA 打開支付寶的 Mach-O 文件
  2. 等待分析完成! 可能要一個小時
  3. Alt + F7 或者 菜單欄 File -> Script file... 

 

 

 

    4.等待腳本運行完成,預計 30s 至 60s,運行過程中會有這樣的彈窗 

 

 

 

   5.彈窗消失即 block 符號表提取完成

   6.在 IDA 打開文件的目錄下 , 會輸出一份名為block_symbol.json的 json 格式 block 符號表 

 

 

  

 

 

 

恢復符號表 & 實際分析

用之前的符號表恢復工具,將 block 的符號表導入 Mach-O 文件

  1. ./restore-symbol ./origin_AlipayWallet -o ./AlipayWallet_with_symbol -j block_symbol.json 

-j 后面跟上之前得到的 json 符號表

***得到一份同時具有 OC 函數符號表和 block 符號表的可執行文件

這里簡單介紹一個分析案例 , 你就能體會到這個工具的強大之處了。

1.在 Xcode 里對 -[UIAlertView show] 設置斷點 

 

 

 

2.運行程序,并在支付寶的登錄頁面輸入手機號和 錯誤的密碼 ,點擊登錄

3.Xcode 會在 ‘密碼錯誤’ 的警告框彈出時停下,左側會顯示出這樣的調用棧

一張圖看完支付寶的登錄過程 

 

 

 

項目開源地址:

https://github.com/tobefuturer/restore-symbol

歡迎大家在上面提各種 Issues,或者有問題也可以直接 Email(tobefuturer@gmail.com)。

責任編輯:龐桂玉 來源: iOS開發by唐巧
相關推薦

2021-01-25 14:13:26

iOS支付寶支付

2021-09-09 15:30:28

鴻蒙HarmonyOS應用

2014-11-17 10:52:56

支付寶去阿里化

2009-09-17 12:15:28

互聯網

2018-02-25 11:22:14

SDK代碼接口

2018-03-27 12:02:31

央行支付寶紅包

2011-04-21 11:27:42

Firefox支付寶

2013-10-31 11:24:53

支付寶漏洞支付寶漏洞

2017-12-18 18:23:09

支付寶掃碼賺錢支付寶套路

2009-12-14 16:31:00

Linux安裝支付寶

2009-11-23 10:02:22

PHP支付寶接口

2023-11-28 08:53:15

2025-09-25 09:31:53

2013-10-11 09:41:01

Windows 8.1支付寶

2009-08-26 16:07:09

支付寶網上購物安全邁克菲

2020-08-14 11:00:41

支付寶

2018-11-30 10:40:15

Android壓縮包大小

2021-03-30 09:59:52

支付寶加密數據泄露

2015-05-28 09:52:21

光纖支付寶

2021-05-12 07:10:55

支付寶數字人民幣移動應用
點贊
收藏

51CTO技術棧公眾號

国产精品久久婷婷六月丁香| 欧美电影一区二区| 国产精品视频免费观看| 国产一级大片在线观看| 国产精品白丝av嫩草影院| 一区二区三区欧美亚洲| 国产精品美女黄网| 久草手机在线视频| 欧美wwwww| 日韩免费视频线观看| 欧美日韩黄色一级片| 国产视频在线看| 国产一区二区网址| 81精品国产乱码久久久久久| 永久免费av无码网站性色av| 国模大尺度视频一区二区| 午夜激情综合网| 亚洲砖区区免费| 国产成人手机在线| 蜜臀久久99精品久久久久宅男| 久热99视频在线观看| 中文字幕在线视频播放| 免费一级欧美在线观看视频| 亚洲高清在线视频| 亚洲图片都市激情| 日本一区高清| 国产成人亚洲综合a∨猫咪| 欧美与欧洲交xxxx免费观看| 午夜国产福利一区二区| 国产99精品| 精品粉嫩超白一线天av| 天天操,天天操| 美女高潮视频在线看| 久久影院午夜片一区| 444亚洲人体| 天天综合久久综合| 在线亚洲自拍| 精品中文字幕在线2019| xxxxx99| 澳门久久精品| 3d成人h动漫网站入口| 成人免费无码av| 2018av在线| 樱桃国产成人精品视频| 亚洲综合视频一区| 国产精品免费观看| 91亚洲精品久久久蜜桃| 国产91免费视频| 99在线观看精品视频| 美日韩一区二区| 国产成人精品日本亚洲| 韩国av中文字幕| 亚洲午夜在线| 欧美人与性动交| 欧美激情图片小说| 亚洲中无吗在线| 久久网福利资源网站| 国产亚洲精品精品精品| 精品国产一区二区三区av片| 亚洲欧美精品suv| 国产国语性生话播放| 国产精品欧美大片| 精品99一区二区| 久草免费资源站| 亚洲精品不卡在线观看| 日韩欧美中文字幕一区| 天天干天天曰天天操| 成人日韩视频| 日韩一区二区三区四区五区六区| av在线免费看片| 亚洲精品一区av| 欧美日韩大陆一区二区| 午夜啪啪小视频| 99精品美女视频在线观看热舞| 欧美日韩国产免费| 日韩va在线观看| 国产精品免费精品自在线观看| 欧美一区二区视频在线观看2022| 国内精品国产三级国产aⅴ久| 99久久久成人国产精品| 欧美成人a在线| 亚洲一区二区三区四区五区六区| 日韩福利视频一区| 一本大道亚洲视频| 中文字幕观看av| 欧美精品不卡| 欧美又大又粗又长| 91久久精品国产91性色69| 国产资源在线一区| 国产精品制服诱惑| 久蕉依人在线视频| 中文字幕视频一区二区三区久| japanese在线播放| 高清在线视频不卡| 欧美三日本三级三级在线播放| 91插插插影院| 久久中文字幕导航| 一本大道亚洲视频| 久久中文字幕无码| 日日夜夜精品视频天天综合网| 国产中文欧美精品| 天堂中文网在线| 国产精品全国免费观看高清| 久久免费一级片| 中文字幕成在线观看| 欧美日韩黄色一区二区| 久久久久99人妻一区二区三区| 日韩深夜福利| 久久激情视频久久| 日韩一区二区视频在线| 国产一区不卡在线| 欧洲精品一区色| 影音先锋在线播放| 91成人在线免费观看| 成人高清在线观看视频| 亚洲专区视频| 色综合久久久888| 国产男人搡女人免费视频| 国产精品亚洲视频| 日本一区二区视频| 国产桃色电影在线播放| 欧美色精品天天在线观看视频| 折磨小男生性器羞耻的故事| 日韩欧美一区二区三区免费看| 久久久久久久久爱| 国产一区二区在线视频聊天| 91香蕉视频mp4| 日本三日本三级少妇三级66| 日韩av中字| 亚洲成人免费在线视频| 国产第一页浮力| 日韩成人精品在线| 久久久久久一区| 性欧美videoshd高清| 欧美日韩在线播放一区| 搡老熟女老女人一区二区| 欧美日韩专区| 91久久久精品| 五月婷婷在线视频| 欧美在线999| 一区二区视频观看| 精品999成人| 91青青草免费在线看| 日本中文字幕视频在线| 在线亚洲精品福利网址导航| 中文字幕乱码在线| 一区在线视频| 99爱精品视频| av免费网站在线| 制服视频三区第一页精品| 国产7777777| 久久先锋资源| 欧美精品成人一区二区在线观看 | 成人午夜又粗又硬又大| 日本黄色a视频| 国产福利亚洲| 中文字幕久久亚洲| 亚洲精品一区二三区| 国产亚洲一区二区在线观看| 日本精品一区二区三区四区| 色婷婷精品视频| 91tv亚洲精品香蕉国产一区7ujn| 黑人乱码一区二区三区av| 亚洲综合精品自拍| 欧洲成人午夜精品无码区久久| 欧美日韩综合| 国产高清精品一区二区三区| 污污网站在线看| 日韩美女一区二区三区四区| 国产在线综合网| 成人精品电影在线观看| www..com日韩| 亚洲尤物av| 国产精品美女在线| 美女免费久久| 日韩欧美黄色影院| 国产奶水涨喷在线播放| 91一区二区三区在线观看| www黄色在线| 日韩系列欧美系列| 91在线观看网站| 678在线观看视频| 亚洲人精品午夜在线观看| 综合久久中文字幕| 亚洲人精品一区| 日韩成人av一区二区| 久久福利毛片| 中文视频一区视频二区视频三区 | 日韩欧美在线免费观看| 亚洲ⅴ国产v天堂a无码二区| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩午夜爽爽| 欧美一性一交| 国产裸体写真av一区二区 | 国产欧美精品区一区二区三区| 潘金莲激情呻吟欲求不满视频| 亚洲午夜精品一区二区国产| 激情视频一区二区| 精品视频在线一区二区在线| 久久成人国产精品| 四虎成人免费在线| 欧美日韩国产小视频| 激情综合网五月婷婷| 久久久青草青青国产亚洲免观| jizz欧美性11| 亚洲精选91| 亚洲巨乳在线观看| 久久成人福利| 成人综合国产精品| 小草在线视频免费播放| 久久久999精品视频| 天堂av中文在线资源库| 欧美一区二区在线播放| 波多野结衣视频免费观看| 亚洲综合一区二区精品导航| 亚洲一区视频在线播放| 国产91精品欧美| 视色视频在线观看| 制服诱惑一区二区| 欧美a级黄色大片| 精品产国自在拍| 国产欧美日韩一区二区三区| 国产在视频一区二区三区吞精| 国内精品中文字幕| 在线观看中文| 日韩有码在线电影| 黄色片视频在线观看| 精品99久久久久久| aaa级黄色片| 欧美三级韩国三级日本三斤| 6080午夜伦理| 亚洲第一综合色| 成人自拍小视频| 中文字幕成人网| 亚洲午夜久久久久久久久红桃| 国产91丝袜在线播放九色| www.午夜av| 精品一区二区三区久久久| 日本新janpanese乱熟| 亚洲综合精品四区| a在线视频观看| 亚洲小说区图片区| 欧美日韩不卡在线视频| 欧美日本三区| 视频一区二区视频| 91蜜臀精品国产自偷在线| 日韩免费三级| 久久av电影| 欧美尤物一区| 久久91成人| 日本精品国语自产拍在线观看| 亚洲+小说+欧美+激情+另类| 韩日午夜在线资源一区二区| 国产美女撒尿一区二区| 国产免费一区二区三区| 国产欧美啪啪| 久久久久综合一区二区三区| 日韩母乳在线| 乱色588欧美| 小说区图片区色综合区| 麻豆av福利av久久av| 台湾亚洲精品一区二区tv| 久久精品ww人人做人人爽| 色愁久久久久久| 欧美日韩在线一区二区三区| 久久99国内| 亚洲欧洲在线一区| 国产精品久久久久久| 91xxx视频| 欧美视频二区| 国产av国片精品| 亚洲一区二区毛片| 男人插女人下面免费视频| 九色综合国产一区二区三区| 中文国产在线观看| 成人性色生活片| 鲁大师私人影院在线观看| 久久精品欧美一区二区三区不卡| 调教驯服丰满美艳麻麻在线视频| 欧美国产亚洲另类动漫| 成熟的女同志hd| 天天综合色天天综合| 国产情侣免费视频| 91精品国产91久久综合桃花| 亚洲毛片在线播放| 亚洲日本aⅴ片在线观看香蕉| jizz在线观看视频| 欧美理论片在线观看| 深夜福利视频一区二区| 国产精品影片在线观看| 在线观看视频一区二区三区| 久久av免费一区| 色婷婷亚洲mv天堂mv在影片| 亚洲五码在线观看视频| 美女爽到呻吟久久久久| 91福利免费观看| 97精品久久久久中文字幕| 1024在线看片| 亚洲成人动漫在线观看| 亚洲视屏在线观看| 精品欧美一区二区在线观看| 你懂的在线视频| 美女精品久久久| 午夜激情电影在线播放| 成人自拍性视频| 综合亚洲色图| 伊人再见免费在线观看高清版| 亚洲综合日本| 激情av中文字幕| 中文无字幕一区二区三区| 国产亚洲色婷婷久久99精品| 色婷婷久久久综合中文字幕 | 欧美激情aaa| 一区二区三区在线观看视频| 青青视频在线免费观看| 欧美xxxx在线观看| 9191在线| 日韩美女av在线免费观看| 一区二区网站| 亚洲黄色成人久久久| 国产午夜精品一区二区三区欧美| 中文字幕线观看| 91麻豆.com| 久久久久久av无码免费网站| 欧美三级电影在线看| 少妇性bbb搡bbb爽爽爽欧美| 欧美精品在线极品| 亚洲ww精品| 日韩国产精品一区二区| 一区二区三区精品视频在线观看| 亚洲精品一二三四| 国产精品久久久久久久久动漫| 国内精品福利视频| 精品伦理精品一区| www.久久ai| 国产原创欧美精品| 操欧美老女人| av观看免费在线| 成人h动漫精品| 毛片a片免费观看| 欧美一级二级在线观看| 黄色一级片在线观看| 国产精品久久久久久久久久ktv| 美女午夜精品| 国产69精品久久久久999小说| 国产成人在线视频免费播放| 中国毛片直接看| 欧美久久久久免费| 婷婷在线视频| 国产一区私人高清影院| 日韩黄色大片网站| 奇米影音第四色| 中文在线资源观看网站视频免费不卡 | av网站免费在线观看| 国产欧美精品一区二区三区介绍| heyzo久久| 久久这里只精品| 国产精品视频麻豆| 一区二区精品视频在线观看| 色噜噜久久综合伊人一本| 9.1麻豆精品| 日本精品福利视频| 国产69精品久久久久777| 国产一级免费观看| 日韩大陆欧美高清视频区| 午夜欧美激情| 视频一区二区三区在线观看| 免费视频最近日韩| 久久爱一区二区| 日韩丝袜情趣美女图片| 久久av色综合| 精品日产一区2区三区黄免费 | 国产一区二区三区av电影 | 成人影视亚洲图片在线| 五月激情五月婷婷| 亚洲精品美国一| 亚洲精品第五页| 欧美性做爰毛片| 全球成人免费直播| 日本一二三四区视频| 亚洲午夜日本在线观看| 午夜视频福利在线| 国产精品99久久久久久久久久久久| 日本一区二区免费高清| 日韩精品aaa| 亚洲va欧美va人人爽午夜| 男男电影完整版在线观看| 国产精品美女www爽爽爽视频| 久久久久久久久丰满| 国产69视频在线观看| 91久久精品一区二区三| 黄网站免费在线播放| 激情伦成人综合小说| 久久se这里有精品| 日韩精品在线不卡| 中文字幕欧美日韩va免费视频| 另类视频一区二区三区| www.com毛片| 亚洲人成7777| 欧美日韩在线精品一区二区三区激情综|