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

小程序不讓用 JS 解釋器?那我再杠一次鵝廠

開發(fā) 前端
為什么我們要將 JavaScript 編譯成字節(jié)碼呢?我們的目的是為了繞過微信小程序的代碼審核限制,所以我們要想盡辦法隱藏兩樣?xùn)|西。

前言

6月23號(hào)的時(shí)候,微信團(tuán)隊(duì)發(fā)了如下通知將禁止小程序使用 JavaScript 解釋來動(dòng)態(tài)更新代碼。消息一出,小程序開發(fā)者們哀嚎哀嚎遍野,更有人聲稱要開始加班改代碼了。

自 2018年1月,我寫下 「brambles:微信小程序也要強(qiáng)行熱更代碼」 (https://zhuanlan.zhihu.com/p/34191831) 這篇文章開始,就帶起來在小程序里面用 JavaScript 解釋器的潮流。然而四年過去了,微信小程序終于明文規(guī)定不在讓用 JavaScript 解釋器了,那小程序熱更的時(shí)代是不是就過去了?

圖片

當(dāng)然不是,如果就這樣過去了也就沒我這篇文章了,其實(shí)早在四年前寫前一篇文章的時(shí)候我就已經(jīng)想好解決方案,只是我是沒想到的一年以后微信小程序才開始封 JavaScript 解釋器讓我之前設(shè)想的方案一直拖到四年后的今天。n那么今天我們這篇文章主要就討論兩個(gè)點(diǎn):

如何突破微信小程序限制 JavaScript 解釋器使用進(jìn)行熱更代碼。

為什么從理論上無法從根本上禁止小程序代碼的熱更。

基本步驟 & 最終效果

示例代碼 Github 倉(cāng)庫(kù):https://github.com/bramblex/jsjs-vm-demo

我們首先要寫一個(gè) JavaScript 的編譯器,將 JavaScript 代碼編譯成二進(jìn)制的字節(jié)碼。

找一張圖片,將字節(jié)碼編碼并隱藏進(jìn)圖片中。

在小程序中引入藏有 JavaScript 字節(jié)碼的圖片,并且解碼出字節(jié)碼。

寫一個(gè)對(duì)應(yīng)的字節(jié)碼虛擬機(jī),并且執(zhí)行從圖片中解出的字節(jié)碼。

圖片

實(shí)現(xiàn)一個(gè)字節(jié)碼虛擬機(jī)

為什么我們要將 JavaScript 編譯成字節(jié)碼呢?我們的目的是為了繞過微信小程序的代碼審核限制,所以我們要想盡辦法隱藏兩樣?xùn)|西。第一個(gè)是要想辦法隱藏解釋器,因?yàn)橐粋€(gè)完整的 JavaScript 解釋器代碼量非常龐大,并且往往都需要引入別人寫的庫(kù)沒辦法自己維護(hù),這樣的解釋往都不需要用什么高深的技術(shù)手段,字符串一匹配就能查出來個(gè)七七八八。

比如在小程序一個(gè)完整可用的 JavaScript 解釋器引入代碼,起碼需要引入一個(gè)至少 100k 以上的代碼,這個(gè)目標(biāo)實(shí)在是太大了,幾乎很難隱藏。但是在小程序里面引入一個(gè)可以執(zhí)行字節(jié)碼的虛擬機(jī)實(shí)現(xiàn),可以做到只引入 10k 左右,壓縮前總代碼量不超過千行的代碼,這樣就更容易隱藏動(dòng)態(tài)代碼的實(shí)現(xiàn)。比如我目前實(shí)現(xiàn)的字節(jié)碼虛擬機(jī),除了 try-catch 和 with 以外,能實(shí)現(xiàn) ES5 所有能力的虛擬機(jī)總共才 7k 大小,就這都是還可以再壓縮的。

