日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS9获取手机序列号serialNumber(UDID)

發布時間:2024/1/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS9获取手机序列号serialNumber(UDID) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

iOS9獲取手機序列號serialNumber(UDID)

http://www.jianshu.com/p/b48524a4aff2



? 作者? LeonLei? 關注 2016.10.26 11:44*? 字數 2631? 閱讀 358 評論 1

前言

在iOS7之前我們可以通過- (NSString *)uniqueIdentifier這個方法獲取iPhone的唯一標識符,也叫作UDID。不過自從iOS7蘋果就把這個方法給禁了,此時我們想要獲取iPhone的唯一標識符就很困難。
不過蘋果提供一個叫做IDFA的標識符,這個IDFA是廣告標識符用來追蹤廣告投放的,不過用戶可以在設置中手動重置IDFA,可靠性很低,目前常見的兩種標記iPhone的方式為?

  • openUDID?
  • IDFA或UUID+keychain?

這兩種模式都有個弊端,用戶重置手機或者刷機唯一標識符會發生變化,不過對于大多數情況是夠用了。看來蘋果是把路給封死了,有沒有辦法拿到之前的UDID呢?我們注意到iPhone的設置通用關于里面有手機的硬件信息,其中有一個serialNumber,這個serialnumber就是我們查詢手機是否過保的依據,那么它肯定是唯一的,所以下文是圍繞這個進行的探索。最終是可以拿到這個serialNumber的, 不過由于蘋果的沙盒限制,所以只能在越獄機中拿到,如果想在非越獄機中拿到必須添加entitlements文件來獲取權限,可想而知這個應用是無法上架的。下文僅作為逆向工程的一種思路和探索。

正文

一、SSH連接手機(USB模式)

1.映射端口

LeonLei-MBP:~ gaoshilei$ /Users/gaoshilei/Desktop/reverse/USBSSH/tcprelay.py -t 22:6666 Forwarding local port 6666 to remote port 22

2.連接手機,并且用grep命令快速篩選當前我們要調試的應用Preferences,附加debugserver開始1234端口等待lldb調試

LeonLei-MBP:~ gaoshilei$ ssh root@localhost -p 6666 iPhone-5S:~ root# ps -e | grep Pre270 ?? 0:00.29 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/com.apple.MobileSoftwareUpdate.CleanupPreparePathService1192 ?? 0:14.26 /var/db/stash/_.fP74Fg/Applications/Preferences.app/Preferences1289 ttys000 0:00.01 grep Pre iPhone-5S:~ root# debugserver *:1234 -a "Preferences" debugserver-@(#)PROGRAM:debugserver PROJECT:debugserver-340.3.51.1for arm64. Attaching to process Preferences... Listening to port 1234 for a connection from *...

3.完成以上兩步接下來就可以進行lldb調試了,首先要把遠端(手機)的1234端口映射到本地,跟前面提到的SSH端口映射一樣

LeonLei-MBP:~ gaoshilei$ /Users/gaoshilei/Desktop/reverse/USBSSH/tcprelay.py -t 1234:1234 Forwarding local port 1234 to remote port 1234

二、通過LLDB、IDA尋找線索

lldb的調試端口已經打開,此時我們可以進入調試

LeonLei-MBP:~ gaoshilei$ lldb (lldb) process connect connect://localhost:1234 Process 1192 stopped * thread #1: tid = 0x523a6, 0x000000019a3c8a40 libsystem_kernel.dylib`mach_msg_trap + 8, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP frame #0: 0x000000019a3c8a40 libsystem_kernel.dylib`mach_msg_trap + 8 libsystem_kernel.dylib`mach_msg_trap: -> 0x19a3c8a40 <+8>: ret libsystem_kernel.dylib`mach_msg_overwrite_trap:0x19a3c8a44 <+0>: movn x16, #0x1f0x19a3c8a48 <+4>: svc #0x800x19a3c8a4c <+8>: ret

此時我們已經成功進入Preferences的調試階段,先c一下,讓程序繼續運行

(lldb) c Process 1192 resuming

這么做的原因是我們待會要打印image的基地址偏移,有可能在我們打印的image list中沒有我們想要的image。
此時我們已經找到到Preference.framework的基地址偏移,見下圖

(lldb) im li -o -f [ 0] 0x00000000000dc000 /var/db/stash/_.fP74Fg/Applications/Preferences.app/Preferences(0x00000001000dc000) [ 1] 0x0000000100100000 /Library/MobileSubstrate/MobileSubstrate.dylib(0x0000000100100000) [ 2] 0x0000000002e50000 /Users/gaoshilei/Library/Developer/Xcode/iOS DeviceSupport/9.1 (13B143)/Symbols/System/Library/PrivateFrameworks/BulletinBoard.framework/BulletinBoard [ 3] 0x0000000002e50000 /Users/gaoshilei/Library/Developer/Xcode/iOS DeviceSupport/9.1 (13B143)/Symbols/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation [ 4] 0x0000000002e50000 /Users/gaoshilei/Library/Developer/Xcode/iOS DeviceSupport/9.1 (13B143)/Symbols/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit … [ 44] 0x0000000002e50000 /Users/gaoshilei/Library/Developer/Xcode/iOS DeviceSupport/9.1 (13B143)/Symbols/System/Library/PrivateFrameworks/Preferences.framework/Preferences …

我們要找的image的序號在這里是44,它的基地址偏移為0x2e50000,我們把從iPhone中導出的PrivateFrameworks中的Preferences.framework丟到IDA中進行分析,這個二進制文件比較小,很快就分析完成,在前面我們已經知道iPhone的唯一序列號serial number是通過PSListController生成的,并且我們知道這是一個cell,我們要去調試[PSListController tableView:cellForRowAtIndexPath:]這個方法,從中找到cell值的來源,從而找到獲取序列號的方法。

