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

Android 反編譯 -smali語法

移動開發 Android
前面我們有說過android反編譯的工具,如何進行反編譯。反編譯后可以得到jar或者得到smali文件。Android采用的是java語言 進行開發,但是Android系統有自己的虛擬機Dalvik,代碼編譯最終不是采用的java的class,而是使用的smali。我們反編譯得到的代 碼,jar的話可能很多地方無法正確的解釋出來,如果我們反編譯的是smali則可以正確的理解程序的意思。因此,我們有必要熟悉smali語法。

前言

前面我們有說過android反編譯的工具,如何進行反編譯。反編譯后可以得到jar或者得到smali文件。Android采用的是java語言 進行開發,但是Android系統有自己的虛擬機Dalvik,代碼編譯最終不是采用的java的class,而是使用的smali。我們反編譯得到的代 碼,jar的話可能很多地方無法正確的解釋出來,如果我們反編譯的是smali則可以正確的理解程序的意思。因此,我們有必要熟悉smali語法。

類型的表示

java里面包含兩種類型,原始類型和引用類型(包括對象),同時映射到smali也是有這兩大類型。

原始類型

  1. void (只能用于返回值類型) 
  2. boolean 
  3. byte 
  4. short 
  5. char 
  6. int 
  7. long 
  8. float 
  9. D Double 

對象類型

  1. Lpackage/name/ObjectName; 相當于java中的package.name.ObjectName  

L 表示這是一個對象類型

package/name 該對象所在的包

ObjectName 對象名稱

; 標識對象名稱的結束

數組的表示