第二點(diǎn)是我們需要隱藏?zé)岣?JavaScript 代碼不被微信發(fā)現(xiàn),比如你把熱更的大量 JavaScript 代碼通過接口明文傳輸,只要微信稍微攔截一下你的網(wǎng)絡(luò),這不就全露餡了嗎?所以將代碼編譯成了二進(jìn)制的字節(jié)碼以后,微信就沒有辦法通過簡(jiǎn)單的攔截你的接口請(qǐng)求來確定里面有沒有 JavaScript 代碼來判斷你是是否熱更代碼了。二進(jìn)制的文件在你能夠明確清楚它的個(gè)格式之前是沒辦法準(zhǔn)確接出來他到底是個(gè)什么東西的1,更何況二進(jìn)制的加密混淆的算法滿大街都是,而且還都沒有幾行……下面是我實(shí)現(xiàn)字節(jié)碼的指令集,總共只有 50 多個(gè)指令:

export enum OpCode {
NOP = 0x00,
UNDEF = 0x01, NULL = 0x02, OBJ = 0x03, ARR = 0x04, TRUE = 0x05,
FALSE = 0x06, NUM = 0x07, ADDR = 0x08, STR = 0x09, POP = 0x0A,
TOP = 0x0D, TOP2 = 0x0E, VAR = 0x10, LOAD = 0x11, OUT = 0x12,
JUMP = 0x20, JUMPIF = 0x21, JUMPNOT = 0x22, FUNC = 0x30, CALL = 0x31,
NEW = 0x32, RET = 0x33, GET = 0x40, SET = 0x41, IN = 0x43,
DELETE = 0x44, EQ = 0x50, NEQ = 0x51, SEQ = 0x52, SNEQ = 0x53,
LT = 0x54, LTE = 0x55, GT = 0x56, GTE = 0x57, ADD = 0x60,
SUB = 0x61, MUL = 0x62, EXP = 0x63, DIV = 0x64, MOD = 0x65,
BNOT = 0x70, BOR = 0x71, BXOR = 0x72, BAND = 0x73, LSHIFT = 0x73,
RSHIFT = 0x75, URSHIFT = 0x76, OR = 0x80, AND = 0x81, NOT = 0x82,
INSOF = 0x90, TYPEOF = 0x91,
}

以下是將一段示例代碼以及其編譯后的字節(jié)碼:

圖片

JavaScript 代碼與編譯后的字節(jié)碼,這個(gè)字節(jié)碼中還能看到 wx showModal 等字樣

上面字節(jié)碼是以下指令(節(jié)選)的二進(jìn)制表示:

.main_1:
STR(09)
"wx" (00 77 00 78 00 00)
LOAD(11)
TOP(0d)
STR(09)
"showModal" (00 73 00 68 00 6f 00 77 00 4d 00 6f 00 64 00 61 00 6c 00 00)
GET(40)
ARR(04)
TOP(0d)
NUM(07)
0 (00 00 00 00 00 00 00 00)
OBJ(03)
TOP(0d)
STR(09)
"title" (00 74 00 69 00 74 00 6c 00 65 00 00)
STR(09)
"這是一段隱藏在圖片中的代碼" (8f d9 66 2f 4e 00 6b b5 96 90 85 cf 57 28 56 fe 72 47 4e 2d 76 84 4e e3 78 01 00 00)
SET(41)
POP(0a)
TOP(0d)
STR(09)
"content" (00 63 00 6f 00 6e 00 74 00 65 00 6e 00 74 00 00)
STR(09)
"這是一段隱藏在圖片中的代碼" (8f d9 66 2f 4e 00 6b b5 96 90 85 cf 57 28 56 fe 72 47 4e 2d 76 84 4e e3 78 01 00 00)
SET(41)
POP(0a)
TOP(0d)
STR(09)
"success" (00 73 00 75 00 63 00 63 00 65 00 73 00 73 00 00)
NULL(02)
NUM(07)
1 (3f f0 00 00 00 00 00 00)
ADDR(08)
.anonymous_2
FUNC(30)
SET(41)
POP(0a)
SET(41)
POP(0a)
CALL(31)
POP(0a)
RET(33)

