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

談談 iOS 識別虛擬定位調研

移動開發 iOS
最近業務開發中,有遇到我們的項目 app 定位被篡改的情況,在 android 端表現的尤為明顯。為了防止這種黑產使用虛擬定位薅羊毛,iOS 也不得不進行虛擬定位的規避。

[[415572]]

本文轉載自微信公眾號「Swift社區」,作者靜楓靈雨。轉載本文請聯系Swift社區公眾號。

前言

最近業務開發中,有遇到我們的項目 app 定位被篡改的情況,在 android 端表現的尤為明顯。為了防止這種黑產使用虛擬定位薅羊毛,iOS 也不得不進行虛擬定位的規避。

在做技術調研后,發現在蘋果手機上,單憑一部手機,真正要實現虛擬定位,是比較難實現的,但還是有存在的可能性,公司的一個項目 app 的 bugly 記錄反饋用戶存在使用越獄蘋果手機,這就著實讓人這種行為實在有大嫌。

本人和公司伙伴的共同努力下,大致調研了以下使用虛擬定位的情況(使用 Xcode 虛擬定位的方式本文忽略):

第一種:使用越獄手機

一般 app 用戶存在使用越獄蘋果手機的情況,一般可以推斷用戶的行為存在薅羊毛的嫌疑(也有 app 被競品公司做逆向分析的可能),因為買一部越獄的手機比買一部正常的手機有難度,且在系統升級和 appstore 的使用上,均不如正常手機,本人曾經淺淺的接觸皮毛知識通過越獄 iPhone5s 進行的 app 逆向。

識別方式

建議一刀切的方式進行,通過識別手機是否安裝了 Cydia.app,如果安裝了直接判定為越獄手機,并向后臺上報“設備異常”的信息。如果不使用這種方式的方式,請繼續看,后面會有其他方式解決。

專業的逆向人員是絕對可以避免 app 開發者對 Cydia 的安裝檢測的,當然這種情況是 app 在市場上有很大的份量,被競爭對手拿來進行逆向分析,對這種情況,虛擬的識別基本毫無意義。個人建議,直接鎖死停掉此手機 app 的接口服務。這里推薦一篇開發者如何識別蘋果手機已經越獄[1]的文章。

