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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Frida—HOOK 学习笔记1

發布時間:2024/1/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Frida—HOOK 学习笔记1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JAVA層HOOK

在開始之前,依舊是熟悉的工具官方文檔。因本人英文水平不高,大佬們可通過官網(https://frida.re/docs/home/)或看雪(https://bbs.pediy.com/thread-222729.htm)自取準確說明文檔觀看。

1.JAVA方法基礎

Java方法是語句的集合,它們在一起執行一個功能。

  • 方法是解決一類問題的步驟的有序組合
  • 方法包含于類或對象中
  • 方法在程序中被創建,在其他地方被引用

在Java中方法有一個的樣子;

修飾符:告訴編譯器如何調用該方法。定義了該方法的訪問類型。

返回值類型:就是功能結果的數據類型。當這個方法沒有返回值的時候,返回值的類型為void;當這個方法有返回值的時候,返回值的類型根據返回的數據來確定*(如果有返回值,必須使用return)**。*

方法名:符合命名規則即可。

參數:實際參數:就是實際參與運算的。形式參數;就是方法定義上的,用于接收實際參數的。

參數類型:就是參數的數據類型

參數名:就是變量名

方法體語句:就是完成功能的代碼。

return*:結束方法的。*

返回值:就是功能的結果,由return帶給調用者。

在知曉基本的Java方法結構后,開始本處的重點之一。

1) 普通方法

定義:簡單的說方法就是完成特定功能的代碼塊。

普通方法分為:有明確返回值的方法和沒有明確返回值的方法。

A.有明確返回值的方法的調用

可以單獨調用、輸出調用、賦值調用。

B.沒有明確返回值的方法調用(void類型方法的調用)

只能單獨使用。

舉個簡單的例子:

public class Fangfa {// 主方法public static void main(String args[]) {System.out.println(add(10,20));}//返回兩個整數相加public static int add(int a , int b){return a + b ;}}

通過例子可以發現,普通方法就是我們寫的最常見、最大眾化的。滿足方法基本結構。

2) 構造方法

構造方法是類的一種特殊方法,用來初始化類的一個新的對象,在創建對象(new 運算符)之后自動調用。Java 中的每個類都有一個默認的構造方法,并且可以有一個以上的構造方法。

構造方法需滿足條件:

1、方法名與類名同名。

2、在方法中不能使用return 語句返回即為該方法沒有任何返回值,包括 void。

3、在方法名的前面沒有返回值的類型聲明

通過上述條件可發現,構造方法會在普通的方法結構上發生一些變化,舉個例子:

public class Constructor {// 給Constructor類定義了一個成員變量nameprivate String name;// 無參構造方法,方法名必須跟類名一致,即首字母需要大寫public Constructor() {System.out.println("調用無參數的構造方法。。");}// 帶一個參數的構造方法public Constructor(String name) {// 通過this()調用無參構造方法this();this.name = name;// 構造方法里可以調用普通方法commonMethod();}public void commonMethod() {System.out.println("調用普通方法");}// 寫個主函數測試一下public static void main(String[] args) {// 通過無參構造創建一個Constructor對象Constructor cons1 = new Constructor();cons1.name = "我是通過無參構造器創建的對象";System.out.println(cons1);System.out.println("=====================我是分隔線=====================");// 通過有參構造方法創建另一個對象Constructor cons2 = new Constructor("我是通過有參構造方法創建的對象");System.out.println(cons2);}public String toString() {return this.getClass().getSimpleName() + "[我的名字是:" + name + "]";}}

運行結果如下:

3) 重載方法

重載方法(Overloading)的定義:如果有兩個方法的方法名相同,但參數不一致,哪么可以說一個方法是另一個方法的重載。 具體滿足條件包括:

  • 方法名相同
  • 方法的參數類型,參數個不一樣
  • 方法的返回類型可以不相同
  • 方法的修飾符可以不相同
  • main 方法也可以被重載

舉個例子:

class MyClass {int height;MyClass() {System.out.println("無參數構造函數");height = 4;}MyClass(int i) {System.out.println("房子高度為 " + i + " 米");height = i;}void info() {System.out.println("房子高度為 " + height + " 米");}void info(String s) {System.out.println(s + ": 房子高度為 " + height + " 米");}}public class MainClass {public static void main(String[] args) {MyClass t = new MyClass(3);t.info();t.info("重載方法");//重載構造函數new MyClass();} }

程序執行結果如下:

2.Frida安裝

對于安裝這部分,大家可在互聯網自行搜索安裝。個人建議是使用python2的舊版本,因為在burp中有一個brida工具來幫助使用Frida。Brida的使用可參考下述文章(https://blog.csdn.net/weixin_39190897/article/details/102691898),網絡上存在說python3也可使用該工具,不過本人嘗試后未成功。

在安裝Frida時要主要參考最新安裝教程所涉及的Frida及frida-tools的版本,直接使用pip進行安裝存在frida安裝最新版可以成功,但是安裝frida-tools時則會報錯。

3.普通方法HOOK

針對普通方法、構造方法、重載方法可使用APP安裝包:方法hook.app

安裝并啟動APP:

此處插入一個題外話,大佬們是不是看見一個可愛的群號呀,是不是想去搜一下呀。我替大家搜過了,知道了結果也就不打碼了。結果是這個樣子滴:

看到這個結果是不是可以放下手機了???

言歸正傳,發現APP在啟動后彈出3000,點擊普通方法彈出4000。

使用JADX等反編譯工具對APP進行反編譯操作,獲取到源碼。

在安卓源碼中存在文件AndroidManifest.xml,在這個文件內可尋找到中找到app的入口地址。訪問MainActivity,其代碼如下:

通過代碼可看出應用在運行后執行了一個onCreate方法,方法中包含一個方法為getCalc。這部分主要是寫了三個按鍵的事件和監聽,在方法最后一行出現了和按鍵無關的數字1000,2000。這個時候還記得應用運行時的彈出的3000嗎?

本節是使用Frida對普通函數進行hook,在app界面對應為按鈕1(button1),對于按鍵的響應事件被定義在onClick方法里,效果為點擊button1后彈出一個文本。在代碼中的關鍵方法為Utils.getCalc,這也是要hook的關鍵。在查看該方法的代碼:

發現該方法為簡單的加法運算。啟動firda對該函數進行hook。需要編寫一個腳本來進行操作,具體代碼這么寫呢?不要著急,frida官網給出了腳本的模版(https://frida.re/docs/examples/android/)通過本例寫出的腳本,告訴大家每部分是干嘛的。

frida的hook代碼如下:

import frida, sys //導入腳本所需的包jscode = """ //hook主要執行的代碼區域Java.perform(function () {//hook核心代碼包含在Java.perform函數之中。 var util = Java.use('com.xiaojianbang.app.Utils');//此處com.xiaojianbang.app.Utils為將要hook的方法所處的類的路徑。 util.getCalc.implementation = function (a, b) { // getCalc為在獲取類路徑后將要hook方法名。在這里更改類的方法的實現(implementation)console.log("Hook Start..."); send(a);send(b);send("Success!");return this.getCalc(a,b)//以上三行為hook代碼的執行代碼。} }); """ def message(message, data): if message["type"] == 'send': print("[] {0}".format(message['payload'])) else: print(message) process = frida.get_remote_device().attach('com.xiaojianbang.app') //利用Frida包中函數對要hook的app包名創建一個進程 script= process.create_script(jscode) script.on("message", message) script.load() sys.stdin.read()

對代碼了解之后可發現只需對標紅處代碼進更改即可。編寫的重點在于執行代碼處。對于代碼標綠處有如圖兩種情況:

代碼正常執行后結果為:

將執行代碼進行如下修改:

執行結果如下:

通過以上執行結果發現傳入的100,300成功的進行了加運算。說明對該函數成功進行了hook。

本節所涉及代碼框架應用于全文,建議大家理解普通方法的hook腳本后繼續向下。后文代碼將以hook處理代碼為主。

4.構造方法HOOK

本節利用上節APP進行構造方法hook,對應功能為button2,點擊后效果如下:

按鍵代碼如下:

查看代碼中關鍵方法Utils.getMoney。

發現getMoney方法內存在一個new的實例化方法Money,查看該方法的代碼。根據最開始對Java方法的基礎學習發現這個方法符合構造方法的特征。

要hook這個函數,依據上節的經驗開始編寫:

正常的寫代碼到這個位置了,但是這時突然想起構造方法名是不是和類名一模一樣的。那就沒有必要在這個地方再寫方法名稱。這個時候拿出了一個固定寫法為$init。將上述代碼改為:

代碼執行結果如下:

出現上述結果說明hook成功了,但是要利用工具對我們輸入的值進行操作,可將代碼改寫為:

執行代碼之后,app的執行結果應為下圖所示,說明hook并成功利用了方法。

5.重載方法HOOK

本節進入重載的hook,事件綁定在button3。其按鍵監聽代碼為:

代碼中關鍵方法為Utils.test。查看其代碼:

發現有兩個方法都叫test,根據掌握的知識,這兩個方法互為重載。對該函數進行hook。根據上面兩節的經驗在進行更改類的實現的時候,會有一個疑惑:兩個方法名字一樣,代碼如何去選擇?這個地方引入一個overload(),該方法()填寫內容為hook方法的參數的類型,空參時該括號內容也為空。例如:overload(“int”)

hook的測試代碼為:

執行結果如下:

通過上述過程,腳本在hook同名方法時,只需在overload()中將參數的類型依次填入。在遇到string類型的參數時,應填寫為:Java.lang.String,因為string是Java提供用來來創建和操作字符串的類。

6. 函數參數類型表示

不同的參數類型都有自己的表示方法

對于基本類型,直接用它在Java中的表示方法就可以了,不用改變,例如:

· int

· short

· char

· byte

· boolean

· float

· double

· long

基本類型數組,用左中括號接上基本類型的縮寫

基本類型縮寫表示表:

基本類型縮寫
booleanZ
byteB
charC
doubleD
floatF
intI
longJ
shortS

例如:int[]類型,在重載時要寫成[I

任意類,直接寫完整類名即可

例如:java.lang.String

對象數組,用左中括號接上完整類名再接上分號

例如:[java.lang.String;

1) 帶參數的構造函數

修改參數為byte[]類型的構造函數的實現

ClassName.$init.overload('[B').implementation=function(param){//do something}

注:ClassName是使用Java.use定義的類;param是可以在函數體中訪問的參數

修改多參數的構造函數的實現

ClassName.$init.overload('[B','int','int').implementation=function(param1,param2,param3){//do something}

2) 無參數構造函數

ClassName.$init.overload().implementation=function(){//do something}

調用原構造函數

ClassName.$init.overload().implementation=function(){//do somethingthis.$init();//do something}

注意:當構造函數(函數)有多種重載形式,比如一個類中有兩個形式的func:void func()和void func(int),要加上overload來對函數進行重載,否則可以省略overload

3) 一般函數

修改函數名為func,參數為byte[]類型的函數的實現

ClassName.func.overload('[B').implementation=function(param){//do something//return ...}

4) 無參數的函數

ClassName.func.overload().implementation=function(){//do something}

注: 在修改函數實現時,如果原函數有返回值,那么我們在實現時也要返回合適的值

ClassName.func.overload().implementation=function(){//do somethingreturn this.func();}

7. 構造對象參數HOOK

本節進入重載的hook,事件綁定在button4。執行效果為:

其按鍵監聽代碼為:

發現關鍵方法test中傳入了一個對象。查看關鍵函數代碼:

對比三個test方法,發現最后一個test的參數為一個對象還是一個重載。

按照重載方法hook的方式,我們可以編寫代碼:

var utils = Java.use('com.xiaojianbang.app.Utils');utils.test.overload().implementation = function (a) 但是因為本次傳入的內容是個人定義的內容。overload方法這里填寫內容這個時候可參考string的傳入。我們將overload內容要求變成傳入方法的全路徑。utils.test.overload('com.xiaojianbang.app.Money').implementation

代碼整理后為:

運行結果如下:

這個時候在輸出中文時會出現如下報錯:

解決辦法是:

但是本節的結果是構造對象參數,將隨機輸入的參數利用hook函數進行處理。操作代碼如下;

jscode = """Java.perform(function () {var utils = Java.use('com.xiaojianbang.app.Utils');var money = Java.use('com.xiaojianbang.app.Money');//上述兩行是將hook方法中涉及的方法所在類導入utils.test.overload('com.xiaojianbang.app.Money').implementation = function (a) {send("Hook Start...");send(a.getInfo());//利用hook方法內方式進行輸出,簡單就是將money這個參數值標示變成了avar mon = money.$new(2000,'gangyuan');//因為test內輸入參數所利用的Money為構造函數,在使用時需利用$new進行實例化使用,可當一個通用方式來寫。send(mon.getInfo());return this.test(mon);}});"""

執行結果如下,說明我們成功對目標方法進行了hook,并修改了傳入值。

8. 實例

在滲透測試過程中常會遇到數據包加密的情況。如下APP

用戶登陸數據如下:

針對數據包提示信息在源碼中進行搜索。

或者依據數據包提示接口位置進行搜索,在代碼附近找尋加密方式。各位大佬也可以用自己習慣的方式去找尋。

通過搜索關鍵字等方式,是為找到代碼中執行加密的部分:

我們發現傳輸的內容經過RequestUtil.encodeDesMap進行了處理。處理的數據內容為addMap,數據傳輸流程如下:

1.函數接受輸入參數發送,在login方法流程最后調用了requesNetwork方法。

2.requestNetwork方法中para2接受的參數一路傳遞至addRequestMap。

加密流程至加密處理時要加密內容進入到addMap。故獲取encodeDesMap相關信息。

RequestUtil.paraMap相關信息如下:

按上文獲取到加密代碼,目前可確定將要HOOK內容為paraMap:

在查看處理代碼時發現paraMap處理的內容為Map集合,直接HOOK該處內容為Map集合,涉及到字符串的拼接等不便于數據展示。在該方法的代碼中可發現Utils.md5方法,該方法對拼接后的數據進行了處理:

此處HOOK結果如下:

我們對encodeDesMap進行HOOK可獲取到加密后的結果。

9. 工具使用HOOK

這里用到的工具及環境有

  • BurpSuite,

  • HTTPDecrypt(https://github.com/lyxhh/lxhToolHTTPDecrypt),

  • Python3。

  • 注意這個地方環境變成了python3,對應的Frida和frida-tools要重新安裝。

    拿到一個新的app之后,總會有一段懵逼🤔尋找hook點的時候。HTTPDecrypt可以幫我較快的獲取到相應的內容。

  • 獲取到源碼,安裝所需要的環境庫。
  • 瀏覽器訪問地址,加載應用列表。如列表為空,多刷新刷新。
  • 將想要操作的APP的報名填入空格,點擊confirm。

  • 使用Finds功能對app內類、方法進行搜索。
  • 這個時候可以將目標類進行HOOKS,會講類中存在的方法進行逐一HOOK。

    進入HOOKS功能后,可看到上步選擇的類。點擊一下confirm。然后運行APP,進行正常的操作。

    ? 這時在該頁面會出現對HOOK函數結果的輸出:

    ? 在結果中尋找自己想要的結果,查看對應的方法。之后就可以自己寫腳本或者使用工具自帶的方法進行加密操作。

    ? 大佬們后可使用一下該工具與burp的結果使用,比brida較為方便。Brida涉及自己js腳本編寫,使用復雜度比較高,推薦使用該工具。

    隱私合規涉及部分方法HOOK

    HOOK腳本

    //此腳本為基于Frida的安卓權限檢測腳本,HOOK函數因Android版本問題,存在誤差,可自行測試 //打印堆棧信息,需要手動在下面的函數里自己添加調用,也可以自己再寫一個輸出函數。 //function showStacks() { // var Exception = Java.use("java.lang.Exception"); // var ins = Exception.$new("Exception"); // var straces = ins.getStackTrace(); // if (undefined == straces || null == straces) { // return; // } // console.log("============================= Stack strat=======================\r\n"); // console.log(""); // for (var i = 0; i < straces.length; i++) { // var str = " " + straces[i].toString(); // console.log(str\r\n); // } // console.log(""); // console.log("============================= Stack end=======================\r\n");// Exception.$dispose(); //}// APP申請權限 function checkRequestPermission() {try {var ActivityCompat = Java.use("androidx.core.app.ActivityCompat")} catch (e) {console.log(e)return}ActivityCompat.requestPermissions.overload('android.app.Activity', '[Ljava.lang.String;', 'int').implementation = function(p1, p2, p3) {var temp = this.requestPermissions(p1, p2, p3);console.log("APP申請權限", "申請權限為: " + p2);return temp} } // APP獲取IMEI/IMSI function getPhoneState() {try {var TelephonyManager = Java.use("android.telephony.TelephonyManager");} catch (e) {console.log(e)return}// API level 26 獲取單個IMEI的方法TelephonyManager.getDeviceId.overload().implementation = function() {var temp = this.getDeviceId();console.log("獲取IMEI", "獲取的IMEI為: " + temp)return temp;};//API level 26 獲取多個IMEI的方法TelephonyManager.getDeviceId.overload('int').implementation = function(p) {var temp = this.getDeviceId(p);console.log("獲取IMEI", "獲取(" + p + ")的IMEI為: " + temp);return temp;};//API LEVEL26以上的獲取單個IMEI方法TelephonyManager.getImei.overload().implementation = function() {var temp = this.getImei();console.log("獲取IMEI", "獲取的IMEI為: " + temp)return temp;};// API LEVEL26以上的獲取多個IMEI方法TelephonyManager.getImei.overload('int').implementation = function(p) {var temp = this.getImei(p);console.log("獲取IMEI", "獲取(" + p + ")的IMEI為: " + temp);return temp;};//imsi/iccidTelephonyManager.getSimSerialNumber.overload().implementation = function() {var temp = this.getSimSerialNumber();console.log("獲取IMSI/iccid", "獲取IMSI/iccid為(String): " + temp);return temp;};//imsiTelephonyManager.getSubscriberId.overload().implementation = function() {var temp = this.getSubscriberId();console.log("獲取IMSI", "獲取IMSI為(int): " + temp);return temp;}//imsi/iccidTelephonyManager.getSimSerialNumber.overload('int').implementation = function(p) {var temp = this.getSimSerialNumber(p);console.log("獲取IMSI/iccid", "參數為:(" + p + "), 獲取IMSI/iccid為(int): " + temp);return temp;} } // 獲取系統屬性(記錄關鍵的)。意義不大,frida獲取不到。暫時留著 function getSystemProperties() {try {var SystemProperties = Java.use("android.os.SystemProperties");} catch (e) {console.log(e)return}SystemProperties.get.overload('java.lang.String').implementation = function(p1) {var temp = this.get(p1);if (p1 == "ro.serialno") {console.log("獲取設備序列號", "獲取(" + p1 + "),值為:" + temp);}if (p1 == "ro.build.display.id") {console.log("獲取版本號", "獲取(" + p1 + "),值為:" + temp);}//MEIDif (p1 == "ril.cdma.meid") {console.log("獲取MEID", "獲取(" + p1 + "),值為:" + temp);}//手機型號if (p1 == "ro.product.model") {console.log("獲取手機型號", "獲取(" + p1 + "),值為:" + temp);}//手機廠商if (p1 == "ro.product.manufacturer") {console.log("獲取手機廠商", "獲取(" + p1 + "),值為:" + temp);}return temp;}SystemProperties.get.overload('java.lang.String', 'java.lang.String').implementation = function(p1, p2) {var temp = this.get(p1, p2)if (p1 == "ro.serialno") {console.log("獲取設備序列號", "獲取(" + p1 + " 、 " + p2 + "),值為:" + temp);}if (p1 == "ro.build.display.id") {console.log("獲取版本號", "獲取(" + p1 + " 、 " + p2 + "),值為:" + temp);}//MEIDif (p1 == "ril.cdma.meid") {console.log("獲取MEID", "獲取(" + p1 + " 、 " + p2 + "),值為:" + temp);}//手機型號if (p1 == "ro.product.model") {console.log("獲取手機型號", "獲取(" + p1 + " 、 " + p2 + "),值為:" + temp);}//手機廠商if (p1 == "ro.product.manufacturer") {console.log("獲取手機廠商", "獲取(" + p1 + " 、 " + p2 + "),值為:" + temp);}return temp;}SystemProperties.getInt.overload('java.lang.String', 'int').implementation = function(p1, p2) {var temp = this.getInt(p1, p2)if (p1 == "ro.build.version.sdk") {console.log("獲取SDK版本號", "獲取(" + p1 + "),值為:" + temp);}return temp;} } //獲取content敏感信息 function getContentProvider() {try {// 通訊錄內容var ContactsContract = Java.use("android.provider.ContactsContract");var contact_authority = ContactsContract.class.getDeclaredField("AUTHORITY").get('java.lang.Object');} catch (e) {console.log(e)}try {// 日歷內容var CalendarContract = Java.use("android.provider.CalendarContract");var calendar_authority = CalendarContract.class.getDeclaredField("AUTHORITY").get('java.lang.Object');} catch (e) {console.log(e)}try {// 瀏覽器內容var BrowserContract = Java.use("android.provider.BrowserContract");var browser_authority = BrowserContract.class.getDeclaredField("AUTHORITY").get('java.lang.Object');} catch (e) {console.log(e)}try {var ContentResolver = Java.use("android.content.ContentResolver");ContentResolver.query.overload('android.net.Uri', '[Ljava.lang.String;', 'android.os.Bundle', 'android.os.CancellationSignal').implementation = function(p1, p2, p3, p4) {var temp = this.query(p1, p2, p3, p4);if (p1.toString().indexOf(contact_authority) != -1) {console.log("獲取content敏感信息", "獲取手機通信錄內容");} else if (p1.toString().indexOf(calendar_authority) != -1) {console.log("獲取content敏感信息", "獲取日歷內容");} else if (p1.toString().indexOf(browser_authority) != -1) {console.log("獲取content敏感信息", "獲取瀏覽器內容");}return temp;}} catch (e) {console.log(e)return} } // 獲取安卓ID function getAndroidId() {try {var SettingsSecure = Java.use("android.provider.Settings$Secure");} catch (e) {console.log(e)return}SettingsSecure.getString.implementation = function(p1, p2) {if (p2.indexOf("android_id") < 0) {return this.getString(p1, p2);}var temp = this.getString(p1, p2);console.log("獲取Android ID", "參數為:" + p2 + ",獲取到的ID為:" + temp.toString());return temp;} } //獲取其他app信息 function getPackageManager() {try {var PackageManager = Java.use("android.content.pm.PackageManager");PackageManager.getInstalledPackages.overload('int').implementation = function(p1) {var temp = this.getInstalledPackages(p1);console.log("獲取其他app信息", "1獲取的數據為:" + temp);return temp;};PackageManager.getInstalledApplications.overload('int').implementation = function(p1) {var temp = this.getInstalledApplications(p1);console.log("獲取其他app信息", "getInstalledApplications獲取的數據為:" + temp);return temp;};} catch (e) {console.log(e)}try {var ApplicationPackageManager = Java.use("android.app.ApplicationPackageManager");ApplicationPackageManager.getInstalledPackages.overload('int').implementation = function(p1) {var temp = this.getInstalledPackages(p1);console.log("獲取其他app信息", "getInstalledPackages獲取的數據為:" + temp);return temp;};ApplicationPackageManager.getInstalledApplications.overload('int').implementation = function(p1) {var temp = this.getInstalledApplications(p1);console.log("獲取其他app信息", "getInstalledApplications獲取的數據為:" + temp);return temp;};ApplicationPackageManager.queryIntentActivities.implementation = function(p1, p2) {var temp = this.queryIntentActivities(p1, p2);console.log("獲取其他app信息", "參數為:" + p1 + p2 + ",queryIntentActivities獲取的數據為:" + temp);return temp;};ApplicationPackageManager.getApplicationInfo.implementation = function(p1, p2) {var temp = this.getApplicationInfo(p1, p2);var string_to_recv;// 判斷是否為自身應用,是的話不記錄console.log("APP包名是:"+ p1);recv(function(received_json_object) {string_to_recv = received_json_object.my_data;}).wait();if (string_to_recv) {console.log("獲取其他app信息", "getApplicationInfo獲取的數據為:" + temp);}return temp;};} catch (e) {console.log(e)}try {var ActivityManager = Java.use("android.app.ActivityManager");ActivityManager.getRunningAppProcesses.implementation = function() {var temp = this.getRunningAppProcesses();console.log("獲取其他app信息", "獲取了正在運行的App"+temp);return temp;};} catch (e) {console.log(e)} } // 獲取位置信息 function getGSP() {try {var locationManager = Java.use("android.location.LocationManager");} catch (e) {console.log(e)return}locationManager.getLastKnownLocation.overload("java.lang.String").implementation = function(p1) {var temp = this.getLastKnownLocation(p1);console.log("獲取位置信息", "獲取位置信息,參數為:" + p1)return temp;}locationManager.requestLocationUpdates.overload("java.lang.String", "long", "float", "android.location.LocationListener").implementation = function(p1, p2, p3, p4) {var temp = this.requestLocationUpdates(p1, p2, p3, p4);console.log("獲取位置信息", "獲取位置信息");return temp;} } // 調用攝像頭(hook,防止靜默拍照) function getCamera() {try {var Camera = Java.use("android.hardware.Camera");} catch (e) {console.log(e)return}Camera.open.overload("int").implementation = function(p1) {var temp = this.open(p1);console.log("調用攝像頭", "調用攝像頭id:" + p1.toString());return temp;} } //獲取網絡信息 function getNetwork() {try {var WifiInfo = Java.use("android.net.wifi.WifiInfo");//獲取ipWifiInfo.getIpAddress.implementation = function() {var temp = this.getIpAddress();var _ip = new Array();_ip[0] = (temp >>> 24) >>> 0;_ip[1] = ((temp << 8) >>> 24) >>> 0;_ip[2] = (temp << 16) >>> 24;_ip[3] = (temp << 24) >>> 24;var _str = String(_ip[3]) + "." + String(_ip[2]) + "." + String(_ip[1]) + "." + String(_ip[0]);console.log("獲取網絡信息", "獲取IP地址:" + _str);return temp;}//獲取mac地址WifiInfo.getMacAddress.implementation = function() {var temp = this.getMacAddress();console.log("獲取Mac地址", "獲取到的Mac地址: " + temp);return temp;}WifiInfo.getSSID.implementation = function() {var temp = this.getSSID();console.log("獲取wifi SSID", "獲取到的SSID: " + temp);return temp;}WifiInfo.getBSSID.implementation = function() {var temp = this.getBSSID();console.log("獲取wifi BSSID", "獲取到的BSSID: " + temp);return temp;}} catch (e) {console.log(e)}try {var WifiManager = Java.use("android.net.wifi.WifiManager");// 獲取wifi信息WifiManager.getConnectionInfo.implementation = function() {var temp = this.getConnectionInfo();console.log("獲取wifi信息", "獲取wifi信息");return temp;};} catch (e) {console.log(e)}try {var InetAddress = Java.use("java.net.InetAddress");//獲取IPInetAddress.getHostAddress.implementation = function() {var temp = this.getHostAddress();console.log("獲取網絡信息", "獲取IP地址:" + temp.toString());return temp;}} catch (e) {console.log(e)}try {var NetworkInterface = Java.use("java.net.NetworkInterface");//獲取macNetworkInterface.getHardwareAddress.overload().implementation = function() {var temp = this.getHardwareAddress();console.log("獲取Mac地址", "獲取到的Mac地址: " + temp);return temp;}} catch (e) {console.log(e)}try {var NetworkInfo = Java.use("android.net.NetworkInfo");NetworkInfo.getType.implementation = function() {var temp = this.getType();console.log("獲取網絡信息", "獲取網絡類型:" + temp.toString());return temp;}NetworkInfo.getTypeName.implementation = function() {var temp = this.getTypeName();console.log("獲取網絡信息", "獲取網絡類型名稱:" + temp);return temp;}NetworkInfo.getExtraInfo.implementation = function() {var temp = this.getExtraInfo();console.log("獲取網絡信息", "獲取網絡名稱:" + temp);return temp;}NetworkInfo.isAvailable.implementation = function() {var temp = this.isAvailable();console.log("獲取網絡信息", "獲取網絡是否可用:" + temp.toString());return temp;}NetworkInfo.isConnected.implementation = function() {var temp = this.isConnected();console.log("獲取網絡信息", "獲取網絡是否連接:" + temp.toString());return temp;}} catch (e) {console.log(e)} } //獲取藍牙設備信息 function getBluetooth() {try {var BluetoothDevice = Java.use("android.bluetooth.BluetoothDevice");//獲取藍牙設備名稱BluetoothDevice.getName.overload().implementation = function() {var temp = this.getName();console.log("獲取藍牙信息", "獲取到的藍牙設備名稱: " + temp)return temp;}//獲取藍牙設備macBluetoothDevice.getAddress.implementation = function() {var temp = this.getAddress();console.log("獲取藍牙信息", "獲取到的藍牙設備mac: " + temp)return temp;}} catch (e) {console.log(e)}try {var BluetoothAdapter = Java.use("android.bluetooth.BluetoothAdapter");//獲取藍牙設備名稱BluetoothAdapter.getName.implementation = function() {var temp = this.getName();console.log("獲取藍牙信息", "獲取到的藍牙設備名稱: " + temp)return temp;};} catch (e) {console.log(e)} } //獲取基站信息 function getCidorLac() {try {// 電信卡cid lacvar CdmaCellLocation = Java.use("android.telephony.cdma.CdmaCellLocation");CdmaCellLocation.getBaseStationId.implementation = function() {var temp = this.getBaseStationId();console.log("獲取基站信息", "獲取到的cid: " + temp);return temp}CdmaCellLocation.getNetworkId.implementation = function() {var temp = this.getNetworkId();console.log("獲取基站信息", "獲取到的lac: " + temp);return temp}} catch (e) {console.log(e)}try {// 移動 聯通卡 cid/lacvar GsmCellLocation = Java.use("android.telephony.gsm.GsmCellLocation");GsmCellLocation.getCid.implementation = function() {var temp = this.getCid();console.log("獲取基站信息", "獲取到的cid: " + temp);return temp}GsmCellLocation.getLac.implementation = function() {var temp = this.getLac();console.log("獲取基站信息", "獲取到的lac: " + temp);return temp}} catch (e) {console.log(e)} }Java.perform(function() {console.log("合規檢測敏感接口開始監控...");checkRequestPermission();getPhoneState();getContentProvider();getAndroidId();getPackageManager();getGSP();getCamera();getNetwork();getBluetooth();getCidorLac();//getSystemProperties(); })

    腳本執行結果

    不足

    學習環境為Android 8.0版本,因后期安卓版本更新帶來的安全特性,使得腳本在高版本下使用效果不是很理想。

    總結

    以上是生活随笔為你收集整理的Frida—HOOK 学习笔记1的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    免费黄av | 97成人免费视频 | 麻豆影视在线免费观看 | 久久综合色婷婷 | 亚在线播放中文视频 | 视频三区| 日韩二三区 | 午夜精品电影一区二区在线 | 国产精品毛片久久久久久 | 91看片在线免费观看 | av亚洲产国偷v产偷v自拍小说 | 成人超碰97| www.xxxx欧美 | 天天色天天操天天爽 | 免费看一级特黄a大片 | 99久久精品久久亚洲精品 | 欧美日韩国产网站 | 婷婷五天天在线视频 | 日韩精品一区二区免费 | 高清色免费 | 久久天天躁夜夜躁狠狠85麻豆 | 手机成人av| 国产精品综合久久久 | 日韩在线观看一区二区三区 | 黄色av一区 | 色老板在线 | 久久久免费视频播放 | 国产一区二区久久久久 | 久久午夜剧场 | www.日本色 | 欧美二区在线播放 | 高清免费在线视频 | 岛国一区在线 | 国产精品字幕 | 日韩在线视频网址 | 久久a免费视频 | 91在线91拍拍在线91 | 一级黄色大片在线观看 | 在线观看日韩中文字幕 | 麻豆国产网站 | 91av在线免费视频 | 国产成人精品一区一区一区 | 五月天六月丁香 | 热久久99这里有精品 | 美女久久久久久久久久 | 婷婷网址 | 一级黄色大片在线观看 | 久章草在线| 亚洲欧美日韩精品久久久 | 国产一区欧美一区 | 日本黄色免费播放 | 国产精品成人a免费观看 | av福利在线导航 | 精品99在线视频 | 91免费版在线 | 天天天天色射综合 | 国产成人精品免高潮在线观看 | 99精品视频精品精品视频 | 草久久久 | 亚洲精品66 | 亚洲草视频 | 人人草在线视频 | 中文字幕在线国产精品 | 久久99久国产精品黄毛片入口 | www黄免费| 国产91在线 | 美洲 | 99久久影院 | 午夜视频免费 | 精品嫩模福利一区二区蜜臀 | 人人看看人人 | 免费黄在线观看 | 久草在线资源观看 | av免费片| 综合色伊人| 婷五月天激情 | 欧美午夜精品久久久久久孕妇 | 国产一区二区在线免费观看 | 国产一及片 | 亚洲美女在线一区 | 亚洲第二色 | 激情久久久久 | 波多野结衣视频一区二区 | 国产精品女人久久久久久 | 国产成人综合图片 | 国产不卡免费av | 国产精品免费看 | 婷婷综合伊人 | 天天干天天干天天操 | 国产黄色理论片 | 日韩av一卡二卡三卡 | 在线 视频 亚洲 | 91精品导航| 亚洲六月丁香色婷婷综合久久 | 久久人人爽人人人人片 | 国产精品白丝jk白祙 | 四虎影视4hu4虎成人 | 精品久久久久久久久久岛国gif | 亚洲国产美女久久久久 | 深夜免费小视频 | 久久久久这里只有精品 | 色妞色视频一区二区三区四区 | 色狠狠一区二区 | 69国产在线观看 | 亚洲一级在线观看 | 国产一性一爱一乱一交 | 在线日韩| 久久在线观看 | 欧美一区二区免费在线观看 | 中文字幕在线视频精品 | 成人不用播放器 | 久久精品国产免费看久久精品 | wwwwww国产 | 激情视频网页 | 欧美日韩国产二区三区 | 国产在线精品一区二区 | 人人爱人人添 | 久久九九影视网 | 久久公开视频 | 精品国产成人在线影院 | 成人国产网址 | 日韩精选在线 | www.五月天 | 国产精品区在线观看 | 久热爱 | 亚洲婷婷在线 | 国产综合在线观看视频 | 久草在线资源视频 | 午夜精选视频 | 操夜夜操 | 免费在线观看av的网站 | 色综合天天综合网国产成人网 | 91女神的呻吟细腰翘臀美女 | 午夜av一区二区三区 | 中文字幕在线观看视频一区 | 91完整版 | 国产在线欧美日韩 | 国产精品密入口果冻 | 久草在线资源网 | 99视频国产精品免费观看 | 在线一区二区三区 | 免费视频久久久 | 91在线看免费| 国产精品久久久久影院日本 | www.黄色| 狠狠色噜噜狠狠狠狠2021天天 | 最新的av网站 | 永久免费视频国产 | 亚洲欧美国产日韩在线观看 | 六月丁香社区 | 国产二区视频在线观看 | aaa日本高清在线播放免费观看 | 日本中文字幕视频 | 国产精品一区二区久久国产 | av九九九 | 成片免费观看视频大全 | 天天天干 | 天天爱天天 | 午夜久久网 | 中文字幕文字幕一区二区 | 国产午夜三级一区二区三桃花影视 | 五月天天在线 | 香蕉久草 | 最新av网址在线 | 日韩视频免费观看高清 | 999久久国产精品免费观看网站 | 麻豆视频国产精品 | 久久精品国产亚洲精品 | 国产一线二线三线在线观看 | 国产一区在线播放 | 国内精品一区二区 | 国产精品毛片久久久久久 | 免费人成网 | 久久综合中文字幕 | 九九视频免费观看视频精品 | 91亚洲国产 | 精品久久久免费 | 色婷婷国产在线 | 国产精品美女久久久久久网站 | 中文字幕成人av | 黄色软件在线观看视频 | 国产欧美高清 | 精品成人国产 | 狠狠躁夜夜躁人人爽视频 | 国产视频观看 | 精品国产欧美 | 五月色丁香 | 在线看片a | 日韩中文字幕免费看 | 黄色精品久久久 | 日本狠狠色| 日韩综合色| 久久视频免费观看 | 特级黄色片免费看 | 久久人人爽人人爽人人片 | 国产成人一区二区三区 | 天天插综合 | 色五婷婷 | 在线观看www视频 | 国产精品99久久久久久小说 | 国产精品18久久久久久久久久久久 | 九九免费观看全部免费视频 | 久久久久亚洲精品成人网小说 | 欧美性生活小视频 | 日韩av中文字幕在线免费观看 | 中文一区二区三区在线观看 | 国内精品久久久久久久影视麻豆 | 狠狠狠狠狠狠狠狠干 | 夜夜夜夜爽 | 国产伦理久久精品久久久久_ | 国产精品99久久99久久久二8 | 午夜免费电影院 | 中文字幕在线观看免费观看 | 久草亚洲视频 | 国产精品久久久久久久久蜜臀 | 欧美性色网站 | 五月婷婷激情 | 精品国产_亚洲人成在线 | 午夜视频在线观看一区二区三区 | 亚洲成av人片在线观看 | 国产精品日韩 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 日韩成人精品一区二区 | 美女视频a美女大全免费下载蜜臀 | 激情视频免费在线观看 | 国产精品久久久久影院日本 | 国产高清免费在线播放 | 日韩网页| 欧美福利在线播放 | 欧美日韩不卡一区 | 久久人操| 青青河边草观看完整版高清 | 日韩精品一区电影 | www.在线看片.com | 福利视频一二区 | 亚洲天堂网在线播放 | 国产精品乱码一区二三区 | 天天综合网久久综合网 | a在线免费| 91视频91色| 首页中文字幕 | 欧美狠狠色 | 国产伦精品一区二区三区… | 91看片淫黄大片在线播放 | www.久久com | 欧美动漫一区二区三区 | 天天操 夜夜操 | 91麻豆精品国产91久久久久久久久 | 日日摸日日添夜夜爽97 | 91传媒在线播放 | 日韩免费二区 | 欧美-第1页-屁屁影院 | 欧美成人aa | 又湿又紧又大又爽a视频国产 | 国产一级片不卡 | www.888av | 特级毛片在线观看 | 国产午夜三级一二三区 | 综合网av| a成人v在线 | 精品国内自产拍在线观看视频 | 国产成人精品一区二区三区福利 | free,性欧美 九九交易行官网 | 国产一区二区三区四区大秀 | 曰韩在线 | 成人免费网站在线观看 | 日韩欧美视频在线免费观看 | 免费高清男女打扑克视频 | 天天干天天操天天拍 | 日本精品视频免费 | 正在播放 久久 | 操操操日日 | 丁香九月激情综合 | 91中文字幕永久在线 | 91试看| av中文字幕亚洲 | 国产精品久久嫩一区二区免费 | 色噜噜日韩精品欧美一区二区 | 日韩高清免费电影 | 久久久免费电影 | 国产精品免费小视频 | 日韩免费一区二区在线观看 | 中文字幕资源在线 | 2021国产视频 | 国产精品视频一二三 | 中文字幕一区二区三区乱码在线 | 久久少妇 | 91麻豆精品国产91久久久使用方法 | 国产999在线观看 | 色午夜影院 | 17婷婷久久www | 精品一区二区久久久久久久网站 | 97超碰免费在线观看 | 视频99爱 | 日韩区欠美精品av视频 | 国产在线播放不卡 | 91精品视频在线看 | 天天干夜夜干 | 91看片淫黄大片在线播放 | 麻豆视频免费网站 | 亚洲精品国偷拍自产在线观看 | 日韩激情在线视频 | 天天av在线播放 | 中文字幕在线观看完整版 | 丰满少妇在线观看 | 色亚洲网 | 欧洲av不卡| 欧美粗又大 | 天天干婷婷| 美女一级毛片视频 | 九九色视频| 国产精品一区二区三区在线 | 国产精品欧美久久久久天天影视 | 911香蕉视频 | www.五月婷婷.com| 三上悠亚一区二区在线观看 | 国产精品va在线播放 | 中文字幕av在线不卡 | 国产精品一区二区久久久 | 国产精品毛片久久蜜 | 亚洲国产高清在线观看视频 | 在线观看韩国av | 欧产日产国产69 | 久草国产精品 | 中文字幕不卡在线88 | 国产精品美女久久久免费 | 狠狠干狠狠操 | 黄色在线免费观看网址 | 亚洲欧洲成人 | 国产福利精品视频 | 国产精品白丝jk白祙 | 日韩在线视频网站 | 国产精品久久久久久久久费观看 | 国产精品爽爽久久久久久蜜臀 | 在线免费观看视频你懂的 | 五月婷婷黄色 | 99精品在线| 成人黄色在线看 | 久久玖| 国产高清黄色 | 天天干,天天射,天天操,天天摸 | 日日日日日 | 韩国视频一区二区三区 | 国产一区二区在线影院 | 精品国产乱码久久久久久三级人 | 五月婷婷一区二区三区 | 91在线视频在线观看 | 久爱精品在线 | 美女禁18| 中文字幕av在线不卡 | 人人爽人人爽 | 欧美精品免费在线观看 | 日韩天天干| 国产丝袜高跟 | av视屏在线 | 日韩欧美一区二区不卡 | 成年人视频在线免费播放 | 中文字幕免费在线看 | 欧美在线观看视频免费 | 99精品在线免费 | 久草观看 | 久久69av| 综合网五月天 | 韩国精品在线 | 午夜天使 | 国产精品美女久久久久久免费 | 黄色视屏av | 麻豆91网站 | 国模精品一区二区三区 | 欧美日韩国产精品一区 | 日韩精品一区二区三区水蜜桃 | 日韩三级免费观看 | 国产原厂视频在线观看 | a级国产片 | 色人久久| 97av在线视频免费播放 | 日韩色一区二区三区 | 国产护士hd高朝护士1 | 91精品啪在线观看国产线免费 | 99久久精品国产欧美主题曲 | 激情五月在线 | 男女精品久久 | 国产91aaa | 精品国产欧美一区二区 | 亚洲一区二区高潮无套美女 | 精品夜夜嗨av一区二区三区 | 五月天中文在线 | 欧美在线一二区 | 精品九九久久 | 成人永久免费 | 中文在线字幕免 | 麻豆影音先锋 | 最新国产精品拍自在线播放 | 日日日日 | 久久福利影视 | 天天摸日日操 | 探花视频在线观看免费 | 欧美精品v国产精品 | 精品久久久成人 | 国产精品理论视频 | 久久深爱网 | 久久精品国产一区 | 91麻豆精品 | 国产视频欧美视频 | 一区二区三区四区在线 | 欧美性生活小视频 | 2017狠狠干 | 国产精品美女免费看 | 欧美日韩3p | 久草观看视频 | 玖玖精品在线 | 91亚洲精品在线观看 | 亚洲激情综合网 | 亚洲第一区在线播放 | 色综合婷婷 | 午夜精品视频一区二区三区在线看 | 国产69精品久久99的直播节目 | 97超碰香蕉 | 91最新在线视频 | 久久日韩精品 | 五月天久久精品 | 久久精品国产一区二区 | 日韩精品中文字幕在线观看 | 久久激情五月丁香伊人 | www.com.日本一级 | av网址在线播放 | 天天草视频| 国产午夜三级一区二区三 | 亚洲国产精品久久久久婷婷884 | 欧美日韩精品影院 | 日韩影视在线 | 久久国产亚洲 | 久久96 | 色中色亚洲 | 激情综合婷婷 | 欧美日韩国产三级 | 亚洲视频在线免费看 | 久草在线免费在线观看 | 91丨九色丨国产在线 | 午夜国产福利在线 | 久久这里只有精品视频99 | 国产日韩精品视频 | 91最新地址永久入口 | 97视频在线观看视频免费视频 | 在线 精品 国产 | 一级一片免费视频 | 国产无区一区二区三麻豆 | 欧美一二三区在线播放 | av在线短片 | 一本一道久久a久久精品蜜桃 | 免费观看www小视频的软件 | 国产免费久久精品 | 久久艹影院 | 亚洲激情综合 | 制服丝袜在线91 | 天堂av在线网| 亚洲成av人片在线观看www | 久久私人影院 | 国产在线一区二区三区播放 | 日本少妇久久久 | 精品国产伦一区二区三区观看方式 | 在线免费黄色毛片 | 精品久久1 | 国产精品av久久久久久无 | 视频在线观看国产 | 久久久久久久国产精品影院 | av三级在线播放 | 国产精品免费久久久久 | 日韩最新在线视频 | 亚洲精品久久久久www | 狠狠干网| 亚洲涩涩网 | 亚洲成人xxx | 国产1级毛片 | 97超碰在线视 | 国产精品一级在线 | 伊人永久在线 | 国产精品久久久久久久久久三级 | 国产在线国产 | 四川妇女搡bbbb搡bbbb搡 | 国产精品久久久久久久电影 | 日韩一区二区三区免费电影 | 四虎小视频 | 色资源二区在线视频 | 国产视频一区精品 | aaa日本高清在线播放免费观看 | 国产精品99久久久久久久久 | 国产精品2018 | 在线成人短视频 | 国产视频一级 | 久久综合五月天婷婷伊人 | 久久精品这里都是精品 | 国产高清网站 | 午夜精品一区二区三区视频免费看 | 久久久久婷 | 日韩av一区二区三区四区 | 国产不卡一区二区视频 | 国产精品久久久久久久久久久久久 | 欧美成人手机版 | 超碰在线99 | 国产 日韩 欧美 中文 在线播放 | 狠狠干2018| av在线超碰 | 色五月色开心色婷婷色丁香 | 国产黄在线免费观看 | 91精品一 | 色在线观看网站 | 亚洲精品黄色片 | 久久这里只有精品久久 | 99 久久久久 | 国产高清视频色在线www | 免费视频a | aav在线| av片子在线观看 | 国产字幕在线播放 | 精品av网站 | 国产在线a | 91精品国产综合久久福利 | 成人一级片免费看 | 99精品国产99久久久久久97 | 国产精品亚 | 91中文字幕一区 | 日本成人免费在线观看 | 国内久久久久久 | 97视频在线观看视频免费视频 | 狠狠色伊人亚洲综合网站色 | 精品久久久网 | 亚洲一级电影在线观看 | 蜜臀久久99精品久久久无需会员 | 国产福利91精品一区 | 日韩精品第1页 | www.久久com| 精品国产欧美 | 高清不卡免费视频 | 国产综合91| 成年人在线观看 | 麻豆一二 | 精品国产中文字幕 | 人人艹视频 | 黄色电影网站在线观看 | 午夜av免费在线观看 | 亚洲精品资源在线观看 | 午夜视频在线观看一区二区三区 | 久草在线最新免费 | 九七视频在线 | 色狠狠一区二区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 成人免费在线网 | 伊人久久在线观看 | 狠狠网站 | 久久免费a| 中文字幕在线网址 | 国产色女人 | 成人久久视频 | 中文字幕乱码电影 | 西西大胆啪啪 | 欧美黄在线| 狠狠色丁婷婷日日 | 免费瑟瑟网站 | 亚洲综合欧美激情 | 1024手机基地在线观看 | 国内精品免费久久影院 | 久草资源在线观看 | 国产精品嫩草影院9 | 中文字幕国产亚洲 | 香蕉视频最新网址 | 国内精品免费久久影院 | 狠狠狠色丁香综合久久天下网 | 97精品国产一二三产区 | 日日爽天天操 | 97色狠狠 | 国产尤物在线视频 | 久久国产精品99久久久久久老狼 | 欧美在线一二 | 国产精品久久久久久久久免费看 | 麻花豆传媒mv在线观看 | 91一区在线观看 | 日韩欧美区 | 国产在线观看91 | 国产成人精品一区二区三区在线观看 | 超碰999| 国产在线播放一区二区三区 | 欧美性色黄大片在线观看 | 97狠狠操| 国产精品日韩欧美一区二区 | 美女免费视频观看网站 | 97视频免费在线 | 五月天婷亚洲天综合网精品偷 | 91麻豆精品国产自产在线游戏 | 91在线九色| 狠狠狠狠狠干 | 中文字幕在线观看你懂的 | 天堂在线一区二区 | 久久成人综合视频 | 在线中文字幕av观看 | 国产黄在线播放 | 久久免费视频在线观看6 | www.在线观看av | av中文字幕日韩 | 日韩精品亚洲专区在线观看 | 麻豆一区在线观看 | 亚洲人成网站精品片在线观看 | 国产露脸91国语对白 | 亚洲a色| 亚洲最大av网站 | 久久欧洲视频 | 成人免费在线视频观看 | 在线观看韩日电影免费 | 99精品免费久久久久久久久 | 九九九九免费视频 | 91传媒免费观看 | 视频在线国产 | 久久国产精品二国产精品中国洋人 | 欧美性黄网官网 | 欧美一区二区精美视频 | 日韩av播放在线 | 中文字幕在线国产 | 色婷婷电影网 | 一级黄色毛片 | 97超碰在线视 | 国产精品尤物视频 | 亚洲涩综合 | 黄色一级大片在线免费看产 | 精品国产伦一区二区三区 | 国产精品久久久久久一区二区三区 | 精品一区二区三区久久 | 免费a v在线 | www·22com天天操| 一级大片在线观看 | 91在线播放视频 | 在线视频日韩一区 | 日韩电影在线观看一区二区 | 91网免费观看 | 91大神精品视频 | 99久久精品国产观看 | 人人插人人草 | 日本中文字幕在线观看 | 蜜臀av在线一区二区三区 | 色综合久久66 | 99国产精品 | 国产日产精品久久久久快鸭 | 91视频3p | 国产精品久久电影网 | 欧美伊人网 | 看av免费网站 | av超碰在线观看 | 一区二区网 | 四虎亚洲精品 | 国产精品乱码久久久久久1区2区 | 久操免费视频 | 亚洲一区二区三区四区在线视频 | 韩国一区二区三区在线观看 | 亚洲高清久久久 | 亚洲精品久久视频 | 天天操天天射天天操 | 婷婷色站 | 黄色美女免费网站 | 色婷婷久久久综合中文字幕 | 最近中文字幕在线中文高清版 | 91久色蝌蚪| 亚洲国产三级在线 | 亚洲影院一区 | 久久福利| 欧美成人在线免费 | 国产视频亚洲 | 久久久国产精品一区二区中文 | 亚洲人在线7777777精品 | 亚洲精品97 | 一区二区三区四区不卡 | 日韩资源在线观看 | 亚洲欧美日韩在线一区二区 | 欧美性色xo影院 | 国产亚洲字幕 | 色干干 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产流白浆高潮在线观看 | 麻豆精品91 | 349k.cc看片app | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成人在线免费视频 | 久久亚洲综合色 | 国产精品美女999 | 天天摸夜夜添 | 精品在线观看国产 | 在线免费视频a | 欧美日韩高清一区二区三区 | 国产中文自拍 | 中文字幕在线视频一区 | 天天综合色 | 丁香五婷 | 日韩精品91偷拍在线观看 | 中文字幕中文字幕中文字幕 | 在线观看视频一区二区 | 91人人揉日日捏人人看 | 欧美日韩性视频 | 日韩在线观看第一页 | 国产一区二区在线视频观看 | 午夜精品区 | 缴情综合网五月天 | 香蕉视频一级 | 伊人天天狠天天添日日拍 | 色婷婷狠| 久久免费中文视频 | 久色免费视频 | 日韩欧美视频一区二区 | 天天操天天拍 | 麻豆一区在线观看 | 91精品久久久久久久久 | 在线观看亚洲国产 | 激情欧美一区二区三区免费看 | 深夜免费福利网站 | 欧美日韩国产综合一区二区 | 婷婷激情五月综合 | 中文字幕五区 | 国产高清视频免费最新在线 | 五月激情av | 天天天干天天天操 | 亚洲 欧美 综合 在线 精品 | 亚洲黄色激情小说 | 成人精品影视 | 国产精品麻 | 免费在线观看国产精品 | 国产不卡在线播放 | 99热这里有精品 | 久久一二区| 国产精品久久久久久久99 | 色欧美日韩 | 国产精品爽爽久久久久久蜜臀 | 国产黄色观看 | 久久久久久久久免费视频 | 成人va在线观看 | 国产精品麻豆一区二区三区 | 国产精品一区二区吃奶在线观看 | a在线观看视频 | 狠狠干狠狠艹 | 日韩中文字幕免费在线观看 | 日本公乱妇视频 | 狠狠狠综合 | 久草在线高清视频 | 成人91av| 欧美日韩视频精品 | 日韩免费网址 | 国产一级免费播放 | 欧美一区二区三区在线视频观看 | 国产精品九九久久久久久久 | 久久久久久久久综合 | 91久久黄色 | 亚洲va欧美va | 在线观看免费黄色 | 韩国中文三级 | 亚洲爱爱视频 | 成人黄色av免费在线观看 | 日韩精品一区二区三区水蜜桃 | 色婷婷久久久综合中文字幕 | 人成在线免费视频 | 久久国产精品区 | 色网站在线免费观看 | 日韩免费在线一区 | 午夜av日韩 | 伊人久久精品久久亚洲一区 | 亚洲一区精品二人人爽久久 | 又黄又爽又色无遮挡免费 | 精品日韩视频 | 国内视频在线 | 欧美精品亚洲精品日韩精品 | 手机在线观看国产精品 | 波多野结衣在线视频一区 | 毛片无卡免费无播放器 | 欧美一级电影免费观看 | 日韩精品亚洲专区在线观看 | 久久96国产精品久久99软件 | 亚州国产精品视频 | av.com在线 | 97超碰资源站 | 亚洲精品国产精品久久99热 | 一区在线播放 | 国产成人资源 | 亚洲精品无 | 亚洲伊人av | 91xav| 亚洲精品女 | 九九在线免费视频 | 高清在线观看av | 日本天天操| 中文字幕在线观看视频一区二区三区 | 在线av资源 | 91女神的呻吟细腰翘臀美女 | 国产精品嫩草在线 | 国产日产精品一区二区三区四区的观看方式 | 国产婷婷vvvv激情久 | 日本激情动作片免费看 | 在线 国产 亚洲 欧美 | 欧美成人一二区 | 91精品网站在线观看 | 在线黄色国产电影 | 久久成| 国内外成人免费在线视频 | a黄色片 | 国产第一页福利影院 | 亚洲理论在线观看 | 国产亚洲欧美在线视频 | 国产日韩在线看 | 国产精品久久久久久吹潮天美传媒 | 超碰99在线 | 在线免费视频一区 | 麻豆一二三精选视频 | 不卡av电影在线观看 | 色婷婷免费视频 | 国产精品白浆视频 | 国产精品毛片久久久久久久久久99999999 | 欧美91精品 | 日本一区二区不卡高清 | 免费在线观看亚洲视频 | 亚洲天天在线 | 色综合天天狠天天透天天伊人 | 狠狠的干| 91av99| 成人黄色电影在线观看 | 国产经典三级 | 性日韩欧美在线视频 | 国产成人a亚洲精品v | 国产专区在线视频 | 亚洲黄色影院 | av久久久| 国产成人福利在线 | 欧美日韩视频网站 | 日韩欧美在线视频一区二区 | 国产日韩精品一区二区在线观看播放 | 久久国产麻豆 | 在线国产福利 | 久久黄色a级片 | avwww在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91在线视频观看免费 | 96av麻豆蜜桃一区二区 | 国产精品视频免费在线观看 | 99热精品在线 | 亚洲黄色精品 | 中文字幕色婷婷在线视频 | 久久 精品一区 | 国产又粗又硬又爽视频 | 一区二区久久久久 | 久久黄页 | 国产成人精品久久 | 国产成人在线免费观看 | 日韩高清免费电影 | 亚洲伦理中文字幕 | 成人中文字幕在线观看 | 欧美天天射 | 日韩中字在线观看 | 五月婷婷在线视频观看 | 亚洲天天做 | 久久香蕉一区 | 国产剧在线观看片 | 男女激情麻豆 | 亚洲国产97在线精品一区 | 激情综合网色播五月 | 亚洲国产成人精品在线 | 伊人五月天 | 久久久久久国产精品999 | 美女精品久久久 | 日本久久91 | 夜色在线资源 | 国产高清久久久久 | 国产在线播放一区二区三区 | 三级在线视频播放 | 中文字幕乱码电影 | 国产午夜精品免费一区二区三区视频 | 精品久久久久久亚洲综合网站 | 99视频在线| 精品国产一区二区三区男人吃奶 | 香蕉久久国产 | 日韩精品一区二区三区免费观看视频 | 免费成人在线观看 | 国产精品美女久久久久久久久 | 夜夜操狠狠干 | 园产精品久久久久久久7电影 | 日韩免费电影在线观看 | 日日干狠狠操 | 欧美性生活免费 | 日韩激情小视频 | 国产精品久久久久久久久久东京 | 九九久| 性色av香蕉一区二区 | 中文字幕在线资源 | 99视频导航| 天天干天天看 | 亚洲综合最新在线 | 精品高清美女精品国产区 | www.午夜视频 | 欧美一区二区三区特黄 | 亚洲爱爱视频 | 国产日韩精品一区二区在线观看播放 | 激情影音先锋 | 欧美极品少妇xbxb性爽爽视频 | 国产在线一线 | 91亚洲精品国偷拍自产在线观看 | 久久婷婷精品 | 奇米网在线观看 | 九九九热| 波多野结衣视频一区二区三区 | 992tv在线成人免费观看 | 久草久热 | 91探花系列在线播放 | 色综合欧洲 | 六月丁香婷婷在线 | 操综合| 中文字幕av网站 | 久久综合影院 | 在线天堂v | 蜜臀av性久久久久av蜜臀妖精 | 少妇bbw搡bbbb搡bbbb | 亚洲国产播放 | 天天做日日爱夜夜爽 | 日日碰狠狠躁久久躁综合网 | 国产视频不卡一区 | 国产精品不卡在线观看 | 欧美国产精品久久久久久免费 | 九九日九九操 | 午夜av日韩 | 最新国产一区二区三区 | 欧美老女人xx | 香蕉久久国产 | 免费视频色 | 日本在线精品视频 | 伊人热| 日本精品一区二区 | 欧美91在线 | 日韩视频一区二区 | 99在线热播精品免费 | 久久久久免费精品 | 99久久er热在这里只有精品66 | 日日夜夜免费精品视频 | 亚洲国产精品免费 | 国产三级午夜理伦三级 | 国产一区二区三区 在线 | 中文字幕在线视频一区二区 | 97超视频免费观看 | 超碰人人在线 | 99一区二区三区 | 97视频中文字幕 | 日韩视频区 | 超碰97公开 | 四虎国产精品成人免费影视 | 久草资源在线观看 | 欧美a免费 | 国产高清无av久久 | 看片网站黄色 | 99热日本 | 99免费看片| 99精品国产在热久久下载 | 一区二区三区日韩视频在线观看 | 国产免费一区二区三区网站免费 | 亚洲成a人片77777潘金莲 | 亚洲综合五月 | 天天插天天狠天天透 | 国产精品高清免费在线观看 | 日韩精品一区二区三区丰满 | 国产又黄又爽无遮挡 | 97色免费视频 | 亚洲免费一级电影 | 亚洲 欧美日韩 国产 中文 | av丝袜在线 | 久久免费一 | 亚洲精品一区二区精华 | 亚洲九九爱 | 欧美va日韩va | 这里只有精品视频在线观看 | 亚洲va欧美va人人爽 | 人人添人人 | 亚洲高清国产视频 | 午夜精品久久久久久久99无限制 | 91视频这里只有精品 | 国产一级片免费播放 | 永久免费av在线播放 | 国产精品都在这里 | 丝袜美腿一区 | 麻豆91在线播放 | 午夜久草 | 久久超碰在线 | 国产成人在线综合 | 91成人免费看 | 亚洲午夜久久久综合37日本 | 国产精品女 | 国产 亚洲 欧美 在线 | 国产天天综合 | 免费能看的黄色片 | 国产精品永久 | 午夜久久福利 | 午夜精品视频一区二区三区在线看 | 麻豆91在线看 | 久久中文字幕视频 | 亚洲欧美日韩一级 | 看片一区二区三区 | 亚洲天天在线日亚洲洲精 | 一级特黄aaa大片在线观看 | 国产精品乱码高清在线看 | 97超碰人人模人人人爽人人爱 | 91精品成人 |