畢竟是做個(gè) Demo,如果真的需要實(shí)用的話,還有大量的優(yōu)化空間。比如字節(jié)碼字面量現(xiàn)在都是非常簡(jiǎn)單粗暴直接內(nèi)聯(lián),如果將數(shù)據(jù)和代碼部分區(qū)分可以得到一個(gè)更好的性能。比如字符串的編碼使用的是 utf16 編碼,如果轉(zhuǎn)換成 utf8 編碼可以節(jié)省空間占用等等,這些以后有心情再做。

將字節(jié)碼藏在圖片里

我們說需要隱藏虛擬機(jī)和熱更的代碼,但是我們思考一下,一個(gè)普通的小程序整天需要加在二進(jìn)制文件,這一個(gè)行為是不是非常的怪異?沒錯(cuò),這件事情非常非常的奇怪,因?yàn)橐粋€(gè)正常小程序根本沒有什么讀寫二進(jìn)制文件的需求。但是如果我告訴一個(gè)小程序,需要做一張有小程序二維碼的分享圖給用戶保存,而且這張分享圖還經(jīng)常需要更新,這不是就非常符合邏輯了?所以我們要將熱更的字節(jié)碼藏在圖片里面,偽裝成一個(gè)正常小程序的行為,并且要保證這場(chǎng)圖片看起來也是正常的。以下就是我們開頭示例中圖片,左圖是原圖片,而右圖是藏了我們上面示例代碼的圖,只有非常仔細(xì)看才能看到細(xì)微的差別。

圖片

仔細(xì)看隱藏了字節(jié)碼的區(qū)域,跟原圖片有細(xì)微的差別

圖片一個(gè)像素點(diǎn)有 RGBA 一共四個(gè) byte,為了最少影響圖片看上去的效果,我們選擇只將字節(jié)碼編碼隱藏在圖片的 Alpha 通道,這里用了最簡(jiǎn)單的編碼方式,將 RGBA 中的 A 當(dāng)成一個(gè) bit 來進(jìn)行編碼。A 高于 0xF8 則為 1,否則則為 0。編碼和解碼算法如下:

圖片

在編譯器中的編碼算法(左)在小程序中執(zhí)行的解碼算法(右)

在小程序中只需要把圖片畫在 Canvas 上面,并且逐個(gè)讀取 Alpha 通道上的數(shù)據(jù)就能隱藏在圖片中的字節(jié)碼接解碼出來。最后通過我們上一小節(jié)實(shí)現(xiàn)的字節(jié)碼虛擬機(jī),就能執(zhí)行我們想要熱更的代碼了。

為什么無法從根本上禁止小程序代碼的熱更

先說結(jié)論,只要滿足以下兩個(gè)條件,那么從根本上禁止熱更都是無稽之談:

  • 宿主語言圖靈完備
  • 允許通過網(wǎng)絡(luò)讀取數(shù)據(jù)

第一,宿主語言如果圖靈完備的話,那么宿主語言就可以實(shí)現(xiàn)任何其他圖靈完備的編程語言。比如 JavaScript 圖靈完備,那么你就能用 JavaScript 實(shí)現(xiàn) JavaScript 解釋器、Python 解釋器、PHP 解釋器等等只要你能想得到的編程語言解釋器,甚至你還可以設(shè)計(jì)一個(gè)自己的比如本文的字節(jié)碼虛擬機(jī)。所以當(dāng)公告一出來的時(shí)候,樓底下第一個(gè)回復(fù)的朋友就一語道破封 JavaScript 解釋器是一件多么可笑的事情。

圖片

公告發(fā)出來的第一天,就有朋友在評(píng)論區(qū)中抖機(jī)靈