代碼實現

  1. /// 判斷是否是越獄設備 
  2. /// - Returnstrue 表示設備越獄 
  3. func isBrokenDevice() -> Bool { 
  4.      
  5.     var isBroken = false 
  6.      
  7.     let cydiaPath = "/Applications/Cydia.app" 
  8.      
  9.     let aptPath = "/private/var/lib/apt" 
  10.      
  11.     if FileManager.default.fileExists(atPath: cydiaPath) { 
  12.         isBroken = true 
  13.     } 
  14.      
  15.     if FileManager.default.fileExists(atPath: aptPath) { 
  16.         isBroken = true 
  17.     } 
  18.      
  19.     return isBroken 

第二種:使用愛思助手

對于使用虛擬定位的場景,大多應該是司機或對接人員打卡了。而在這種場景下,就可能催生了一批專門以使用虛擬定位進行打卡薅羊毛的黑產。對于蘋果手機,目前而言,能夠很可以的實現的,當數愛思助手的虛擬定位功能了。

使用步驟: 下載愛思助手 mac 客戶端,連接蘋果手機,工具箱中點擊虛擬定位,即可在地圖上選定位,然后點擊修改虛擬定位即可實現修改地圖的定位信息。

原理: 在未越獄的設備上通過電腦和手機進行 USB 連接,電腦通過特殊協議向手機上的 DTSimulateLocation 服務發送模擬的坐標數據來實現虛假定位,目前 Xcode 上內置位置模擬就是借助這個技術來實現的。(文章來源[2])

識別方式

一、通過多次記錄愛思助手的虛擬定位的數據發現,其虛擬的定位信息的經緯度的高度是為 0 且經緯度的數據位數也是值得考究的。真實定位和虛擬定位數據如下圖:

真實定位

虛擬定位

仔細觀察數據,不難發現,如果我們比對獲取定位信息的高度,以及對經緯度的 double 位數也進行校驗,虛擬定位的黑帽子就會輕易被破了。

那么如果我們比對虛擬定位的高度為 0 時,就認定為虛擬定位,那么就會產生一個疑問,真實海拔就是零的地點,如何解決?這里科普下中國的海拔零度位置,中國水準零點位于青島市東海中路銀海大世界內的“中華人民共和國水準零點”,是國內唯一的水準零點。唯一的水準零點。

同時,因為比對經緯度的 double 位數,發現虛擬定位的位數很明顯不對,核對 swift 的 float 和 double 的位數精度發現,虛擬定位的經緯度數據只是敷衍的滿足 double 精度位數,swift 的 float 有效位數是 7,double 的有效位數是 15。

當然這個比較的權重是相對高度比較低的,筆者剛剛更新愛思助手版本發現新版本經緯度有更詳細,但是還是達不到 double 的有效位數級別。相對于目前的愛思助手的高度比較識別為虛擬定位,已經完全可以做到。

代碼實現

  1. if location.altitude == 0.0 { 
  2.     print("虛擬定位"
  3.  
  4. //位數作為判定的權重比,如果位數小于12(假定值,目前愛思助手的虛擬定位的此數據的位數是9),判斷為虛擬定位, 
  5. //危險慎用,但是作為小權重的異常數據記錄還是可以的 
  6. let longitude = location.coordinate.longitude 
  7. let longitudeStr = "\(longitude)".components(separatedBy: ".").last ?? "" 
  8.  
  9. print("經度的有效位數:\(longitudeStr.count)"
  10. if longitudeStr.count < 12 { 
  11.  
  12.     print("虛擬定位"

二、把定位后的數據的經緯度上傳給后臺,后臺再根據收到的經緯度獲取詳細的經緯度信息,對司機的除經緯度以外的地理信息進行深度比較,優先比較 altitude、horizontalAccuracy、verticalAccuracy 值,根據值是否相等進行權衡后,確定。

三、

(一)通過獲取公網 ip,大概再通過接口根據 ip 地址可獲取大概的位置,但誤差范圍有點大。

  1. //獲取公網ip地址 
  2. var ipAddress: String? { 
  3.  
  4.     let ipUrl = URL(string: "https://ipof.in/txt")! 
  5.     let ip = try? String.init(contentsOf: ipUrl, encoding: .utf8) 
  6.  
  7.     return ip 

(二)通過 Wi-Fi 熱點來讀取 app 位置[3]

(三)利用 CLCircularRegion 設定區域中心的指定經緯度和可設定半徑范圍,進行監聽。

代碼簡略實現:

  1. manager = CLLocationManager() 
  2. //設置定位服務管理器代理 
  3. manager?.delegate = self 
  4. //設置定位模式 
  5. manager?.desiredAccuracy = kCLLocationAccuracyBest 
  6. //更新距離 
  7. manager?.distanceFilter = 100 
  8. //發送授權申請 
  9. manager?.requestWhenInUseAuthorization() 
  10.  
  11. let latitude = 115.47560123242931 
  12. let longitude = 29.9757535600194 
  13. let centerCoordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 
  14. let locationIDStr = "" 
  15. let clRegion = CLCircularRegion(center: centerCoordinate, radius: 100, identifier: locationIDStr) 
  16. manager?.startMonitoring(for: clRegion) 
  17.  
  18. 代理方法 
  19.  
  20.  func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) { 
  21.  
  22.  
  23. func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) { 
  24.  

(四)通過 IBeacon 技術,使用 CoreBluetooth 框架下的 CBPeripheralManager 建立一個藍牙基站。這種定位直接是端對端的直接定位,省去了 GPS 的衛星和蜂窩數據的基站通信。

代碼簡略實現:

  1. func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) { 
  2.  
  3.     for beacon in beacons { 
  4.         var proximityStr: String = "" 
  5.         switch beacon.proximity { 
  6.         case .far: 
  7.             proximityStr = "Unknown" 
  8.         case .immediate: 
  9.             proximityStr = "Immediate" 
  10.         case .near: 
  11.             proximityStr = "Near" 
  12.         case .unknown: 
  13.             proximityStr = "Unknown" 
  14.         } 
  15.  
  16.         var beaconStr = "信號:" + beacon.proximityUUID.uuidString + "major:" + beacon.major.stringValue + "minor:" + beacon.minor.stringValue + "距離:" + beacon.accuracy + "信號:" + "\(Int64(beacon.rssi))" + "接近度:" + proximityStr 
  17.  
  18.         print("beacon信息: \(beaconStr)"
  19.     } 
  20.  
  21.  
  22. func locationManager(_ manager: CLLocationManager, rangingBeaconsDidFailFor region: CLBeaconRegion, withError error: Error) { 
  23.  
  24.      
  25. ---------------------------------------------------------------------------------- 
  26.  
  27. //不能單獨創建一個類遵守CBPeripheralManagerDelegate協議,需要先遵守NSObjectProtocol協議,這里直接繼承NSObject 
  28. class CoreBluetoothManager:NSObject, CBPeripheralManagerDelegate {  
  29.      
  30.     //建立一個藍牙基站。 
  31.     lazy var peripheralManager: CBPeripheralManager =  CBPeripheralManager(delegate: self, queue: DispatchQueue.main, options: nil) 
  32.              
  33.     lazy var region: CLBeaconRegion = { 
  34.          
  35.         guard let uuid = UUID(uuidString: "xxx"else { 
  36.             return CLBeaconRegion() 
  37.         } 
  38.         let major: CLBeaconMajorValue = 1 
  39.         let minor: CLBeaconMajorValue = 1 
  40.         let id = "創建的藍牙基站的名稱" 
  41.         let region = CLBeaconRegion(proximityUUID: uuid, major: major, minor: minor, identifier: id) 
  42.         return region 
  43.     }() 
  44.      
  45.     func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) { 
  46.          
  47.         switch peripheral.state { 
  48.         case CBManagerState.poweredOn: 
  49.              
  50.             if let data = self.region.peripheralData(withMeasuredPower: nil) as? [String : Any] { 
  51.                  
  52.                 self.peripheralManager.startAdvertising(data) 
  53.             } 
  54.              
  55.         case CBManagerState.poweredOff, 
  56.              CBManagerState.resetting, 
  57.              CBManagerState.unauthorized, 
  58.              CBManagerState.unsupported, 
  59.              CBManagerState.unknown: 
  60.              
  61.             break 
  62.         } 
  63.     } 
  64.     
  65.     func peripheralManagerDidStartAdvertising(_ peripheral: CBPeripheralManager, error: Error?) { 
  66.          
  67.     } 
  68.          

四(待完善)、 iOS防黑產虛假定位檢測技術 文章的末尾附的解法本人有嘗試過,一層一層通過 kvc 讀取 CLLocation 的 _internal 的 fLocation,只能讀取到到此。再通過 kvc 讀取會報以下錯誤:

  1. Expression can't be run, because there is no JIT compiled function 

深入研究,在蘋果的官方開發文檔上發現了這個解釋[4],也有說設置 debug+ 優化策略的,但 iOS 默認 bug 環境就是 -Onone 級別的。其實主要原因貌似因為 JIT 的設置是在開發 mac 客戶端的時候,才能在 Signing&Capabilities 的 Hardened Runtime 中找到。關于 Allow Execution of JIT-compiled Code 的設置(官方文章[5])。最終只能卡到這里,若有大神能通過其他方式讀取 CLLocation 的真實定位(這是極其完美的解決方案),還請不吝賜教。

附:

CLLocation 對象私有變量 _internal 實例對象的官方定義[6]:

  1. @interface CLLocationInternal : NSObject { 
  2.     struct { 
  3.         int suitability; 
  4.         struct { 
  5.             double latitude; 
  6.             double longitude; 
  7.         } coordinate; 
  8.         double horizontalAccuracy; 
  9.         double altitude; 
  10.         double verticalAccuracy; 
  11.         double speed; 
  12.         double speedAccuracy; 
  13.         double course; 
  14.         double courseAccuracy; 
  15.         double timestamp
  16.         int confidence; 
  17.         double lifespan; 
  18.         int type; 
  19.         struct { 
  20.             double latitude; 
  21.             double longitude; 
  22.         } rawCoordinate; 
  23.         double rawCourse; 
  24.         int floor; 
  25.         unsigned int integrity; 
  26.         int referenceFrame; 
  27.         int rawReferenceFrame; 
  28.     }  fLocation; 
  29.     CLLocationMatchInfo * fMatchInfo; 
  30.     double  fTrustedTimestamp; 
  1. @class NSData; 
  2.  
  3. @interface CLLocationMatchInfo : NSObject <NSCopying, NSSecureCoding> { 
  4.  
  5.     id _internal; 
  6. @property (nonatomic,readonly) long long matchQuality; 
  7. @property (nonatomic,readonly) CLLocationCoordinate2D matchCoordinate; 
  8. @property (nonatomic,readonly) double matchCourse; 
  9. @property (nonatomic,readonly) int matchFormOfWay; 
  10. @property (nonatomic,readonly) int matchRoadClass; 
  11. @property (getter=isMatchShifted,nonatomic,readonly) BOOL matchShifted; 
  12. @property (nonatomic,copy,readonly) NSData * matchDataArray; 

參考資料

[1]

用代碼判斷 iOS 系統是否越獄的方法: https://www.huaweicloud.com/articles/7c6b8027253c4a97196d359840f638d9.html

[2]

iOS 防黑產虛假定位檢測技術: https://cloud.tencent.com/developer/article/1800531

[3]

Wifi 定位原理及 iOS Wifi 列表獲取: http://www.caojiarun.com/2017/01/iOS_Wifilist/

[4]

Allow Execution of JIT-compiled Code Entitlement: https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-jit

[5]

Hardened Runtime: https://developer.apple.com/documentation/security/hardened_runtime

[6]

_internal 實例對象的官方定義: https://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/CoreLocation.framework/CLLocationInternal.h

 

責任編輯:武曉燕 來源: Swift社區
相關推薦

2010-01-13 10:53:51

Web前端工程師定位

2018-03-13 15:33:14

虛擬化備份虛擬機

2017-09-18 15:14:43

2017-11-29 14:42:28

虛擬化深度解密

2010-12-06 14:37:27

服務器虛擬化

2024-09-11 16:49:55

2014-07-17 14:51:52

2018-07-25 14:50:41

服務器虛擬化方案

2014-04-24 10:41:39

桌面虛擬化安全

2011-08-16 16:17:10

2013-11-27 09:38:31

云計算虛擬化

2025-02-21 15:25:54

虛擬線程輕量級

2018-04-02 19:30:43

人臉識別功能互聯網行業認知度

2015-06-18 10:33:02

iOS粘性動畫

2013-04-01 13:19:43

iOS定位與坐標算法

2017-11-13 15:46:07

2018-03-13 09:53:14

人臉識別功能互聯、認知度

2013-07-22 16:35:20

桌面虛擬化

2015-06-24 10:06:09

iOS 9適配后臺

2023-02-03 17:55:20

數據治理數據湖
點贊
收藏

51CTO技術棧公眾號

色噜噜夜夜夜综合网| 成人午夜碰碰视频| 久久人人爽人人爽爽久久 | 成年美女黄网站色大片不卡| 欧美国产精品劲爆| dy888夜精品国产专区| 久久国产黄色片| 久久美女精品| 日韩精品在线影院| 99精品视频国产| 成人线上视频| 亚洲图片欧美一区| 亚洲国产精品久久久久久女王| 亚洲国产成人精品一区二区三区| 日韩精品午夜视频| 久久天天躁日日躁| 五月天精品视频| 日本在线成人| 欧美自拍偷拍午夜视频| 僵尸世界大战2 在线播放| 午夜视频在线看| 91原创在线视频| 18成人在线| 中文字幕+乱码+中文| 激情国产一区| 欧美日韩福利电影| 国产日产精品一区二区三区的介绍| 日韩大胆成人| 亚洲精品一区二区三区在线观看| 久久这里只精品| 小黄鸭精品aⅴ导航网站入口| 一区二区三区高清在线| 制服丝袜综合日韩欧美| 不卡在线视频| 久久久亚洲精品石原莉奈 | 欧美一级特黄aaaaaa| 老司机精品视频一区二区三区| 91av视频在线观看| 久久免费少妇高潮99精品| 99精品国产一区二区三区| 亚洲欧美精品一区二区| 内射中出日韩无国产剧情| jizz性欧美2| 日韩欧美在线123| 男女污污视频网站| 亚洲日本中文| 7777精品伊人久久久大香线蕉超级流畅 | 3p视频在线观看| 国产亚洲欧美色| 欧美自拍资源在线| 精品一二三区视频| 久久蜜桃av一区二区天堂| 久久国产手机看片| 色视频免费在线观看| 91视视频在线直接观看在线看网页在线看| 粉嫩av一区二区三区免费观看| 精品国产黄色片| 国产成人精品免费视频网站| 99国精产品一二二线| www.av导航| 99热精品一区二区| 久久久久久艹| 福利成人在线观看| 国产精品久久久久毛片软件| 成人手机视频在线| 2024最新电影在线免费观看| 亚洲一区二区成人在线观看| 大j8黑人w巨大888a片| 成人av免费电影网站| 91国模大尺度私拍在线视频| 国产精品视频分类| 精品国产三级| 亚洲黄色成人网| 亚洲精品成人无码| 日韩在线中文| 久久久久国产精品免费网站| 99热在线观看免费精品| 男人的j进女人的j一区| 91久久精品久久国产性色也91| 国产av无码专区亚洲a∨毛片| 国产成a人亚洲精| 久久免费视频1| 亚洲s色大片| 夜夜嗨av一区二区三区四季av| 欧美成人三级在线视频| 韩国三级一区| 日韩一区二区三区观看| 久久亚洲AV成人无码国产野外| 狠狠色丁香婷婷综合影院| 久久夜色精品亚洲噜噜国产mv| 久久久久久福利| 日韩中文欧美在线| 成人做爰www免费看视频网站| 亚洲国产999| 中文欧美字幕免费| av日韩一区二区三区| 午夜激情成人网| 日韩欧美成人激情| 美国黄色特级片| 亚洲高清成人| 国产日韩精品综合网站| 污污视频在线观看网站| 国产精品久久久久久久久免费桃花 | 手机在线观看日韩av| 在线视频亚洲专区| 欧美日产国产成人免费图片| 欧美日韩 一区二区三区| 粉嫩嫩av羞羞动漫久久久| 涩涩涩999| heyzo在线欧美播放| 制服.丝袜.亚洲.中文.综合| 亚洲狠狠婷婷综合久久久久图片| 欧美国产综合| 国产免费久久av| 免费黄网站在线观看| 一卡二卡三卡日韩欧美| 91视频这里只有精品| 日韩欧美在线精品| 欧美激情中文字幕乱码免费| 国产精品美女一区| 国产欧美精品一区二区三区四区 | 热色播在线视频| 日韩精品一区二区三区视频 | 涩爱av在线播放一区二区| 亚洲免费av网站| 亚欧美在线观看| 最新国产精品视频| 91精品国产777在线观看| 性生活黄色大片| 亚洲欧美自拍偷拍| 自拍偷拍21p| 欧美日韩黑人| 国产精品久久久久久久一区探花| 完全免费av在线播放| 成人无遮挡免费网站视频在线观看| 日本精品一区二区三区高清 | 亚洲天堂小视频| 9191国语精品高清在线| 国产欧美一区二区三区久久人妖 | 国语一区二区三区| 欧美激情精品久久久久久免费印度| 91禁在线观看| 亚洲视频在线观看三级| 在线观看免费av网址| 日韩精品四区| 国产欧美精品在线| 欧美另类极品| 欧美一级欧美三级在线观看| 性欧美videos| 国产91精品欧美| 国产精品久久久久久久乖乖| 99精品中文字幕在线不卡| 九色成人免费视频| 狠狠躁夜夜躁av无码中文幕| 夜夜精品视频一区二区 | 欧美18xxxx| 91精品国产99久久久久久| 三级视频在线播放| 色网综合在线观看| 色噜噜噜噜噜噜| 韩国成人精品a∨在线观看| 麻豆一区二区三区在线观看| 国产精品久久久久久av公交车| 精品中文字幕在线2019| 韩国av在线免费观看| 天天色天天爱天天射综合| 毛片网站免费观看| 蜜臀久久99精品久久久久久9| 在线视频不卡一区二区| 秋霞一区二区三区| 97香蕉久久超级碰碰高清版| 黑人与亚洲人色ⅹvideos| 欧美日韩高清在线| 欧美日韩在线视频免费播放| hitomi一区二区三区精品| 国产a级片免费观看| 我不卡神马影院| 国产精品永久入口久久久| 我爱我色成人网| 久久精品99国产精品酒店日本| www.久久久久久| 日韩欧美成人区| 一级性生活免费视频| av在线一区二区| 不卡的av中文字幕| 国自产拍偷拍福利精品免费一 | 亚洲最大成人网站| 久久99精品视频| 国产免费观看高清视频| 外国成人免费视频| 欧美成ee人免费视频| 亚洲a成人v| 欧美中文字幕在线观看| av大片在线| 亚洲色图美腿丝袜| 亚洲欧美黄色片| 欧美亚洲高清一区二区三区不卡| 九九热视频精品| 国产欧美一区二区精品秋霞影院| 在线播放国产视频| 捆绑变态av一区二区三区| 老太脱裤让老头玩ⅹxxxx| 久久亚洲成人| 欧美一级二级三级九九九| 亚洲第一二区| 国产精品视频一| 三级中文字幕在线观看| 另类专区欧美制服同性| 3d成人动漫在线| 亚洲美女视频网| 欧美一区,二区| 日韩一区二区三区视频在线观看| 波多野结衣高清视频| 亚洲国产一二三| 9999热视频| 国产精品麻豆欧美日韩ww| 双性尿奴穿贞c带憋尿| 国产成人8x视频一区二区| www激情五月| 麻豆91在线观看| 妞干网在线免费视频| 一本久道综合久久精品| 一二三四中文字幕| 国产精品97| 亚洲三级一区| 成人av动漫在线观看| 欧美成熟毛茸茸复古| 国产精品欧美大片| 99视频国产精品免费观看| 成人免费观看49www在线观看| 国产精品视频久久久久| 日韩精品三区| 日韩美女视频免费在线观看| 九色porny自拍视频在线播放| 欧美精品中文字幕一区| 国产成人无吗| 久久69精品久久久久久国产越南| 国产视频中文字幕在线观看| 久久精品成人欧美大片| 久久久久久国产精品免费无遮挡| 色综合亚洲精品激情狠狠| av网在线观看| www.欧美精品| 中文字幕在线观看网站| 欧美成人午夜视频| 性欧美猛交videos| 久久久久久久久久久网站| 国精一区二区三区| 高清欧美性猛交xxxx| 变态调教一区二区三区| 97精品免费视频| 欧美黄色网页| 国产精品免费福利| 一区二区三区无毛| 99久久精品无码一区二区毛片| 日本精品在线播放 | 中文字幕一区久久| 国产一区美女在线| 欧美性生交xxxxx| 不卡免费追剧大全电视剧网站| 国产xxxx视频| 国产亚洲欧美一区在线观看| 99久久99久久精品免费看小说.| 国产精品久久久久影院色老大| 糖心vlog免费在线观看 | youjizz.com在线观看| 亚洲二区免费| 色哟哟精品视频| 国产精品一区二区你懂的| 日韩精品视频一区二区| 久久久久久久久久久久久女国产乱| 国产精品理论在线| 亚洲精品国产成人久久av盗摄| 免费观看一区二区三区毛片| 欧美性猛片aaaaaaa做受| 国产乱淫av片免费| 亚洲国产精品女人久久久| 国产福利第一视频在线播放| 久久精品中文字幕一区| 国产精品yjizz视频网| 国产精品网红福利| 第四色中文综合网| 色综合电影网| 亚洲欧洲日本mm| 美女黄色片视频| 国产91精品精华液一区二区三区| 永久免费看mv网站入口78| 亚洲伦在线观看| 成年人av网站| 精品国产一二三区| 在线观看二区| 51视频国产精品一区二区| 日韩久久99| 久久国产一区| 欧美视频二区| 五月婷婷之综合激情| av欧美精品.com| 国内毛片毛片毛片毛片毛片| 好吊成人免视频| 成人黄色在线观看视频| 一区二区欧美亚洲| 都市激情国产精品| 91精品视频一区| 精品视频亚洲| 无码人妻丰满熟妇区96| 国产不卡在线播放| 182在线观看视频| 欧美中文字幕一区| 三级理论午夜在线观看| 欧美日韩成人黄色| 欧美综合社区国产| 欧美在线视频二区| 亚洲尤物影院| 97人妻精品一区二区三区免费 | 91小视频在线| 国产精品999久久久| 欧美一区二区在线免费观看| 精品99又大又爽又硬少妇毛片| 久久男人资源视频| 日本精品在线播放| 99热都是精品| 黄色精品一二区| 特级西西人体高清大胆| 色婷婷精品大在线视频| 日韩porn| 91sa在线看| 亚洲欧洲av| 成年人观看网站| 91免费看视频| 欧美一二三区视频| 亚洲国产精品大全| av午夜在线观看| 国产一区二区黄色| 激情综合中文娱乐网| 免费黄色a级片| 亚洲国产一区二区在线播放| 亚洲女同志亚洲女同女播放| 久久久久久91| 久久91在线| 免费看一级大黄情大片| 久久综合九色综合97婷婷女人 | 亚洲一卡二卡区| 麻豆精品视频在线| 日韩精品久久久久久久的张开腿让 | 久久精品亚洲94久久精品| 久久xxx视频| 亚洲午夜精品久久| 美国一区二区三区在线播放 | 91久久在线| 亚洲专区区免费| 色视频成人在线观看免| 91成人高清| 成人激情在线播放| 一区二区在线| www.啪啪.com| 欧美视频在线免费看| 黄色影院在线播放| 国产精品一区av| 你懂的成人av| 中文字幕一区二区人妻电影丶| 精品国产91乱高清在线观看| 青青草免费在线| 国产精品视频自在线| 亚洲影视一区| 久久人妻少妇嫩草av无码专区| 欧美日韩一二三四五区| 最新国产在线观看| 91国产在线播放| 亚洲久久成人| 在线观看天堂av| 精品久久久三级丝袜| 在线毛片观看| 伊人情人网综合| 成人黄色一级视频| 丰满人妻一区二区三区四区| 久久手机精品视频| 丝袜美腿综合| √天堂资源在线| 精品欧美aⅴ在线网站| 1024免费在线视频| 国产乱码精品一区二区三区卡| 国产麻豆综合| 久久久久久久麻豆| 日韩精品高清在线| 日韩黄色在线| 亚洲熟妇av一区二区三区漫画| 国产精品久久影院| 亚洲精品字幕在线观看| 国产精品黄色影片导航在线观看| 亚洲在线久久| 制服 丝袜 综合 日韩 欧美| 欧美一区二区三区免费| 精精国产xxxx视频在线野外| 一区二区三区精品国产| 不卡的av中国片| 国产内射老熟女aaaa∵| 国产成人aa精品一区在线播放| 欧美国产高潮xxxx1819| 正在播放国产对白害羞| 亚洲精品电影在线|