[I 表示一個int型的一維數組,相當于int[];

增加一個維度增加一個[,如[[I表示int[][]

數組每一個維度最多255個;

對象數組表示也是類似,如String數組的表示是[Ljava/lang/String

寄存器與變量

java中變量都是存放在內存中的,android為了提高性能,變量都是存放在寄存器中的,寄存器為32位,可以支持任何類型,其中long和double是64為的,需要使用兩個寄存器保存。

寄存器采用v和p來命名

v表示本地寄存器,p表示參數寄存器,關系如下

如果一個方法有兩個本地變量,有三個參數

  1. v0 第一個本地寄存器 
  2. v1 第二個本地寄存器 
  3. v2 p0 (this
  4. v3 p1 第一個參數 
  5. v4 p2 第二個參數 
  6. v5 p3 第三個參數 

當然,如果是靜態方法的話就只有5個寄存器了,不需要存this了。

.registers 使用這個指令指定方法中寄存器的總數

.locals 使用這個指定表明方法中非參寄存器的總數,放在方法的第一行。

方法和字段的表示

方法簽名

  1. methodName(III)Lpackage/name/ObjectName; 

如果做過ndk開發的對于這樣的簽名應該很熟悉的,就是這樣來標識一個方法的。

上面methodName標識方法名,III表示三個整形參數,Lpackage/name/ObjectName;表示返回值的類型。

方法的表示

Lpackage/name/ObjectName;——>methodName(III)Z

即 package.name.ObjectName中的 function boolean methondName(int a, int b, int c) 類似這樣子

字段的表示

  1. Lpackage/name/ObjectName;——>FieldName:Ljava/lang/String;

即表示: 包名,字段名和各字段類型

方法的定義

比如我下面的一個方法

  1. private static int sum(int a, int b) { 
  2. return a+b; 

使用編譯后是這樣

  1. .method private static sum(II)I 
  2. .locals 4 #表示需要申請4個本地寄存器 
  3. .parameter 
  4. .parameter #這里表示有兩個參數 
  5. .prologue 
  6. .line 27 
  7. move v0, p0 
  8. .local v0, a:I 
  9. move v1, p1 
  10. .local v1, b:I 
  11. move v2, v0 
  12. move v3, v1 
  13. add-int/2addr v2, v3 
  14. move v0, v2 
  15. .end local v0 #a:I 
  16. return v0 
  17. .end method 

從上面可以看到函數聲明使用.method開始 .end method結束,java中的關鍵詞private,static 等都可以使用,同時使用簽名來表示唯一的方法,這里是sum(II)I。

聲明成員

.field private name:Lpackage/name/ObjectName;

比如:private TextView mTextView;表示就是

.field private mTextView:Landroid/widget/TextView;

private int mCount;

.field private mCount:I

指令執行

smali字節碼是類似于匯編的,如果你有匯編基礎,理解起來是非常容易的。

比如:

move v0, v3 #把v3寄存器的值移動到寄存器v0上.

const v0, 0x1 #把值0x1賦值到寄存器v0上。

invoke-static {v4, v5}, Lme/isming/myapplication/MainActivity;->sum(II)I #執行方法sum(),v4,v5的值分別作為sum的參數。

其他

通過前面我們可以看到,smali就是類似匯編,其中很多命令,我們可以去查它的手冊來一一對應。學習時,我們可以自己寫一個比較簡單的java文件,然后轉成smali文件來對照學習。

下面,我貼一個我寫的一個比較簡單的java文件以及其對應的smali,其中包含if判斷和for循環。

java文件:

  1. package me.isming.myapplication; 
  2. import android.support.v7.app.ActionBarActivity; 
  3. import android.os.Bundle; 
  4. import android.view.Menu; 
  5. import android.view.MenuItem; 
  6. import android.widget.TextView; 
  7. public class MainActivity extends ActionBarActivity { 
  8. private TextView mTextView; 
  9. @Override 
  10. protected void onCreate(Bundle savedInstanceState) { 
  11. super.onCreate(savedInstanceState); 
  12. setContentView(R.layout.activity_main); 
  13. mTextView = (TextView) findViewById(R.id.text); 
  14. mTextView.setText("a+b=" + sum(1,2) + "a>b?" + max(1,2) + "5 accumulate:" + accumulate(5)); 
  15. private static int sum(int a, int b) { 
  16. return a+b; 
  17. private boolean max(int a, int b) { 
  18. if (a > b) { 
  19. return true
  20. else { 
  21. return false
  22. private int accumulate(int a) { 
  23. if (a <= 0) { 
  24. return 0
  25. int sum = 0
  26. for(int i = 0; i <= a; i++) { 
  27. sum += a; 
  28. return sum; 

對應的smali:

  1. .class public Lme/isming/myapplication/MainActivity; 
  2. .super Landroid/support/v7/app/ActionBarActivity; 
  3. .source "MainActivity.java" 
  4. # instance fields 
  5. .field private mTextView:Landroid/widget/TextView; 
  6. # direct methods 
  7. .method public constructor <init>()V 
  8. .locals 2 
  9. .prologue 
  10. .line 10 
  11. move-object v0, p0 
  12. .local v0, this:Lme/isming/myapplication/MainActivity; 
  13. move-object v1, v0 
  14. invoke-direct {v1}, Landroid/support/v7/app/ActionBarActivity;-><init>()V 
  15. return-void 
  16. .end method 
  17. .method private accumulate(I)I 
  18. .locals 6 
  19. .parameter 
  20. .prologue 
  21. .line 39 
  22. move-object v0, p0 
  23. .local v0, this:Lme/isming/myapplication/MainActivity; 
  24. move v1, p1 
  25. .local v1, a:I 
  26. move v4, v1 
  27. if-gtz v4, :cond_0 
  28. .line 40 
  29. const/4 v4, 0x0 
  30. move v0, v4 
  31. .line 46 
  32. .end local v0 #this:Lme/isming/myapplication/MainActivity; 
  33. :goto_0 
  34. return v0 
  35. .line 42 
  36. .restart local v0 #this:Lme/isming/myapplication/MainActivity; 
  37. :cond_0 
  38. const/4 v4, 0x0 
  39. move v2, v4 
  40. .line 43 
  41. .local v2, sum:I 
  42. const/4 v4, 0x0 
  43. move v3, v4 
  44. .local v3, i:I 
  45. :goto_1 
  46. move v4, v3 
  47. move v5, v1 
  48. if-gt v4, v5, :cond_1 
  49. .line 44 
  50. move v4, v2 
  51. move v5, v1 
  52. add-int/2addr v4, v5 
  53. move v2, v4 
  54. .line 43 
  55. add-int/lit8 v3, v3, 0x1 
  56. goto :goto_1 
  57. .line 46 
  58. :cond_1 
  59. move v4, v2 
  60. move v0, v4 
  61. goto :goto_0 
  62. .end method 
  63. .method private max(II)Z 
  64. .locals 5 
  65. .parameter 
  66. .parameter 
  67. .prologue 
  68. .line 31 
  69. move-object v0, p0 
  70. .local v0, this:Lme/isming/myapplication/MainActivity; 
  71. move v1, p1 
  72. .local v1, a:I 
  73. move v2, p2 
  74. .local v2, b:I 
  75. move v3, v1 
  76. move v4, v2 
  77. if-le v3, v4, :cond_0 
  78. .line 32 
  79. const/4 v3, 0x1 
  80. move v0, v3 
  81. .line 34 
  82. .end local v0 #this:Lme/isming/myapplication/MainActivity; 
  83. :goto_0 
  84. return v0 
  85. .restart local v0 #this:Lme/isming/myapplication/MainActivity; 
  86. :cond_0 
  87. const/4 v3, 0x0 
  88. move v0, v3 
  89. goto :goto_0 
  90. .end method 
  91. .method private static sum(II)I 
  92. .locals 4 
  93. .parameter 
  94. .parameter 
  95. .prologue 
  96. .line 27 
  97. move v0, p0 
  98. .local v0, a:I 
  99. move v1, p1 
  100. .local v1, b:I 
  101. move v2, v0 
  102. move v3, v1 
  103. add-int/2addr v2, v3 
  104. move v0, v2 
  105. .end local v0 #a:I 
  106. return v0 
  107. .end method 
  108. # virtual methods 
  109. .method protected onCreate(Landroid/os/Bundle;)V 
  110. .locals 8 
  111. .parameter 
  112. .prologue 
  113. .line 16 
  114. move-object v0, p0 
  115. .local v0, this:Lme/isming/myapplication/MainActivity; 
  116. move-object v1, p1 
  117. .local v1, savedInstanceState:Landroid/os/Bundle; 
  118. move-object v2, v0 
  119. move-object v3, v1 
  120. invoke-super {v2, v3}, Landroid/support/v7/app/ActionBarActivity;->onCreate(Landroid/os/Bundle;)V 
  121. .line 17 
  122. move-object v2, v0 
  123. const v3, 0x7f030017 
  124. invoke-virtual {v2, v3}, Lme/isming/myapplication/MainActivity;->setContentView(I)V 
  125. .line 19 
  126. move-object v2, v0 
  127. move-object v3, v0 
  128. const v4, 0x7f08003f 
  129. invoke-virtual {v3, v4}, Lme/isming/myapplication/MainActivity;->findViewById(I)Landroid/view/View; 
  130. move-result-object v3 
  131. check-cast v3, Landroid/widget/TextView; 
  132. iput-object v3, v2, Lme/isming/myapplication/MainActivity;->mTextView:Landroid/widget/TextView; 
  133. .line 21 
  134. move-object v2, v0 
  135. iget-object v2, v2, Lme/isming/myapplication/MainActivity;->mTextView:Landroid/widget/TextView; 
  136. new-instance v3, Ljava/lang/StringBuilder; 
  137. move-object v7, v3 
  138. move-object v3, v7 
  139. move-object v4, v7 
  140. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V 
  141. const-string v4, "a+b=" 
  142. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 
  143. move-result-object v3 
  144. const/4 v4, 0x1 
  145. const/4 v5, 0x2 
  146. invoke-static {v4, v5}, Lme/isming/myapplication/MainActivity;->sum(II)I 
  147. move-result v4 
  148. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; 
  149. move-result-object v3 
  150. const-string v4, "a>b?" 
  151. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 
  152. move-result-object v3 
  153. move-object v4, v0 
  154. const/4 v5, 0x1 
  155. const/4 v6, 0x2 
  156. invoke-direct {v4, v5, v6}, Lme/isming/myapplication/MainActivity;->max(II)Z 
  157. move-result v4 
  158. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; 
  159. move-result-object v3 
  160. const-string v4, "5 accumulate:" 
  161. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 
  162. move-result-object v3 
  163. move-object v4, v0 
  164. const/4 v5, 0x5 
  165. invoke-direct {v4, v5}, Lme/isming/myapplication/MainActivity;->accumulate(I)I 
  166. move-result v4 
  167. invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; 
  168. move-result-object v3 
  169. invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; 
  170. move-result-object v3 
  171. invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V 
  172. .line 23 
  173. return-void 
  174. .end method 

參考資料

最后附上一些參考資料:

http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html

https://code.google.com/p/smali/w/list

http://www.miui.com/thread-409543-1-1.html

原文地址:http://blog.isming.me/2015/01/14/android-decompile-smali/

責任編輯:閆佳明 來源: isming
相關推薦

2015-01-15 11:01:43

2011-05-31 14:52:13

Android 反編譯 方法

2011-05-31 14:38:04

Android 反編譯

2011-05-31 14:18:17

2015-07-13 15:52:18

反編譯Android APK

2017-11-27 15:43:49

Androidjadx反編譯

2021-03-07 16:31:35

Java編譯反編譯

2017-02-20 13:54:14

Java代碼編譯

2017-07-13 13:13:49

AndroidAPK反編譯

2015-08-07 11:11:15

反編譯源代碼Mac

2011-04-20 10:32:44

java反編譯

2009-06-11 14:11:33

代碼混淆Java反編譯

2012-11-06 10:02:04

JavaJadEclipse

2009-06-11 13:49:30

2014-09-25 10:28:02

反編譯工具Java

2020-03-17 16:15:01

Python編譯代碼

2024-09-13 08:57:25

SpringJar項目

2024-09-14 07:00:28

SpringBoot代碼反編譯

2015-08-20 10:13:34

2021-12-10 10:05:27

Java反編譯jar
點贊
收藏

51CTO技術棧公眾號

顶级黑人搡bbw搡bbbb搡| 性一交一乱一伧国产女士spa| 日韩特级黄色片| 日韩成人一级| 日韩欧美成人免费视频| 欧美日韩一区二区三区在线视频 | 国产专区在线播放| 蜜乳av另类精品一区二区| 亚洲成人网av| 中文字幕乱码人妻综合二区三区| 九色视频在线播放| 精品一区二区三区欧美| 久久91精品国产91久久跳| 野战少妇38p| 日韩pacopacomama| 亚洲欧洲一区二区在线播放| 国产精品播放| 精品久久久久久久久久久国产字幕 | 污污的网站免费| 日本在线观看大片免费视频| www.av亚洲| 午夜精品在线视频| 久久久久久亚洲中文字幕无码| 久久亚洲人体| 亚洲成a人片在线观看中文| 欧美成人性战久久| 成人毛片100部免费看| 色一情一乱一乱一区91av| 久久综合导航| 久久手机精品视频| 免费在线观看成年人视频| 久久精品资源| 精品国产乱码久久久久久虫虫漫画| 台湾成人av| 亚洲AV无码一区二区三区少妇| 男人的天堂亚洲在线| 美日韩精品免费视频| 免费毛片视频网站| 日韩色性视频| 亚洲一区二区三区四区五区黄| 欧美精品一区三区在线观看| 精品人妻一区二区三区蜜桃| 天堂午夜影视日韩欧美一区二区| 久久久成人精品视频| 91视频免费观看网站| 亚洲精品一区二区三区在线| 美女精品在线观看| www.亚洲一区| 亚洲永久精品ww.7491进入| 色婷婷成人网| 在线一区二区视频| 男人添女人下面高潮视频| 黄在线免费观看| 久久午夜电影| 韩国欧美亚洲国产| 日本亚洲欧美在线| 亚洲理伦在线| 国产91免费看片| 最近中文字幕在线免费观看| 蜜桃av一区二区| 国产日韩欧美日韩大片| 国产精品久久久久久免费播放| 老司机免费视频一区二区| 国产一区二区视频在线观看| 国产又粗又猛又黄又爽| 国产一区二区按摩在线观看| 亚洲最大的av网站| 亚洲欧美另类综合| 91丨porny丨户外露出| 久久狠狠久久综合桃花| 国产一二三在线观看| 中文av一区二区| 在线视频不卡国产| 性欧美猛交videos| 亚洲成人免费视| 国产精品免费观看久久| 成人在线免费av| 91精品免费观看| 佐佐木明希电影| 先锋影音国产精品| 国产午夜精品视频免费不卡69堂| 国产91在线播放九色| 欧美激情91| 欧美一级视频一区二区| 中文字幕av免费观看| 国产麻豆视频一区二区| 国产伦精品一区二区三区视频孕妇| 手机福利在线| 国产精品初高中害羞小美女文| 国产女主播av| 男人最爱成人网| 欧美日韩aaaaa| 久久久久久久无码| 久久国产电影| 韩日欧美一区二区| 中文字幕乱码中文字幕| 国产二区国产一区在线观看| 久久一区二区三区av| 91精品大全| 亚洲成人综合网站| 在线看的黄色网址| 哺乳一区二区三区中文视频 | 色中色综合网| 国语对白做受69| 中文字幕第31页| 成人综合婷婷国产精品久久蜜臀| 日韩高清在线播放| 国产在线xxx| 欧美日韩亚洲不卡| 精品夜夜澡人妻无码av| 亚洲欧美偷拍自拍| 欧美在线视频一区二区| 国产日韩欧美一区二区东京热 | caoporn视频在线| 欧美精品一卡二卡| 免费看黄色av| 中文高清一区| 99在线观看视频网站| √天堂资源地址在线官网| 精品国产91久久久久久| 日本黄色三级网站| 久久在线免费| 国产精品久久久久999| 天堂av手机版| 亚洲午夜一二三区视频| 欧美精品 - 色网| 成人vr资源| 久久久免费在线观看| 不卡av电影在线| 97久久人人超碰| 免费看毛片的网址| 亚洲网一区二区三区| 久久九九国产精品怡红院| 中文字幕乱码视频| 国产日韩欧美激情| aaaaaa亚洲| 国产欧美日韩影院| 国产va免费精品高清在线| 五月婷在线视频| 午夜精品在线看| 波多野结衣视频播放| 国产综合精品| 国产免费一区二区| 91九色在线看| 精品久久国产老人久久综合| 久久久精品99| 粉嫩av一区二区三区粉嫩| 日本道在线视频| 欧洲精品99毛片免费高清观看| 久久亚洲精品视频| 国产激情视频在线播放 | 亚洲精品国产精品国自产观看 | 在线影院国内精品| 欧美做受高潮6| 日韩电影免费在线| 在线观看日韩羞羞视频| 国产一区二区三区免费在线| 久久伊人精品视频| 丰满熟妇乱又伦| 亚洲18色成人| 一区二区三区免费在线观看视频 | 婷婷在线免费观看| 第一福利永久视频精品| 中文字幕高清视频| 日韩av电影一区| 中文字幕在线观看一区二区三区| 99亚洲男女激情在线观看| 久久久精品国产网站| www.久久伊人| 精品国产精品自拍| 日本少妇xxxxx| 国产在线视频一区二区| 国产xxxx振车| 欧美精品乱码| 91精品久久久久久久久久| 怡红院红怡院欧美aⅴ怡春院| 欧美mv日韩mv国产| 无码一区二区三区在线观看| 中文字幕在线一区| 91传媒理伦片在线观看| 久久久久国产精品一区三寸| 亚洲春色在线视频| 国产亚洲亚洲国产一二区| 高清欧美性猛交xxxx黑人猛交| 深夜影院在线观看| 欧美日韩你懂得| 久久精品视频日本| 国产视频不卡一区| 不许穿内裤随时挨c调教h苏绵| 裸体一区二区| 400部精品国偷自产在线观看 | 亚洲第一页在线| 性高潮视频在线观看| 亚洲精品视频一区二区| 久久久精品人妻无码专区| 九九热在线视频观看这里只有精品| 美女黄色免费看| 日韩av久操| 国产一区免费观看| 色8久久久久| 日本一区二区在线播放| 日本一本在线免费福利| 亚洲深夜福利视频| 欧美一级淫片免费视频魅影视频| 欧美性大战久久久久久久蜜臀| 精品无码av在线| 国产精品久久久爽爽爽麻豆色哟哟| japanese在线观看| 久久福利视频一区二区| 各处沟厕大尺度偷拍女厕嘘嘘| 91精品国产91久久久久久黑人| 女女同性女同一区二区三区91| 日韩影片在线观看| 国产中文欧美精品| 网友自拍亚洲| 2019最新中文字幕| 欧美人与性动交α欧美精品济南到| 亚洲香蕉在线观看| 无码精品黑人一区二区三区| 欧美一级理论片| 91精品国产乱码久久| 日韩欧美综合在线视频| 久久久久久久久97| 亚洲男帅同性gay1069| 黄色片在线观看免费| 99re热这里只有精品免费视频| 欧美老女人bb| 国产精品亚洲第一| 红桃视频 国产| 日本特黄久久久高潮| 黄色一级一级片| 噜噜噜久久亚洲精品国产品小说| 美女扒开大腿让男人桶| 中文字幕一区二区三区乱码图片| 亚洲精品欧洲精品| 成人在线免费观看视频| 日本一区免费看| 精品一区亚洲| 欧美中日韩一区二区三区| 香蕉国产成人午夜av影院| 久久精品国产精品青草色艺| 日本欧美韩国国产| 久久99精品久久久久子伦 | 手机看片福利永久国产日韩| 久久夜色电影| 亚洲综合在线中文字幕| 9l视频自拍九色9l视频成人| 成人av播放| 国产精品一区二区中文字幕| 国产精品一区二区三区观看| 国产伦精品一区二区三区在线播放 | 欧美精品一二区| 日本色护士高潮视频在线观看| 欧美乱人伦中文字幕在线| 色呦呦在线资源| 国产做受69高潮| 乡村艳史在线观看| 国产成人涩涩涩视频在线观看| 亚洲高清黄色| 国产在线999| 日韩欧美另类中文字幕| 国产乱人伦精品一区二区| 一本久久青青| 亚洲精品中文字幕在线| 天天做天天爱天天综合网2021 | 黄页网站在线| 538国产精品视频一区二区| 成人美女大片| 国产免费一区二区三区在线能观看| 亚洲精品tv| 国产一区视频观看| 亚洲人挤奶视频| 正义之心1992免费观看全集完整版| 欧美日韩国产色综合一二三四| 精品视频免费在线播放| 老色鬼久久亚洲一区二区| 一级黄色片国产| 97精品久久久久中文字幕| 国产又粗又黄又猛| 亚洲精选视频免费看| 五月天婷婷综合网| 欧美日韩亚洲国产综合| 亚洲高清视频网站| 亚洲天堂av网| 91高清在线观看视频| 日本成熟性欧美| 秋霞影院一区| 精品久久久三级| 日韩av在线中文字幕| 久久久久久久久久久99| 另类的小说在线视频另类成人小视频在线 | 麻豆免费在线| 国产精品伦子伦免费视频| 日韩精品一区国产| 天堂社区 天堂综合网 天堂资源最新版 | 日韩电影中文字幕在线| 视频一区二区三区不卡| 久久免费成人精品视频| 欧美黄色成人| 美国av一区二区三区| 欧美片第1页综合| 免费黄色特级片| 顶级嫩模精品视频在线看| 日本一道本视频| 亚洲综合久久久久| 亚洲天堂中文在线| 精品香蕉一区二区三区| 羞羞视频在线观看免费| 国产精品户外野外| 老司机精品视频在线播放| 潘金莲一级淫片aaaaaa播放1| 久久午夜精品一区二区| 欧美激情一区二区三区p站| 中文字幕色av一区二区三区| 亚洲精品男人的天堂| 精品免费日韩av| 中文字幕在线观看网站| 国产精品看片资源| 激情五月综合网| 国产精品欧美激情在线观看 | 舐め犯し波多野结衣在线观看| 亚洲va欧美va天堂v国产综合| 国产a级免费视频| 日韩在线中文字幕| www.精品国产| 亚洲高清视频一区| 丝袜美腿亚洲综合| 亚洲av综合一区二区| 精品美女永久免费视频| 亚洲伦理在线观看| 欧美大荫蒂xxx| 色悠久久久久综合先锋影音下载 | 国产毛片一区| 亚洲男人在线天堂| 精品久久久久久久久久ntr影视| 日本成人动漫在线观看| 欧美国产激情18| 国产精品白丝一区二区三区| 国产乱人伦精品一区二区三区| 国产一区二区三区高清播放| 国产精品 欧美激情| 这里只有精品免费| 成码无人av片在线观看网站| 91香蕉电影院| 欧美成人精品| 午夜福利三级理论电影| 亚洲国产cao| 天堂av在线免费观看| 日韩美女免费观看| 成人在线电影在线观看视频| 久久人人爽av| 一区二区三区在线视频免费观看| 亚洲av综合色区无码一二三区 | 亚洲精品成人a8198a| 蜜桃久久av一区| 国产在线一卡二卡| 精品国产免费人成电影在线观看四季| 都市激情久久综合| 精品久久久久久一区| 日韩精品91亚洲二区在线观看| 国产精品suv一区二区88| 欧美一区二区三区四区五区| 岛国片av在线| 欧美亚洲免费在线| 麻豆精品久久久| 久久久久久久久久99| 精品丝袜一区二区三区| 欧美a一级片| 欧美又粗又长又爽做受| 91蜜桃免费观看视频| 伊人成人在线观看| 欧美激情aaaa| 久久av影视| 激情久久综合网| 欧美日韩一区二区免费视频| 98在线视频| 成人看片视频| 视频一区欧美日韩| 国产大片免费看| 亚洲欧美成人网| 精品国产一区二区三区性色av| 黄色一级在线视频| 国产精品久久久久久亚洲伦| 亚洲第一精品网站| 国产精品久久久久久久app| 欧美成人中文| 欧美黄色一级生活片| 精品日韩欧美一区二区| 日本另类视频| 久久99久久久久久| 欧美精彩视频一区二区三区| jizz国产视频| 国产精品久久久久久久天堂 | www日韩视频| 亚洲资源中文字幕| 9色在线观看| 黑人巨大精品欧美一区二区小视频| 美女一区二区三区在线观看| 天天操天天射天天爽| 久久精品国产成人|