第二,你可以把一切能夠從得到不同輸入,并且產(chǎn)生不同結(jié)果的程序都稱之為解釋器,無非就是它表達(dá)能力的強(qiáng)與弱、是通用的還是專用的區(qū)別而已,所以這個(gè)界限是非常模糊的。比如我們業(yè)務(wù)中,可能需要程序去服務(wù)器上拉一份配置,這份配置可能是某些功能的開關(guān)顯示與否等等,那么這時(shí)候我拉的一份配置文件和拉了一份 JavaScript 代碼動(dòng)態(tài)執(zhí)行有本質(zhì)上的區(qū)別嗎?其實(shí)你也可以理解代碼不過是一份解釋器/編譯器的配置文件而已,沒有那么特殊,唯一的區(qū)別僅僅是代碼設(shè)計(jì)通用且復(fù)雜。所以才有那么一句話,代碼既數(shù)據(jù),數(shù)據(jù)既代碼。

寫在最后

在文章的最后,要向兩位科學(xué)家致敬。第一位是艾倫·圖靈,提出了圖靈機(jī)奠定了計(jì)算理論的基礎(chǔ)。第二位是香農(nóng),奠定了現(xiàn)代信息論的基礎(chǔ)。感謝巨人們給我們提供的肩膀。

圖片

艾倫·圖靈(左) 克勞德·香農(nóng)(右)

責(zé)任編輯:武曉燕 來源: Tecvan
相關(guān)推薦

2020-01-08 15:11:28

Python編輯器程序

2020-11-17 06:57:15

存儲(chǔ)互聯(lián)網(wǎng)用戶

2016-11-28 15:52:09

微信小程序開發(fā)

2018-12-04 13:30:28

Javascript編譯原理前端

2021-03-10 08:05:10

Nginx面試并發(fā)

2012-02-01 16:48:54

后門Putty

2018-09-06 08:46:15

騰訊秋招跳槽

2020-12-11 08:42:06

Kona 開源JDK

2025-02-28 09:00:00

DeepSeek人工智能AI

2022-07-28 10:39:50

OpenApiSwaggerSpringDoc

2024-03-27 10:21:47

字符串棧內(nèi)存V8

2011-06-28 10:41:50

DBA

2010-04-28 17:14:52

Google服務(wù)器

2020-10-24 13:50:59

Python庫(kù)編程語言

2021-12-27 10:08:16

Python編程語言庫(kù)

2020-11-02 11:23:14

騰訊跳槽百度

2024-07-09 10:20:05

VueJSX函數(shù)

2018-03-02 10:42:44

服務(wù)器數(shù)據(jù)備份
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