__text:00000001908040C8 ; -[PSListController tableView:cellForRowAtIndexPath:] __text:00000001908040C8 __PSListController_tableView_cellForRowAtIndexPath__ __text:00000001908040C8 ; DATA XREF: __objc_const:000000019C069B88o __text:00000001908040C8 __text:00000001908040C8 var_80 = -0x80 __text:00000001908040C8 var_78 = -0x78 __text:00000001908040C8 var_70 = -0x70 __text:00000001908040C8 var_68 = -0x68 __text:00000001908040C8 var_60 = -0x60 __text:00000001908040C8 var_50 = -0x50 __text:00000001908040C8 var_40 = -0x40 __text:00000001908040C8 var_30 = -0x30 __text:00000001908040C8 var_20 = -0x20 __text:00000001908040C8 var_10 = -0x10 __text:00000001908040C8 __text:00000001908040C8 STP X28, X27, [SP,#var_60]! __text:00000001908040CC STP X26, X25, [SP,#0x60+var_50] __text:00000001908040D0 STP X24, X23, [SP,#0x60+var_40] __text:00000001908040D4 STP X22, X21, [SP,#0x60+var_30] __text:00000001908040D8 STP X20, X19, [SP,#0x60+var_20] __text:00000001908040DC STP X29, X30, [SP,#0x60+var_10] __text:00000001908040E0 ADD X29, SP, #0x60+var_10 __text:00000001908040E4 SUB SP, SP, #0x20 __text:00000001908040E8 MOV X21, X3 __text:00000001908040EC MOV X20, X0 __text:00000001908040F0 MOV X0, X2 __text:00000001908040F4 BL 0x96C400A0 __text:00000001908040F8 MOV X26, X0 __text:00000001908040FC ADRP X8, #off_19DACC568@PAGE __text:0000000190804100 LDR X1, [X8,#off_19DACC568@PAGEOFF] __text:0000000190804104 MOV X0, X20 __text:0000000190804108 MOV X2, X21 __text:000000019080410C BL 0x96C39BC0 __text:0000000190804110 MOV X2, X0 __text:0000000190804114 ADRP X8, #_OBJC_IVAR_$_PSListController._specifiers@PAGE ; NSArray *_specifiers; __text:0000000190804118 LDRSW X27, [X8,#_OBJC_IVAR_$_PSListController._specifiers@PAGEOFF] ; NSArray *_specifiers; __text:000000019080411C LDR X0, [X20,X27] __text:0000000190804120 ADRP X8, #off_19DACC558@PAGE ……

我們在Preference.framework中基地址為0x190804114的位置打個斷點,具體的做法是:

(lldb) br s -a 0x190804114+0x2e50000 Breakpoint 1: where = Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 76, address = 0x0000000193654114 Process 1192 stopped * thread #1: tid = 0x523a6, 0x0000000193654114 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 76, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1frame #0: 0x0000000193654114 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 76 Preferences`-[PSListController tableView:cellForRowAtIndexPath:]: -> 0x193654114 <+76>: adrp x8, 539650x193654118 <+80>: ldrsw x27, [x8, #516]0x19365411c <+84>: ldr x0, [x20, x27]0x193654120 <+88>: adrp x8, 53960

這里斷點這樣打是因為系統加載可執行文件和各種framework的時候會有一個地址偏移,我們在打斷點的時候要把這個偏移量加上,這樣我們打的斷點才是準確的。
可以看到我們已經成功打了一個斷點,斷點的address = 0x193654114。此時我們打印變量x0和x27的值

(lldb) po $x0 13 (lldb) po $x27 1104

我們執行ni讓程序繼續(這里的ni命令相當于Xcode的那個下箭頭命令,也就是下一行)

(lldb) ni Process 1192 stopped * thread #1: tid = 0x523a6, 0x0000000193654118 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 80, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: 0x0000000193654118 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 80 Preferences`-[PSListController tableView:cellForRowAtIndexPath:]: -> 0x193654118 <+80>: ldrsw x27, [x8, #516]0x19365411c <+84>: ldr x0, [x20, x27]0x193654120 <+88>: adrp x8, 539600x193654124 <+92>: ldr x22, [x8, #1368] (lldb) ni Process 1192 stopped * thread #1: tid = 0x523a6, 0x000000019365411c Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 84, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: 0x000000019365411c Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 84 Preferences`-[PSListController tableView:cellForRowAtIndexPath:]: -> 0x19365411c <+84>: ldr x0, [x20, x27]0x193654120 <+88>: adrp x8, 539600x193654124 <+92>: ldr x22, [x8, #1368]0x193654128 <+96>: mov x1, x22 (lldb) po $x27 848(lldb) po $x0 13

我們ni的兩次,程序已經走到0x19080411C的位置,然后我們繼續打印變量x0和x27的值

(lldb) po $x0 13 (lldb) po $x27 1104

打印出來的x0和x27都是隨機數,還是沒有什么收獲,我們繼續

(lldb) ni Process 1192 stopped * thread #1: tid = x523a6, x0000000193654120 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 88, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: x0000000193654120 Preferences`-[PSListController tableView:cellForRowAtIndexPath:] + 88 Preferences`-[PSListController tableView:cellForRowAtIndexPath:]: -> x193654120 <+88>: adrp x8, 53960x193654124 <+92>: ldr x22, [x8, #1368]x193654128 <+96>: mov x1, x22x19365412c <+100>: bl x199a89bc0 ; objc_msgSend (lldb) po $x0 <__NSArrayI x13105a780>( G: <PSSpecifier x12ff50cf0: ID 0, Name '' target <(null): x0>> x12ff50cf0, <PSSpecifier x12ff50f50: ID NAME_CELL_ID, Name 'Name' target <AboutDataSource: x131028390>>, G: <PSSpecifier x12ff51680: ID 2, Name '' target <(null): x0>> x12ff51680, <PSSpecifier x12ff52360: ID NETWORK, Name 'Network' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff52420: ID SONGS, Name 'Songs' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff519f0: ID VIDEOS, Name 'Videos' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff51ab0: ID PHOTOS, Name 'Photos' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff51b70: ID APPLICATIONS, Name 'Applications' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff524e0: ID User Data Capacity, Name 'Capacity' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff525a0: ID User Data Available, Name 'Available' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff526a0: ID ProductVersion, Name 'Version' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff52850: ID CARRIER_VERSION, Name 'Carrier' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff52980: ID ProductModel, Name 'Model' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff52a60: ID SerialNumber, Name 'Serial Number' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff52b90: ID MACAddress, Name 'Wi-Fi Address' target <AboutDataSource: x131028390>>, <PSSpecifier x12ff51050: ID BTMACAddress, Name 'Bluetooth' target <AboutDataSource: x131028390>>, <PSSpecifier x12fde95d0: ID ModemVersion, Name 'Modem Firmware' target <AboutDataSource: x131028390>>, G: <PSSpecifier x131031e90: ID 17, Name '' target <(null): x0>> x131031e90, <PSSpecifier x12fde9c40: ID LEGAL_AND_REGULATORY, Name 'Legal' target <(null): x0>>, G: <PSSpecifier x131029dc0: ID TRUST_STORE_GROUP, Name '' target <(null): x0>> x131029dc0, <PSSpecifier x131033520: ID TRUST_STORE, Name 'Trust Store' target <AboutDataSource: x131028390>> )

我們讓程序執行下一步,發現此時x0已經有值了,可以明顯的看出,x0的值是在0x190804114~0x19080411C這段代碼生成的,下面我們的工作重點就是尋找這段代碼干了什么,勝利就在眼前!下面我們驗證一下這里面到底有沒有我們要的序列號:

(lldb) po [[$x0 objectAtIndex:13] class] PSSpecifier (lldb) po [[$x0 objectAtIndex:13] properties] {cellObject = "<PSTableCell: 0x130800000; baseClass = UITableViewCell; frame = (0 565; 320 45); text = 'Serial Number'; hidden = YES; autoresize = W; tag = 4; gestureRecognizers = <NSArray: 0x12ff821c0>; layer = <CALayer: 0x12fd7d340>>";id = SerialNumber;isCopyable = 1;value = DNPMVG0EFF9V; }

我們打印數組中存放cell數據的object屬于哪個類,發現是PSSpecifier,我們找到之前導出的類的頭文件,發現這個類有一個叫做properties的實例方法,我們調用一下發現我們要的序列號就在里面value = DNPMVG0EFF9V,這跟iPhone設置中看到的序列號是一致的。猜測這個數組里面存放著系統設置中PSUIAboutController中所有cel的數據,這個數組下一個肯定要傳遞到cell生成的方法中,這個就不做驗證了,大事重要,我們繼續找序列號的生成方法。
這個PSSpecifier中有一個AboutDataSource對象,這個非常可疑,從名稱上可以判斷,這個類是專門用于數據處理的,不過在這之前我們還是先驗證一下,在0x190804114~0x19080411C這段地址中,執行了_PSListController._specifiers,我們從PSListController的頭文件(下文有講怎么獲取)中可以看到有一個specifiers屬性,我們在IDA分析的文件中找到[PSListController specifiers],我們先定位到方法在二進制文件中的位置:

__text:00000001907FE4A8 ; -[PSListController specifiers] __text:00000001907FE4A8 __PSListController_specifiers_ ; DATA XREF: __objc_const:000000019C069A08o __text:00000001907FE4A8 __text:00000001907FE4A8 var_40 = -0x40 __text:00000001907FE4A8 var_30 = -0x30 __text:00000001907FE4A8 var_20 = -0x20 __text:00000001907FE4A8 var_10 = -0x10 __text:00000001907FE4A8 __text:00000001907FE4A8 STP X24, X23, [SP,#var_40]! __text:00000001907FE4AC STP X22, X21, [SP,#0x40+var_30] __text:00000001907FE4B0 STP X20, X19, [SP,#0x40+var_20] __text:00000001907FE4B4 STP X29, X30, [SP,#0x40+var_10] __text:00000001907FE4B8 ADD X29, SP, #0x40+var_10 __text:00000001907FE4BC MOV X19, X0 __text:00000001907FE4C0 ADRP X8, #_OBJC_IVAR_$_PSListController._specifiers@PAGE ; NSArray *_specifiers; __text:00000001907FE4C4 LDRSW X22, [X8,#_OBJC_IVAR_$_PSListController._specifiers@PAGEOFF] ; NSArray *_specifiers; __text:00000001907FE4C8 LDR X8, [X19,X22] __text:00000001907FE4CC CBNZ X8, loc_1907FE5E0 __text:00000001907FE4D0 ADRP X8, #_OBJC_IVAR_$_PSListController._dataSource@PAGE ; id <PSSpecifierDataSource> _dataSource; __text:00000001907FE4D4 LDRSW X8, [X8,#_OBJC_IVAR_$_PSListController._dataSource@PAGEOFF] ; id <PSSpecifierDataSource> _dataSource; __text:00000001907FE4D8 LDR X9, [X19,X8] __text:00000001907FE4DC CBZ X9, loc_1907FE550 __text:00000001907FE4E0 ADRP X9, #_OBJC_IVAR_$_PSListController._requestingSpecifiersFromDataSource@PAGE ; bool _requestingSpecifiersFromDataSource; __text:00000001907FE4E4 LDRSW X23, [X9,#_OBJC_IVAR_$_PSListController._requestingSpecifiersFromDataSource@PAGEOFF] ; bool _requestingSpecifiersFromDataSource; __text:00000001907FE4E8 MOV W9, #1 __text:00000001907FE4EC STRB W9, [X19,X23] __text:00000001907FE4F0 LDR X20, [X19,X8] __text:00000001907FE4F4 ADRP X8, #selRef_specifier@PAGE __text:00000001907FE4F8 LDR X1, [X8,#selRef_specifier@PAGEOFF] __text:00000001907FE4FC MOV X0, X19 __text:00000001907FE500 BL 0x96C39BC0 __text:00000001907FE504 MOV X29, X29 __text:00000001907FE508 BL 0x96C41EF0 __text:00000001907FE50C MOV X21, X0 __text:00000001907FE510 ADRP X8, #selRef_specifiersForSpecifier_observer_@PAGE __text:00000001907FE514 LDR X1, ……

然后在這里面下個斷點看看會發生什么

(lldb) br s -a 0x1907FE4D0+0x198e58640 Breakpoint 9: where = Preferences`-[PSListController specifiers] + 40, address = 0x000000019364e4d0

我們從設置中進入通用>關于,發現一開始就走到了這個斷點,我們猜測,一進入關于頁面,系統會首先把所有cell的數據都準備好,然后加載UI

Process 1192 stopped * thread #1: tid = 0x523a6, 0x000000019364e4d0 Preferences`-[PSListController specifiers] + 40, queue = 'com.apple.main-thread', stop reason = breakpoint 9.1frame #0: 0x000000019364e4d0 Preferences`-[PSListController specifiers] + 40 Preferences`-[PSListController specifiers]: -> 0x19364e4d0 <+40>: adrp x8, 539710x19364e4d4 <+44>: ldrsw x8, [x8, #536]0x19364e4d8 <+48>: ldr x9, [x19, x8]0x19364e4dc <+52>: cbz x9, 0x19364e550 ; <+168>

我們打印變量x8和x9的值,看一下系統做了什么

(lldb) po $x8 <nil> (lldb) po $x9 PSUIAboutController

并沒有數據之類的東西值得我們關注,讓斷點繼續往下走,走到0x19364e4dc的位置,我們再次打印變量x8和x9的值

(lldb) n Process 1192 stopped * thread #1: tid = 0x523a6, 0x000000019364e4dc Preferences`-[PSListController specifiers] + 52, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: 0x000000019364e4dc Preferences`-[PSListController specifiers] + 52 Preferences`-[PSListController specifiers]: -> 0x19364e4dc <+52>: cbz x9, 0x19364e550 ; <+168>0x19364e4e0 <+56>: adrp x9, 539710x19364e4e4 <+60>: ldrsw x23, [x9, #540]0x19364e4e8 <+64>: orr w9, wzr, #0x1 (lldb) po $x8 952 (lldb) po $x9 <AboutDataSource: 0x131130730>

此時的變量x9已經變成了AboutDataSource,這里驗證了我們上一步的猜想,所以我們重點來研究它,我們先找到這個類在哪個framework中,這里使用的是grep命令

LeonLei-MBP:~ gaoshilei$ grep AboutDataSource -r /Users/gaoshilei/Desktop/reverse/iOS-Runtime-Headers-9.1 /Users/gaoshilei/Desktop/reverse/iOS-Runtime-Headers-9.1/PrivateFrameworks/PreferencesUI.framework/AboutDataSource.h:@interface AboutDataSource : PSSpecifierDataSource {

這里要說明一下iOS-Runtime-Headers-9.1這個文件夾是iOS9.1系統的所有頭文件(共有+私有),這個你可以自己導(iOS9之后只能用runtime導,class-dump已經不行了),你也可以拿現成的用,github上面已經有雷鋒把所有系統的頭文件都導出來了,直接下載就可以了。我們發現AboutDataSource這個類在PrivateFrameworks/PreferencesUI.framework中,先看一下這個類里面有什么方法和屬性,有一個方法- (void)_loadValues;?我們對它進行分析。這里又要借助IDA分析,把PreferencesUI這個二進制文件丟到IDA里面,在0x19091EBB8這個位置打個斷點

(lldb) br s -a 0x19091EBB8+0x2e50000 Breakpoint 3: where = PreferencesUI`-[AboutDataSource _loadValues] + 1956, address = 0x000000019376ebb8

接下來我們進入關于來觸發斷點

(lldb) po (char *) $x28 "_setValue:forSpecifierWithKey:"

在這里打印變量x28的值,發現它是一個方法名,從名稱來看是給specifier賦值的,看來我們要尋找的真相已經很近了,讓代碼走到下面的位置0x19376ebd8

Process 2107 stopped * thread #1: tid = 0xe8e23, 0x000000019376ebd8 PreferencesUI`-[AboutDataSource _loadValues] + 1988, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: 0x000000019376ebd8 PreferencesUI`-[AboutDataSource _loadValues] + 1988 PreferencesUI`-[AboutDataSource _loadValues]: -> 0x19376ebd8 <+1988>: bl 0x198e58640 ; MGCopyAnswer0x19376ebdc <+1992>: mov x22, x00x19376ebe0 <+1996>: mov x1, x190x19376ebe4 <+2000>: bl 0x199a89bc0 ; objc_msgSend (lldb) po $x0 SerialNumber

此時我們打印的x0是一個NSCFConstantString,本質就是一個NSString,繼續ni讓程序運行到0x19376ebdc

Process 2107 stopped * thread #1: tid = 0xe8e23, 0x000000019376ebdc PreferencesUI`-[AboutDataSource _loadValues] + 1992, queue = 'com.apple.main-thread', stop reason = instruction step overframe #0: 0x000000019376ebdc PreferencesUI`-[AboutDataSource _loadValues] + 1992 PreferencesUI`-[AboutDataSource _loadValues]: -> 0x19376ebdc <+1992>: mov x22, x00x19376ebe0 <+1996>: mov x1, x190x19376ebe4 <+2000>: bl 0x199a89bc0 ; objc_msgSend 0x19376ebe8 <+2004>: cbnz x0, 0x19376ec4c ; <+2104> (lldb) po $x0 DNPMVG0EFF9V

在這里我們打印了變量x0的值為DNPMVG0EFF9V,這就是我們苦苦尋找的序列號。不難看出,序列號就是在0x19376ebd8這行拿到的,范圍越來越小,敵人無路可逃!下面我們就要對這行進行分析,我們按照之前的步驟,再次走到0x19376ebd8這個位置,這不過這次我們不要step-over,我們用si跳入看看

(lldb) si Process 2107 stopped * thread #1: tid = 0xe8e23, 0x0000000198e58640 libMobileGestalt.dylib`MGCopyAnswer, queue = 'com.apple.main-thread', stop reason = instruction step intoframe #0: 0x0000000198e58640 libMobileGestalt.dylib`MGCopyAnswer libMobileGestalt.dylib`MGCopyAnswer: -> 0x198e58640 <+0>: movz x1, #00x198e58644 <+4>: b 0x198e58648 ; ___lldb_unnamed_symbol64$$libMobileGestalt.dyliblibMobileGestalt.dylib`___lldb_unnamed_symbol64$$libMobileGestalt.dylib:0x198e58648 <+0>: stp x24, x23, [sp, #-64]!0x198e5864c <+4>: stp x22, x21, [sp, #16]

此時跳入了一個靜態庫libMobileGestalt.dylib,我們可以在usr/lib/ibMobileGestalt.dylib找到它,我們將它扔進IDA,用當前的addr減去libMobileGestalt.dylib的基地址偏移得到它的靜態地址0x196008640,對應的是一個函數MGCopyAnswer?

__text:0000000196008640 __text:0000000196008640 ; =============== S U B R O U T I N E ======================================= __text:0000000196008640 __text:0000000196008640 __text:0000000196008640 EXPORT _MGCopyAnswer __text:0000000196008640 _MGCopyAnswer ; CODE XREF: sub_196005958+30p __text:0000000196008640 ; sub_196006258+28p ... __text:0000000196008640 MOV X1, #0 __text:0000000196008644 B sub_196008648 __text:0000000196008644 ; End of function _MGCopyAnswer

這個函數最外層只有兩行代碼,將立即數0賦給x1,然后跳進了子程序sub_196008648,跳進去之后進行了一些很復雜的運算,這里就不做介紹了,里面的實現大概是這樣的:
x0是作為一個參數傳入的,并且這里x0的值為SerialNumber,在地址為0x196008678的地方,這個函數中x1變成了一串隨機數,有點像MD5加密之后的東西,應該是“鑰匙”

(lldb) po (char*) $x1 "l92SaBpqIvQs+KBljuwGA"

在0x196008690這里,我們setp-into這個函數,在函數的末尾返回值的地方0x196007474打個斷點,打印返回值x0

(lldb) po $x0 DNPMVG0EFF9V

這里的x0由SerialNumber變成了真正的序列號,并且就是在0x196008690對應的子程序sub_19600738C里面拿到的,所以我們就這樣一個猜測,在MGCopyAnswer函數中,x0作為一個參數傳入,并且在內部進行了一系列復雜的運算,拿到了獲取序列號的“鑰匙”x1,然后在sub_19600738C中拿到了最終的序列號。這里筆者也沒有對序列號的拿到在進行進一步的深究,這里蘋果做了很大的限制,再繼續研究恐怕也是收獲不大,而且我們在這里已經能拿到序列號了。?

三、驗證結果

接下來就是驗證的過程了,我們寫一個tweak來驗證,當然也可以用其他方式來驗證:
tweak的創建這里就不贅述了,我把我的tweak和makefile文件內容貼一下:

tweak文件:

tweak.xm: extern "C" NSString *MGCopyAnswer(NSString*); %hook SpringBoard - (void)applicationDidFinishLaunching:(id)application { %orig; NSString *serialNumber = [NSString stringWithFormat:@"%@",[MGCopyAnswer(@"SerialNumber") autorelease]]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:serialNumber message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; } %end

這里注入系統的SpringBoard,在SB啟動的時候hook住applicationDidFinishLaunching:函數,并且在這個函數里面添加獲取序列號的代碼,并且以彈框的形式展現出來。?

makefile文件:

THEOS_DEVICE_IP = 192.168.0.115 include $(THEOS)/makefiles/common.mk TWEAK_NAME = SerialNumber SerialNumber_FILES = Tweak.xm include $(THEOS_MAKE_PATH)/tweak.mk SerialNumber_LDFLAGS = -lMobileGestalt after-install::install.exec "killall -9 SpringBoard"

其中有一行SerialNumber_LDFLAGS = -lMobileGestalt千萬要注意,使用的時候要加載這個靜態庫,因為SpringBoard加載的時候我也不確定是否有加載這個庫,然后我們驗證一下吧!


序列號驗證-獲取
序列號驗證-系統

總結

以上是生活随笔為你收集整理的iOS9获取手机序列号serialNumber(UDID)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91麻豆精品国产91久久久使用方法 | 成人午夜久久 | 日日射天天射 | 日韩 在线 | 丁香五月网久久综合 | 日韩精品一区二区三区高清免费 | 欧美精品免费在线观看 | 97色资源| 色国产视频 | 国产成人精品综合久久久 | 久久久久久久久久久久久国产精品 | 四虎成人免费影院 | 欧美久久久 | 亚洲欧美日韩一二三区 | 亚洲一区不卡视频 | 97视频免费 | 99r在线| 国产在线视频不卡 | 国产精品一区二区在线观看免费 | 日韩在线观看第一页 | 久久夜夜爽 | 免费毛片一区二区三区久久久 | 国产一区在线免费观看视频 | 99热最新 | 日韩色高清| 亚洲婷婷综合色高清在线 | 国产主播大尺度精品福利免费 | 91精彩视频在线观看 | 99日韩精品| 日日夜夜综合网 | 免费av试看| 91成人短视频在线观看 | 亚洲在线看| 国产一级三级 | 最近日本韩国中文字幕 | 91高清视频 | 美女视频是黄的免费观看 | 福利视频一二区 | 色停停五月天 | 97日日碰人人模人人澡分享吧 | 中文字幕日韩免费视频 | 国产精品mv在线观看 | 国产精品久久久久一区二区 | 免费在线观看av的网站 | 国产白浆视频 | 国产91成人| 日日日操操 | 日本精品中文字幕在线观看 | 欧美国产一区二区 | 天天草天天干天天 | 天天干,天天射,天天操,天天摸 | 免费视频91蜜桃 | 免费在线观看毛片网站 | 韩日电影在线观看 | 久久综合狠狠综合久久狠狠色综合 | 天天干,夜夜操 | 国产一二区免费视频 | 在线免费视| 久久精品—区二区三区 | 99爱精品在线 | 四虎成人精品永久免费av九九 | 国产精品乱码久久 | 91综合视频在线观看 | 超碰人人草人人 | 国产精品久久久久永久免费观看 | 天堂av一区二区 | 日本中文字幕免费观看 | 77国产精品 | 一区二区三区在线免费播放 | 狠狠色丁香婷婷综合橹88 | 久热国产视频 | 国产精品免费观看在线 | 中文字幕在线播放日韩 | 在线免费观看视频一区二区三区 | 国产一区二区精品91 | 成人va天堂 | 美女久久精品 | 91探花在线视频 | 超级碰碰碰免费视频 | 一区二区三区在线观看免费 | 在线免费黄色av | 91精品免费看 | 久久精品视频2 | 日本高清免费中文字幕 | 人人爽人人爽人人片av免 | 成人在线播放av | 91精品国产一区 | 亚洲综合成人婷婷小说 | 99久久精品国产毛片 | 97电影在线看视频 | 免费视频久久久久久久 | 99精品色 | 日韩在线短视频 | 瑞典xxxx性hd极品 | 香蕉视频国产在线 | 91视频久久久久 | 91精品国产99久久久久久久 | 波多野结衣一区二区 | 久久久久久国产一区二区三区 | 精品在线视频观看 | 免费看色网站 | 午夜精品福利一区二区三区蜜桃 | 日韩视频免费播放 | 午夜精品区 | 99久久99久久精品国产片 | 国产一区二区三区 在线 | 免费毛片一区二区三区久久久 | 丝袜+亚洲+另类+欧美+变态 | 国产一级h | 欧美做受高潮电影o | 久久综合九色综合网站 | 五月天天av | 欧美91精品 | www视频免费在线观看 | 国产精品一区免费在线观看 | www.久久com| 日韩精品极品视频 | 日韩在线免费观看视频 | 日韩手机在线观看 | 91传媒视频在线观看 | 97国产超碰| 综合久久精品 | 亚洲日本在线视频观看 | 黄色一区二区在线观看 | 国产小视频在线看 | 亚洲欧美婷婷六月色综合 | 国产成人1区 | 在线免费观看视频 | 免费在线播放黄色 | 天天色成人 | 国产男女爽爽爽免费视频 | 成人av在线一区二区 | 国产黄色成人av | 在线电影 一区 | 91福利社区在线观看 | 精品国产欧美一区二区三区不卡 | 四虎在线免费视频 | 久久看片 | 丁香六月国产 | 精品美女在线视频 | 午夜视频不卡 | 最新av电影网站 | 香蕉视频在线免费看 | 五月婷丁香网 | 日韩精品视频免费专区在线播放 | 久久综合色天天久久综合图片 | 天堂在线免费视频 | 国产经典 欧美精品 | 免费视频久久久久久久 | 国产一级久久久 | 精品国产自在精品国产精野外直播 | 久操久 | 亚洲一区二区视频 | 日批网站在线观看 | 国产精品第一页在线 | 91色在线观看| 男女啪啪网站 | 天堂av在线免费观看 | 在线观看黄色免费视频 | 久久精品欧美一区二区三区麻豆 | 去看片| 亚洲精品成人av在线 | 午夜精品久久久久久久99婷婷 | 在线观看国产成人av片 | 人人澡人人草 | 波多野结衣资源 | 少妇bbbb搡bbbb桶 | 免费看的毛片 | 极品国产91在线网站 | 日韩精品免费在线观看 | 色99色| 亚洲欧美成人网 | 黄色三级久久 | 日韩一级电影在线观看 | 黄色小网站免费看 | 亚洲老妇xxxxxx | 精品影院一区二区久久久 | 在线观看免费av网 | 日韩色av色资源 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲aⅴ久久精品 | 久久国产麻豆 | 91精品国产乱码在线观看 | 黄p在线播放 | 午夜精品久久 | 伊人天堂久久 | www.在线观看视频 | 亚洲成人av影片 | 亚洲免费国产视频 | 精品自拍av | 欧洲视频一区 | 色www. | 国产精品原创在线 | 国产美女网站在线观看 | 亚洲在线激情 | 超碰97人人射妻 | 夜夜操天天操 | 97超在线视频 | 成年人在线免费看视频 | 99久久久久久久久久 | 99热超碰| 亚洲无吗av| 国内精品久久久久久久久久久久 | 日本不卡123 | 久久观看最新视频 | 成人亚洲精品久久久久 | 久草9视频 | 日韩欧美成人网 | 99视频精品全部免费 在线 | 国产一级二级视频 | 在线观看精品一区 | 免费网站色 | av天天澡天天爽天天av | 黄色一二级片 | 成人午夜免费福利 | av超碰在线观看 | 亚洲精品免费在线观看视频 | a级国产片 | 狠狠88综合久久久久综合网 | 日本黄色免费大片 | 国产精品中文 | 五月婷婷中文网 | 国产精品美女久久久久久久 | 成人黄色在线观看视频 | 久久人人射 | 午夜123 | 国产免费又爽又刺激在线观看 | 欧美日韩三级在线观看 | 国产精品免费不 | 97干com| 丁香综合av | 日韩av高清在线观看 | 1024手机基地在线观看 | 91成人观看 | 色婷婷狠狠操 | 国产高清精品在线观看 | 色播五月激情综合网 | 久久人人爽av | 四虎永久免费在线观看 | 国产精品一区二区免费看 | 午夜精品久久久久久久99无限制 | 日本在线观看一区二区 | 91桃色国产在线播放 | 粉嫩高清一区二区三区 | 四虎影视成人精品 | 欧美成人999 | 丁香5月婷婷 | 国产精品18久久久久vr手机版特色 | 欧美日韩一区二区三区在线免费观看 | www日韩在线观看 | 99色在线播放 | 国产精品久久久久久久久软件 | 中文字幕乱码电影 | 国产精品国产三级国产专区53 | 97精品在线| 婷婷在线五月 | 国产精品6| 日韩美视频 | 91成版人在线观看入口 | 色综合久久88色综合天天免费 | 日韩电影精品 | 国产一区 在线播放 | 久久99免费观看 | 精品久久久久久综合日本 | 在线观看国产一区二区 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 亚洲视频axxx | 日韩电影久久 | 久久一区二区三区四区 | 夜夜躁日日躁狠狠躁 | 久久欧美视频 | 91爱爱网址 | 免费国产在线观看 | 亚洲精品资源在线 | 国产精品久久久久久久免费大片 | 国产成在线观看免费视频 | 正在播放国产一区二区 | 精品国产欧美一区二区三区不卡 | 国内精品久久久久久久久久清纯 | 欧美在线视频一区二区 | 久草免费福利在线观看 | 欧美一级黄色视屏 | 黄色看片| 久久婷亚洲五月一区天天躁 | 日韩精品黄| 成人h视频在线 | 一级黄色视屏 | 高清不卡毛片 | 摸bbb搡bbb搡bbbb | 91九色国产视频 | 91视频88av | 国产三级国产精品国产专区50 | 国产色婷婷精品综合在线手机播放 | 日本性高潮视频 | 国产一级淫片免费看 | 欧美激情视频在线免费观看 | 91精品蜜桃 | 国产不卡免费视频 | 久久综合狠狠狠色97 | 久久久黄色免费网站 | 日韩欧美一区二区在线播放 | 最近日本中文字幕 | 久久免费看 | 久久久久成 | 日日爽天天操 | 久久免费播放视频 | 亚洲成a人片77777kkkk1在线观看 | 国产中文字幕一区 | 国产xxxx做受性欧美88 | 黄色成人毛片 | 国产无遮挡又黄又爽馒头漫画 | 在线视频18在线视频4k | 中文字幕在线免费看 | 日本美女xx | 四虎成人精品永久免费av九九 | 国产福利一区二区三区在线观看 | 久久精品电影网 | 91九色porn在线资源 | 国产大尺度视频 | 久久久久久久99精品免费观看 | 亚洲aⅴ乱码精品成人区 | 九九99靖品 | 日韩资源在线 | 久久久久久片 | 日日日干 | 在线观看免费 | 婷婷丁香六月天 | 国产精品毛片久久 | 91九色porny蝌蚪视频 | 欧美一级特黄aaaaaa大片在线观看 | 日本精品视频在线观看 | 视频一区二区免费 | 色婷婷在线播放 | 久久久久久高清 | 国产在线观看你懂得 | av一级久久| 国产一区私人高清影院 | 在线观看日韩av | 超碰在线人人 | 亚洲精品国产拍在线 | 一区二区三区 中文字幕 | 国产大片黄色 | 午夜精品久久久久久久久久久 | 狠狠躁日日躁狂躁夜夜躁av | av电影在线观看完整版一区二区 | 亚洲欧洲中文日韩久久av乱码 | 久久精品国产亚洲精品 | 手机av在线免费观看 | 69性欧美 | 免费a v在线 | 日韩色在线观看 | 国产麻豆精品久久 | 国产精品免费一区二区 | 久久短视频| 精品国精品自拍自在线 | 91精品视频一区二区三区 | 中文字幕乱码日本亚洲一区二区 | 久久久久久久久久久久电影 | 亚洲女人天堂成人av在线 | 顶级bbw搡bbbb搡bbbb | 久久99九九99精品 | 亚洲久草视频 | 精品福利在线 | 亚洲日b视频 | 国产精品 日韩 欧美 | 在线观看日韩精品视频 | 亚洲成aⅴ人在线观看 | 久久久影院官网 | 日韩精品在线观看视频 | 久久综合久久综合九色 | 国产精品一区二区三区在线播放 | 在线高清av | 97超碰福利久久精品 | 婷婷激情站 | 五月天综合色激情 | 蜜桃视频日本 | 久久久精品网站 | 在线导航福利 | 亚洲成aⅴ人在线观看 | 午夜的福利 | 免费日韩一区二区三区 | 免费a一级 | 69视频国产 | 亚洲国产伊人 | 日韩在线视频免费观看 | 国产精品 美女 | 精品免费久久 | 日本大片免费观看在线 | 国产视频在线观看一区 | 国产精品久久久久国产精品日日 | 久久午夜色播影院免费高清 | 黄色av影视 | 日韩高清在线一区二区三区 | 中文字幕在线观看资源 | 伊人黄色网 | 91成人免费 | 69绿帽绿奴3pvideos | 国产精品毛片一区视频 | 视频成人免费 | 免费在线观看一区二区三区 | 精品99免费视频 | 一级精品视频在线观看宜春院 | 日韩精品久久一区二区 | 97福利 | 日韩av免费大片 | 国产 日韩 在线 亚洲 字幕 中文 | 久久综合亚洲鲁鲁五月久久 | 伊人黄| 欧美日韩另类在线 | 日韩三级在线 | 91夫妻视频| 国产福利久久 | 国产精品麻豆果冻传媒在线播放 | 日本乱码在线 | 成人在线黄色 | 中文国产在线观看 | 中文字幕色综合网 | 96视频在线 | 全黄色一级片 | 免费看一级特黄a大片 | 精品视频亚洲 | 久久久高清一区二区三区 | 99这里精品 | 日本在线免费看 | 五月开心激情网 | 一区二区三区在线观看 | 亚洲精品一区二区精华 | 91九色在线 | 国产一区视频在线播放 | 天天插天天操天天干 | 欧美午夜a| 亚洲婷久久 | 丁香婷婷综合网 | 亚州av成人 | 黄色一级影院 | 91视频麻豆视频 | www.夜色321.com | 天天插夜夜操 | 日韩视频欧美视频 | 草久在线观看视频 | 日韩久久久久久久久久 | 国产在线播放一区二区三区 | 久久国产精品成人免费浪潮 | 国产精品乱码在线 | 91精品国产一区二区三区 | 欧美另类z0zx| 亚洲 欧洲av | 免费能看的黄色片 | 在线只有精品 | 国产精品久久久久久久久久白浆 | 高清av中文字幕 | 少妇搡bbbb搡bbb搡忠贞 | 美女视频久久黄 | 国产精品久久久久久麻豆一区 | 久久人91精品久久久久久不卡 | 69亚洲精品 | 国产最顶级的黄色片在线免费观看 | 久久九九久久 | 国产精品久久久久久爽爽爽 | 久久精品99 | 免费a视频在线观看 | 欧美日韩免费一区二区 | 国产91精品久久久久 | 在线观看久 | 国产亚洲视频在线观看 | 91久久影院 | 在线观看亚洲 | 在线小视频国产 | 911国产精品| 五月婷在线观看 | 射综合网 | 麻豆av一区二区三区在线观看 | 亚洲欧美日韩国产精品一区午夜 | 91亚洲国产成人 | 蜜桃av人人夜夜澡人人爽 | 手机av在线不卡 | 国产色在线视频 | 国产伦精品一区二区三区四区视频 | 国产美女网站在线观看 | 欧美日韩精品在线免费观看 | 在线观看aaa | 中国一区二区视频 | 亚洲好视频 | 国产99久久久精品 | 欧美精品国产综合久久 | 99视频在线免费 | 国产精品久久久久永久免费 | 天堂网一区二区 | 国产精品区免费视频 | 久久久久一区二区三区 | 久久夜色精品国产欧美乱极品 | 日韩在线激情 | 激情图片qvod| 片网址| 国产精品久久久777 成人手机在线视频 | 欧美精品一区在线发布 | 99re热精品视频 | 久久久综合九色合综国产精品 | 日韩精品无 | 国产 欧美 日产久久 | 国产亚洲精品成人av久久影院 | 人人爽人人澡人人添人人人人 | 日韩精选在线观看 | 久久精品视频2 | 免费高清在线观看成人 | 国产在线小视频 | 色婷婷狠狠五月综合天色拍 | 国产亚洲人成网站在线观看 | 香蕉影院在线 | 丝袜美腿在线 | 日韩精品在线视频免费观看 | 综合成人在线 | 国产精品久久久精品 | 日本最大色倩网站www | 中文字幕一区二区三区四区在线视频 | 亚洲国产一区二区精品专区 | 午夜视频色 | 国内视频 | 国产精成人品免费观看 | 久操中文字幕在线观看 | 午夜久久影视 | 日本3级在线观看 | 久久亚洲私人国产精品va | 日本中文字幕在线观看 | 成人免费在线视频观看 | 日韩高清在线看 | 人人澡超碰碰 | 少妇bbw搡bbbb搡bbbb | 1024手机看片国产 | www.狠狠色| 日韩精品一区二区久久 | 热久久99这里有精品 | 婷婷久草 | 国产a高清 | 中国一级片免费看 | 99热国产在线观看 | 97人人人 | 日韩精品视频免费在线观看 | 六月婷操 | 国产精品欧美久久久久天天影视 | 久久在线免费观看视频 | 91网址在线 | 日本久久久久久科技有限公司 | 国产亚洲综合性久久久影院 | 狠狠干天天射 | 少妇精品久久久一区二区免费 | 午夜色大片在线观看 | 国产99爱 | 精品久久久久久国产 | 中文字幕中文字幕中文字幕 | 天天综合操 | 99在线热播精品免费 | 中国一级片免费看 | 91日本在线播放 | 国产日韩在线视频 | 91成人蝌蚪 | 8x成人免费视频 | 国产亚洲精品久久 | 777久久久 | 天天天插| 日韩中文字幕亚洲一区二区va在线 | 免费在线91| 久久久2o19精品 | 最新日本中文字幕 | 91网址在线观看 | 亚洲国产精品传媒在线观看 | 国产在线视频资源 | 粉嫩av一区二区三区四区在线观看 | av在线网站免费观看 | 97夜夜澡人人爽人人免费 | 国产成人在线精品 | 国产破处在线视频 | 超碰av在线 | 99精品色 | 激情久久网 | 欧美一区二区免费在线观看 | 又黄又爽又刺激的视频 | 天天干,天天操,天天射 | 久久久久高清毛片一级 | 一区中文字幕电影 | 国产欧美日韩视频 | 久久综合给合久久狠狠色 | 亚洲一级二级 | 97精品国产一二三产区 | 成人cosplay福利网站 | 西西www444| 在线看日韩 | 婷婷综合网 | 日韩欧美一区二区在线观看 | av天天色| 国产成人高清av | 91视频链接 | 欧美小视频在线观看 | 成人免费xxx在线观看 | 成人毛片100免费观看 | 国产精品美乳一区二区免费 | av福利在线看| 日韩精品免费在线观看 | 日本中文一区二区 | 久草在线在线视频 | 国产精品一区二区三区久久久 | 六月婷婷网 | 午夜精品久久久久99热app | 国产日韩精品一区二区三区 | 亚洲国产中文字幕在线视频综合 | 色五月成人 | 91香蕉视频黄 | 成人av电影免费在线播放 | 日韩精品久久久久 | 91热视频| 69国产成人综合久久精品欧美 | 久久久久| 久草在线视频免费资源观看 | 日韩美在线 | 日韩一区二区免费播放 | 日韩激情影院 | 久久久久久在线观看 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 97偷拍视频 | 欧美国产亚洲精品久久久8v | 国产欧美三级 | av一区二区三区在线观看 | 最新日韩精品 | 国产高清小视频 | 日韩成人免费在线观看 | 日韩av不卡在线观看 | 成人av中文字幕在线观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产字幕在线观看 | 色婷婷99| 日韩中文字幕电影 | 日韩中文久久 | 一区国产精品 | 亚洲免费专区 | 国产午夜三级一区二区三 | 日韩在线免费高清视频 | 色的网站在线观看 | 天天性天天草 | 手机av电影在线观看 | 夜夜爽天天爽 | 亚洲精品综合在线 | 九九色在线 | 国产精品久久久久毛片大屁完整版 | 天天操天天操天天 | 成人a级黄色片 | 久久精品久久精品久久39 | 激情久久久久久久久久久久久久久久 | 成人h在线观看 | 91看片淫黄大片一级在线观看 | 粉嫩aⅴ一区二区三区 | 中文字幕一区二区三区久久蜜桃 | 天天干,天天草 | 狠狠色噜噜狠狠狠 | 久久久国产精品网站 | 黄色一级大片在线免费看产 | 色悠悠久久综合 | 色噜噜狠狠狠狠色综合 | 国产综合香蕉五月婷在线 | av一级久久| 九九在线国产视频 | 精品人妖videos欧美人妖 | 色先锋av资源中文字幕 | 一本之道乱码区 | 中文字幕色婷婷在线视频 | 在线视频 一区二区 | 日韩系列在线 | 日韩一区二区三区免费视频 | 久久综合加勒比 | 中文字幕日本特黄aa毛片 | 97超碰在| 亚洲人成在线观看 | 亚av在线| www四虎影院 | 日韩首页 | 国产精品va在线观看入 | 亚洲国产精品成人精品 | 五月婷婷丁香在线观看 | 色综合人人 | 激情丁香婷婷 | 深爱开心激情网 | 欧美一级艳片视频免费观看 | 亚洲精品18日本一区app | 国产欧美综合在线观看 | 国产一区在线视频播放 | 国产黄色精品在线观看 | 亚色视频在线观看 | 特级西西444www高清大视频 | 天天干天天操av | 在线中文字幕播放 | 日韩免费三区 | 免费在线中文字幕 | 五月综合网站 | 波多野结衣在线中文字幕 | 欧美在线aa | 国产资源免费在线观看 | 国产精品一区二区三区在线播放 | 中文字幕在线日 | 久久夜色精品国产欧美一区麻豆 | 日韩在线第一 | 六月婷婷色 | 日韩视频一区二区三区 | 开心丁香婷婷深爱五月 | 日本中文字幕在线播放 | 69视频在线 | 亚洲狠狠婷婷 | 91香蕉久久 | 国产自偷自拍 | 国产精品丝袜在线 | www.夜夜操 | 欧美日韩久久不卡 | 91av在线免费看 | 国产亚洲视频在线免费观看 | 黄色小说免费观看 | 综合网伊人 | 国产淫a | 精品国产一区二区三区在线 | 久久黄色影视 | 免费h精品视频在线播放 | 成年人在线观看网站 | 啪啪av在线| 成人黄色影片在线 | 丁香六月婷婷 | 久久久久国产精品免费免费搜索 | 欧美成人亚洲 | 欧美电影黄色 | 色爱区综合激月婷婷 | 人人讲下载 | 亚洲黄网址 | 91精品免费在线视频 | 黄色免费在线看 | 在线观看视频h | 在线观看国产 | 婷香五月| 中文字幕在线观 | 麻豆久久一区二区 | av线上免费看 | 久久久成人精品 | 女人魂免费观看 | 久久综合久久综合久久 | 国产成人精品国内自产拍免费看 | 国产精品成人一区二区三区 | 国产色在线 | 中文字幕在线观看视频免费 | 日韩欧美精品在线 | 成人在线免费视频观看 | 国产特级毛片aaaaaaa高清 | 在线免费视频a | 91热这里只有精品 | 欧美激情精品久久 | www.久久色 | 成人a免费看 | 99精品久久99久久久久 | 91麻豆操 | 在线观看国产成人av片 | 亚洲精品视频在线观看免费视频 | 国产日本在线 | 久久女教师 | 日韩精品视频在线观看免费 | 人人爽人人看 | 色婷av| 国产又粗又猛又色又黄视频 | 中文字幕亚洲情99在线 | 久久久久高清毛片一级 | 国模精品在线 | 亚洲综合在线播放 | www.神马久久 | 日本久草电影 | 免费成人黄色av | 伊人电影在线观看 | 久草在线高清视频 | 黄色av电影一级片 | 中文不卡视频在线 | 精品999久久久 | 日日干综合 | 91精品国产91久久久久福利 | 久久尤物电影视频在线观看 | 97超碰超碰| 色老板在线 | 国产高潮久久 | 久久尤物电影视频在线观看 | 久久精品xxx | 欧美久久久久久久久久久久 | 天天色天天射天天综合网 | 在线播放日韩 | www免费看片com | 久久免费视频网 | 天天摸天天操天天爽 | 五月天网页 | 婷婷狠狠操 | 伊人婷婷激情 | 超碰在线成人 | 一本一本久久a久久精品综合 | 久久免费试看 | 97色se | 欧美 日韩 国产 成人 在线 | 久久一区二区三区超碰国产精品 | japanese黑人亚洲人4k | 国产色视频网站2 | 久久国产精品网站 | 韩日精品在线 | 激情亚洲综合在线 | 久久精彩视频 | 99视频在线精品国自产拍免费观看 | 日本久久久久久 | 美女又爽又黄 | 欧美成人性战久久 | 在线观看视频一区二区三区 | 日韩av午夜在线观看 | av一级久久 | 国产aaa免费视频 | 久草在线这里只有精品 | 精品国产一区二区三区噜噜噜 | 精品久久久久久综合 | 日韩免费观看av | 天天天天色射综合 | 99免在线观看免费视频高清 | 日韩欧美aaa | 青青河边草免费直播 | 亚洲在线观看av | 91视频88av | 特黄色大片| 在线观看免费成人av | 精品日韩av| 91视频久久久久久 | 欧美另类v | 久久精品国产精品亚洲 | 91超在线 | 中文字幕av在线不卡 | 808电影免费观看三年 | www.天天成人国产电影 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产成人精品久久亚洲高清不卡 | 一级a性色生活片久久毛片波多野 | 国产精品九九热 | 美国av大片 | www毛片com| 国产成人av片 | 91在线观看高清 | 成人香蕉视频 | 国产一区二区久久久 | 91精品国产91久久久久福利 | 久久精品看片 | 亚洲免费a | 国产一区二区三区免费在线观看 | 一区二区三区四区免费视频 | 九九视频在线 | 午夜久久电影网 | av成人免费观看 | 亚洲精品男人的天堂 | 五月天中文字幕 | 97精品国产97久久久久久 | 久草在线中文888 | 日韩中文字幕国产精品 | 中文字幕久久精品亚洲乱码 | 亚洲特级片 | 欧美成人69av| 一本到在线 | 欧美久草网 | 日本精品久久久久久 | 香蕉网在线观看 | 视频在线91 | 精品乱码一区二区三四区 | 国产中文| 91在线播放国产 | 福利视频区 | 看国产黄色片 | 中文字幕在线看视频国产 | 久久精品人人做人人综合老师 | 久久精品国产成人精品 | 国产精品欧美日韩在线观看 | 91精品在线麻豆 | 久久精品视频在线看 | 国产精品一区久久久久 | 久久久国产一区 | 在线观看视频在线观看 | 国产玖玖精品视频 | 97电影在线 | 国产一级黄色免费看 | 午夜免费电影院 | 怡红院成人在线 | 日韩视频在线不卡 | 国产香蕉视频在线观看 | 国产v欧美 | 中文字幕 欧美性 | 九九视频这里只有精品 | 色综合色综合色综合 | 免费亚洲视频 | 成人免费xxx在线观看 | 国产一区成人 | 黄色官网在线观看 | 精品影院一区二区久久久 | 国产美女视频网站 | 日韩久久久久久久久 | 久久av福利 | 成人在线视频网 | 国产精品中文 | 伊人国产视频 | 在线探花| 91视频大全 | 99久久99视频只有精品 | 自拍超碰在线 | 日本女人逼 | 热久在线 | 午夜精品久久久久久久爽 | 欧美精品久久久久久久久久丰满 | av片在线观看 | 欧美一级片在线观看视频 | 欧美 另类 交 | 97视频在线看 | 日韩视频中文字幕在线观看 | 欧美大片aaa | 久久久www成人免费毛片 | 中文字幕成人一区 | 国产精品扒开做爽爽的视频 | 97人人模人人爽人人喊网 | 91chinese在线 | 欧美疯狂性受xxxxx另类 | 久久精彩视频 | 91精品成人久久 | 亚洲精品视频一二三 | 欧美日韩视频在线观看免费 | 国产二区免费视频 | 91精品老司机久久一区啪 | 久久久久女人精品毛片 | 狠狠躁日日躁夜夜躁av | 日日干综合 | 亚洲涩综合 | 欧美亚洲成人xxx | 国产亚洲精品久久久久久电影 | 中文字幕免费在线 | 97超碰人 | 久久中文字幕视频 | 蜜臀久久99精品久久久无需会员 | 黄色小说免费观看 | 亚洲一区久久 | 97色综合 | 国产美女在线免费观看 | 久草免费电影 | 日日躁夜夜躁aaaaxxxx | 成 人 a v天堂| 久久国产经典视频 | 伊人五月婷 | 又黄又爽又湿又无遮挡的在线视频 | 欧美高清成人 | www色婷婷com| 在线观看国产中文字幕 | 国产精品久久久久久久7电影 | 人人超碰免费 | 97超碰人人澡人人 | jizz18欧美18 | 日韩在线免费电影 | 久久久婷 | 日韩午夜高清 | 96久久久| 99在线热播精品免费 | 国产精品久久一区二区无卡 | 国产精品对白一区二区三区 | 狠狠躁日日躁夜夜躁av | 久久精品综合视频 | www.色综合.com | 怡红院成人在线 | 国产一级视频在线免费观看 | 人人澡人人澡人人 | 最新超碰 | 日韩久久一区 | 久操中文字幕在线观看 | 五月色丁香 | 在线观看韩国av | 国产不卡网站 | 久久不射电影网 | av网址最新 | www.com在线观看 | 亚洲成人精品国产 | 亚洲在线日韩 | 国产在线a不卡 | 黄色免费视频在线观看 | 久久精品国产一区二区三 | 国产香蕉视频在线观看 | 国产区第一页 | 国产精品一区一区三区 | 九九免费在线观看视频 | 米奇狠狠狠888 | 欧美专区亚洲专区 | 久久久久成人精品 | 99久久婷婷国产综合精品 | 亚洲精品视频一 | 中文字幕在线专区 | 色综合久久久久久中文网 | 精品在线视频一区 | 久久成人一区 | 国产男女无遮挡猛进猛出在线观看 | 国内精品久久久久久久影视简单 | 99久久9| 又爽又黄又无遮挡网站动态图 | 日韩在线短视频 | 中文字幕在线观看免费 | 欧美精品中文字幕亚洲专区 | 蜜臀av性久久久久蜜臀aⅴ流畅 |