一区二区成人av| 亚洲女女做受ⅹxx高潮| 91精品国产91久久久久福利| 手机在线成人av| 国产乱妇乱子在线播视频播放网站| 国产高清在线精品| 97精品国产97久久久久久免费| 中文字幕一区二区三区人妻| 欧美网站免费| 亚洲午夜视频在线观看| 欧美高清性xxxxhdvideosex| 在线观看一二三区| 1024日韩| 日韩在线视频一区| 污污免费在线观看| 国产69精品久久久久9999人| 亚洲一区二区欧美日韩| 日韩少妇中文字幕| 丁香花免费高清完整在线播放| 久久精品欧洲| 欧美高清videos高潮hd| 免费网站在线高清观看| 国产电影一区| 一本高清dvd不卡在线观看| 五月天男人天堂| 天天在线女人的天堂视频| 激情五月婷婷综合| 日韩av电影国产| 国产亚洲精品女人久久久久久| 国产aⅴ精品一区二区三区久久| 日韩欧美中文字幕一区| 91福利国产成人精品播放| 国产理论在线| 一区二区国产视频| 亚洲一区综合| 国产午夜精品一区理论片| 国产成人综合亚洲91猫咪| 日本精品视频网站| 久久精品国产亚洲av无码娇色| 99精品视频在线观看免费播放| 日韩精品www| 波多野吉衣在线视频| 九九久久国产| 在线日韩一区二区| 欧美 日韩 国产 高清| 国产激情在线观看| 国产精品国产三级国产三级人妇 | 日韩在线观看免费av| 国产交换配乱淫视频免费| 成人福利一区| 精品国产伦一区二区三区免费| 午夜av中文字幕| 免费一级欧美在线观看视频| 欧美在线免费观看亚洲| 久草在在线视频| 成人美女大片| 欧美性极品xxxx娇小| 97国产精东麻豆人妻电影| 欧美14一18处毛片| 一区二区三区精品视频在线| 日韩亚洲欧美一区二区| 在线视频中文字幕第一页| 综合分类小说区另类春色亚洲小说欧美| 日韩三级电影网站| 日韩伦理在线观看| 中文字幕一区二区在线播放| 欧美爱爱视频网站| 麻豆视频在线| 一区二区三区成人在线视频| 免费人成在线观看视频播放| 19禁羞羞电影院在线观看| 亚洲成人免费影院| 女人扒开屁股爽桶30分钟| 欧美成人h版| 精品视频1区2区3区| 99九九99九九九99九他书对| 久久久久久久久成人| 精品欧美一区二区久久| 亚洲av成人无码一二三在线观看| 日韩欧美影院| 在线观看日韩www视频免费| 成人性视频免费看| 欧美成人久久| 91av视频在线| 中文字幕乱码视频| 国产一区二区三区观看| 国产在线一区二| 久久国产精品高清一区二区三区| 中文字幕国产精品一区二区| 欧洲金发美女大战黑人| 国产理论在线| 欧美日韩电影一区| 亚洲色图欧美另类| 怕怕欧美视频免费大全| 日韩在线观看免费| 日韩免费不卡视频| 青青草国产精品97视觉盛宴| 亚洲综合在线中文字幕| 日韩大胆视频| 亚洲日本韩国一区| 欧美在线观看成人| 国产精品视频一区二区三区综合| 亚洲成av人片在线观看香蕉| 欧美 日韩 成人| 欧美体内she精视频在线观看| 国产91精品青草社区| 国产精品久久久久久免费| 成人精品gif动图一区| 日韩免费电影一区二区三区| 色呦呦在线看| 欧美性猛交一区二区三区精品| 国产av一区二区三区传媒| 欧美综合久久| 69影院欧美专区视频| 国产农村妇女毛片精品久久| 久久久精品免费免费| 国产在线xxxx| 国产激情精品一区二区三区| 亚洲色图激情小说| 免费人成年激情视频在线观看| 人人狠狠综合久久亚洲| 国内成+人亚洲| 羞羞视频在线观看免费| 欧美日韩激情在线| 91网站免费入口| 亚洲在线视频| 国产欧美日韩伦理| 日本乱理伦在线| 91麻豆精品国产91久久久久久| 最新中文字幕av| 噜噜噜91成人网| 久久综合色一本| 国产va在线视频| 337p日本欧洲亚洲大胆精品| 全网免费在线播放视频入口| 精品中文字幕一区二区| 日韩av不卡播放| 亚洲播播91| 亚洲欧美日韩一区在线| 国产特黄大片aaaa毛片| 国产高清精品久久久久| 国产日本欧美在线| 91综合国产| 欧美xfplay| 国产一级视频在线| 狠狠色丁香久久婷婷综| 日本不卡二区| 亚洲国产欧美日本视频| 精品日韩一区二区三区| 国产亚洲成人av| 国产电影精品久久禁18| 黄色高清视频网站| 欧美久久久网站| 国产视频久久久久| 台湾佬中文在线| 2023国产精品自拍| 美女日批免费视频| 欧美性生活一级片| 性亚洲最疯狂xxxx高清| 同心难改在线观看| 丰满岳妇乱一区二区三区| 美国黄色一级视频| 国产综合精品| 懂色一区二区三区av片| 国产成人午夜| 欧美一区日本一区韩国一区| 亚洲精品卡一卡二| 国产自产v一区二区三区c| youjizz.com亚洲| 一区二区三区亚洲变态调教大结局| 久久九九有精品国产23| 一区二区www| 综合久久久久久| 国产乱码一区二区三区四区| 精品视频亚洲| 91美女片黄在线| 日韩美女在线播放| 久久久久久久久亚洲精品| 亚洲www啪成人一区二区麻豆 | 国产 欧美在线| 久久久久久久香蕉| 999久久久久久久久6666| 欧美久久精品一级黑人c片| 亚洲国产精彩视频| 色视频一区二区| 国产精品久久久久久成人| 精品一区二区三区影院在线午夜| 黄色网络在线观看| www国产精品| 国产精品久久电影观看| 成人福利片网站| 亚洲国产精品久久久| 日韩三级一区二区| 一色桃子久久精品亚洲| 亚洲精品第二页| 视频精品一区二区| 中文一区一区三区免费| 日韩精品一区国产| 欧美成人亚洲成人日韩成人| 无套内谢的新婚少妇国语播放| 色综合久久久久综合体 | 国产精品免费丝袜| 国产性猛交96| 日韩成人一区二区三区在线观看| 中文字幕日韩一区二区三区| av成人资源网| 国产精品国产福利国产秒拍| 色操视频在线| 亚洲欧美日本另类| 国产绿帽刺激高潮对白| 激情av一区二区| 日韩精品一区二区三区在线视频| 久久夜色精品一区| 天天操精品视频| 天堂成人国产精品一区| 男女啪啪的视频| 香蕉精品久久| 成人情视频高清免费观看电影| 毛片无码国产| 九色精品免费永久在线| 免费在线黄色电影| 日韩精品在线一区| 一级黄色片在线| 欧美日韩一区二区免费在线观看| 色老板免费视频| 2021久久国产精品不只是精品| 欧美日韩一区二区三区69堂| 久久国产高清| 99在线免费视频观看| 色婷婷热久久| 欧美一区二区三区电影在线观看 | 在线一区免费| 无遮挡亚洲一区| 日韩免费电影在线观看| 国产高清在线精品一区二区三区| 国产成人免费9x9x人网站视频| 久久免费视频网| av在线免费观看网址| 一区二区三区国产视频| 日韩黄色影片| 亚洲欧洲一区二区三区在线观看| 隣の若妻さん波多野结衣| 欧美精品自拍偷拍| 一级久久久久久| 色诱亚洲精品久久久久久| 天天操天天摸天天干| 亚洲一区二区三区免费视频| 国产97免费视频| 《视频一区视频二区| xxxxx99| 日本一区二区三区久久久久久久久不 | 日韩欧美1区| 亚洲春色在线视频| 国产欧美日韩在线观看视频| 久草精品电影| 国内毛片久久| 免费99视频| 清纯唯美亚洲经典中文字幕| 国产在线精品日韩| 久久a爱视频| 99视频在线| 久久久久久久久久久久久久久久久久久久 | 国产精品99精品| 亚洲网友自拍偷拍| 久久精品性爱视频| 一级女性全黄久久生活片免费| 免费日韩在线视频| 亚洲一区在线观看免费观看电影高清| 成人免费视频国产免费观看| 成人欧美一区二区三区小说| 欧美精品videos极品| 亚洲精品国产精华液| 亚洲成人生活片| 亚洲线精品一区二区三区| 亚洲色婷婷一区二区三区| 亚洲一二三区在线观看| 精品在线播放视频| 一本大道久久a久久精二百| 日韩久久中文字幕| 欧美三级视频在线观看 | 制服丝袜成人动漫| 精品国产免费无码久久久| 日韩欧美一二三四区| 日韩二区三区| 综合136福利视频在线| av免费在线网站| 久久免费视频在线观看| 久久福利在线| 91久久极品少妇xxxxⅹ软件 | 国产精品一 二 三| 国产综合久久久| 在线免费观看成人网| 韩日精品在线| 日本免费黄视频| 国产酒店精品激情| 精品夜夜澡人妻无码av| 国产午夜精品一区二区| 黄色录像一级片| 亚洲影院免费观看| 自拍偷拍精品视频| 日韩欧美久久久| 欧美日韩国产综合视频| 亚洲偷欧美偷国内偷| 午夜影院免费在线| 日本久久久久久久久久久| 欧美天堂一区| 精品欧美国产| 午夜日韩视频| 免费激情视频在线观看| 狠狠色狠狠色综合系列| 鲁大师私人影院在线观看| 亚洲天堂福利av| 啦啦啦免费高清视频在线观看| 欧美三级韩国三级日本一级| 亚洲乱码国产乱码精品精软件| 色偷偷9999www| 手机在线观看av| 99国产超薄肉色丝袜交足的后果| 蜜桃国内精品久久久久软件9| 国产成人三级视频| 天堂一区二区在线| 美女搡bbb又爽又猛又黄www| 国产精品视频观看| 台湾佬中文在线| 亚洲福利视频专区| 久久日韩视频| 国产精品久久久久99| 一本色道久久综合狠狠躁的番外| 伊人再见免费在线观看高清版| 日本在线播放一区二区三区| 美女伦理水蜜桃4| 亚洲在线中文字幕| 91精品人妻一区二区三区果冻| 亚洲精品综合久久中文字幕| 婷婷av在线| 不卡的av一区| 中文乱码免费一区二区三区下载| 色婷婷综合久久久久中文字幕 | 婷婷激情图片久久| 中文字幕无码不卡免费视频| 成人免费精品视频| 国产精品免费人成网站酒店 | 国产欧美日韩另类一区| 日韩乱码在线观看| 精品人伦一区二区色婷婷| 欧洲在线视频| 亚洲一区二区三区在线免费观看| jiujiure精品视频播放| 国产欧美高清在线| 久久一区二区视频| 久久久久久久久久久久久av| 亚洲国产精品久久久久| av电影在线地址| www 成人av com| 欧美精选一区| 精品国产乱码久久久久夜深人妻| 亚洲综合色婷婷| 亚洲免费不卡视频| 国外视频精品毛片| 丝袜美腿一区二区三区动态图 | 免费电影网站在线视频观看福利| 91色精品视频在线| 天天揉久久久久亚洲精品| 特级西西444www| 亚洲日穴在线视频| 国产成人精品一区二区无码呦| 欧美wwwxxxx| 好吊妞视频这里有精品| 一本久道高清无码视频| 成人av免费在线播放| 国产一级做a爱片久久毛片a| 一夜七次郎国产精品亚洲| 国产亚洲欧美日韩精品一区二区三区 | 91丨porny丨国产入口| 九九热精品视频在线| 日韩在线视频免费观看| 久久69av| 久久99中文字幕| 国产人妖乱国产精品人妖| 中文字幕观看在线| 欧美xxxx18性欧美| 久久久久久久久久久久电影| 波多野结衣家庭教师在线播放| 91免费国产视频网站| 成年人av网站| 欧美老女人性生活| 欧美一区二区三区久久| 国产极品美女高潮无套久久久| 国产精品久久久久国产精品日日| 国产情侣自拍小视频| 欧美精品精品精品精品免费| 精品欧美激情在线观看| 亚洲 国产 图片| 亚洲一区二区三区自拍| 四虎在线观看| 亚洲最大激情中文字幕| 亚洲一区二区三区高清| 午夜影院黄色片| 日韩大片免费观看视频播放| 久久xxx视频|