国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

XopProtector加固實(shí)踐:按需保護(hù)核心代碼,性能損耗幾乎為零

XopProtector加固實(shí)踐:按需保護(hù)核心代碼,性能損耗幾乎為零 最近有個(gè)朋友找到我說(shuō)他們的App上線不到一周就被扒了源碼核心算法被抄得干干凈凈連注釋都沒(méi)刪。這種事在Android圈子里太常見(jiàn)了APK說(shuō)白了就是個(gè)壓縮包DEX文件反編譯成smali或者直接用jadx看Java偽代碼門(mén)檻低到讓開(kāi)發(fā)者想哭。于是他們想上加固但一問(wèn)方案又猶豫了——市面上的加固方案確實(shí)能防逆向但啟動(dòng)速度慢個(gè)一兩秒、包體積膨脹幾十兆、低端機(jī)直接卡成PPT這種代價(jià)誰(shuí)能受得了這個(gè)痛點(diǎn)就是XopProtector這個(gè)項(xiàng)目要解決的問(wèn)題。它不是那種“把整個(gè)APK加密成黑盒”的重型方案而是走了一條更克制的路子按需保護(hù)、精準(zhǔn)加固把性能損耗控制到幾乎感知不到的程度。這篇博文我會(huì)把整個(gè)加固實(shí)踐從頭到尾拆開(kāi)講為什么傳統(tǒng)加固會(huì)把性能做崩、XopProtector的設(shè)計(jì)思路是什么、我在實(shí)測(cè)里拿到了哪些數(shù)據(jù)、以及加固之后踩過(guò)的那些坑。適合Android開(kāi)發(fā)者、負(fù)責(zé)打包發(fā)版的技術(shù)同學(xué)還有那些正糾結(jié)“要不要上加固、該怎么選方案”的人來(lái)看。1. 加固這件事先想清楚我們到底在防什么1.1 靜態(tài)分析、動(dòng)態(tài)調(diào)試和二次打包三個(gè)威脅要分開(kāi)看很多團(tuán)隊(duì)一說(shuō)“加固”就想著把所有代碼全部加密最好讓人連類(lèi)名都看不見(jiàn)。但實(shí)際威脅模型根本沒(méi)這么籠統(tǒng)。我在實(shí)踐里習(xí)慣把風(fēng)險(xiǎn)拆成三類(lèi)第一類(lèi)是靜態(tài)分析。攻擊者拿到APK以后用jadx或者JEB打開(kāi)直接看Java層偽代碼核心的加密算法、簽名校驗(yàn)、后端接口地址全部一覽無(wú)余。更麻煩的是smali可以被直接修改改完再重打包就能繞過(guò)很多客戶(hù)端校驗(yàn)。這類(lèi)攻擊占了絕大多數(shù)防護(hù)的關(guān)鍵在于讓關(guān)鍵邏輯在靜態(tài)層面不可讀、不可改。第二類(lèi)是動(dòng)態(tài)調(diào)試。攻擊者在Root設(shè)備上跑Frida或者XposedHook關(guān)鍵函數(shù)運(yùn)行時(shí)拿到參數(shù)和返回值。這就不是簡(jiǎn)單做代碼混淆就能防住的需要對(duì)抗調(diào)試器、檢測(cè)注入、甚至對(duì)關(guān)鍵調(diào)用做動(dòng)態(tài)校驗(yàn)。但話(huà)說(shuō)回來(lái)普通App遇到的攻擊者90%都停留在靜態(tài)分析層面動(dòng)態(tài)調(diào)試的威脅等級(jí)其實(shí)沒(méi)有那么高。第三類(lèi)是篡改二次打包。廣告注入、植入病毒、盜用簽名這類(lèi)問(wèn)題主要靠簽名校驗(yàn)和完整性校驗(yàn)來(lái)防范本質(zhì)上和代碼加密關(guān)系不大。想清楚這三類(lèi)威脅之后結(jié)論就很明顯了我們不需要把所有代碼都變成密文只需要把“被抄了會(huì)死”的那部分代碼保護(hù)起來(lái)。這也是XopProtector最核心的設(shè)計(jì)出發(fā)點(diǎn)——?jiǎng)e做無(wú)差別加密做精確打擊。1.2 傳統(tǒng)加固方案為什么會(huì)把性能做崩市面上商業(yè)加固主流的做法是“DEX整體加密 運(yùn)行時(shí)解密”。安裝包里的classes.dex被抽空或者加密App啟動(dòng)的時(shí)候通過(guò)自定義ClassLoader去解密、還原真正的DEX。這種方式安全性的確高但代價(jià)也實(shí)打?qū)?。第一個(gè)代價(jià)是啟動(dòng)時(shí)間暴漲。解密和加載DEX是IO密集CPU密集的操作而且是在主線程的Application.attachBaseContext階段執(zhí)行。如果項(xiàng)目足夠大光這一步就要吃掉幾百毫秒甚至一秒多。在這期間用戶(hù)看到的是一個(gè)白屏或者啟動(dòng)圖體驗(yàn)已經(jīng)扣分了。第二個(gè)代價(jià)是方法調(diào)用變慢。有些方案會(huì)把DEX里的方法體抽走只在調(diào)用的時(shí)候從Native層還原。這就意味著每次進(jìn)入這些方法都要走一次“回調(diào)Native→解密→執(zhí)行”的鏈路。方法調(diào)用的開(kāi)銷(xiāo)從原來(lái)的幾納秒級(jí)變成幾十微秒甚至更高循環(huán)里調(diào)用一百次肉眼可見(jiàn)地卡。第三個(gè)代價(jià)是兼容性風(fēng)險(xiǎn)。Android的ART運(yùn)行時(shí)對(duì)ClassLoader、DEX格式的要求非常嚴(yán)格定制ROM上更容易出問(wèn)題。很多商業(yè)加固在某些系統(tǒng)版本上啟動(dòng)直接崩排查起來(lái)極其痛苦。這些方案之所以這么重根本原因是它們“把所有雞蛋都放在一個(gè)籃子里”——試圖用一套加密邏輯保護(hù)所有代碼那必然只能在性能、兼容性和安全性之間做取舍。而XopProtector的答案是既然我們不能為了加固犧牲性能那就只保護(hù)那些真正值得保護(hù)的東西。2. 為什么很多加固方案在Android 7以上的機(jī)器上會(huì)翻車(chē)2.1 ART、Dex2Oat和Class驗(yàn)證這三個(gè)機(jī)制決定了加固的上限先說(shuō)一個(gè)背景知識(shí)。從Android 5.0開(kāi)始系統(tǒng)默認(rèn)運(yùn)行時(shí)從Dalvik換成了ART。ART會(huì)做AOT編譯安裝App的時(shí)候通過(guò)dex2oat把DEX文件編譯成native指令這樣運(yùn)行的時(shí)候能直接執(zhí)行機(jī)器碼性能提升非常明顯。Android 7以后又加入了JIT變成了混合編譯模式安裝時(shí)先不AOT運(yùn)行時(shí)熱點(diǎn)代碼才被JIT編譯空閑時(shí)再通過(guò)dex2oat做AOT。這個(gè)機(jī)制對(duì)加固方案來(lái)說(shuō)是個(gè)考驗(yàn)。因?yàn)閐ex2oat在處理DEX文件的時(shí)候會(huì)對(duì)類(lèi)做驗(yàn)證檢查字節(jié)碼的合法性。如果發(fā)現(xiàn)DEX的指令結(jié)構(gòu)有問(wèn)題、或者方法引用指向不存在的類(lèi)就會(huì)拋VerifyError。很多加固方案為了隱藏代碼會(huì)對(duì)DEX做大幅修改甚至破壞原有的字節(jié)碼結(jié)構(gòu)結(jié)果就是dex2oat驗(yàn)證不通過(guò)運(yùn)行時(shí)只能走解釋執(zhí)行性能大幅下降。還有更麻煩的如果ClassLoader的行為超出了ART的預(yù)期某些Android版本上直接ClassNotFoundException或者ClassCastException。我在實(shí)際項(xiàng)目里見(jiàn)過(guò)一個(gè)加固App在Android 9上運(yùn)行流暢到了Android 12上啟動(dòng)就崩查到最后就是加固方案對(duì)ClassLoader的處理在新的系統(tǒng)版本上不再兼容。2.2 抽取式加固的“運(yùn)行時(shí)還原”損耗是積少成多現(xiàn)在很多方案喜歡做“方法級(jí)抽取”——把關(guān)鍵方法從DEX里抽出來(lái)放到Native層保存。App運(yùn)行的時(shí)候ClassLoader拿到DEX之后不是直接用而是要先把抽取的方法體填回去。聽(tīng)起來(lái)很巧妙但實(shí)際工程項(xiàng)目里方法調(diào)用往往是一個(gè)套一個(gè)的。A方法調(diào)用B方法B方法調(diào)用C方法如果每一個(gè)都是抽取方法那么每次進(jìn)入這些調(diào)用鏈都要觸發(fā)一次從Native還原到Java層的過(guò)程。這個(gè)還原過(guò)程本身就包含了一些邏輯開(kāi)銷(xiāo)查找方法、分配內(nèi)存、構(gòu)造方法對(duì)象、賦值回去。單看一次可能只有幾百微秒但一個(gè)循環(huán)里調(diào)用幾百次累積起來(lái)就是幾秒級(jí)別的卡頓。還有一個(gè)容易被忽略的問(wèn)題內(nèi)存。還原出來(lái)的方法體不是用完就丟的它需要占用內(nèi)存。如果抽取的方法太多App運(yùn)行一段時(shí)間以后內(nèi)存里塞滿(mǎn)了還原出來(lái)的方法塊內(nèi)存占用直線上升GC頻繁觸發(fā)卡頓就是這么來(lái)的。2.3 兼容性問(wèn)題本質(zhì)上是在對(duì)抗操作系統(tǒng)的“不透明更新”做Android安全的人都有一個(gè)共識(shí)你的加固方案真正要面對(duì)的敵人不是攻擊者而是操作系統(tǒng)本身。因?yàn)椴僮飨到y(tǒng)每個(gè)版本都在變——ClassLoader的實(shí)現(xiàn)細(xì)節(jié)在改ART的驗(yàn)證邏輯在改JIT編譯策略也在改。商業(yè)加固廠商必須不停地適配新版Android一旦跟不上用戶(hù)就會(huì)遇到閃退、卡死、各種奇怪的運(yùn)行時(shí)錯(cuò)誤。這個(gè)問(wèn)題的根子在于加固方案本質(zhì)上是在“偽造”一個(gè)操作系統(tǒng)認(rèn)為合法的DEX結(jié)構(gòu)同時(shí)還要在里面藏自己的私貨。一旦系統(tǒng)更新的某個(gè)細(xì)節(jié)和你的“偽裝”沖突整個(gè)App就崩了。所以一個(gè)長(zhǎng)期維護(hù)、尤其是一個(gè)開(kāi)源或者自研的加固方案最難的其實(shí)不是功能實(shí)現(xiàn)而是跟著Android版本持續(xù)做兼容性適配。這一點(diǎn)上XopProtector的策略是“少動(dòng)底層多動(dòng)上層”——不去偽造DEX結(jié)構(gòu)不去破壞ClassLoader機(jī)制把精力放在指令混淆、字符串加密、關(guān)鍵邏輯抽取這些對(duì)系統(tǒng)更友好的方向。這種方式雖然看起來(lái)不夠炫酷但換來(lái)的是更穩(wěn)定的兼容性和更低的運(yùn)行時(shí)開(kāi)銷(xiāo)。3. XopProtector的加固實(shí)踐按需保護(hù)精確打擊3.1 第一步梳理代碼分清哪些必須要保護(hù)XopProtector在做加固之前第一步不是配置工具而是做代碼梳理。我的習(xí)慣是建一張表把所有類(lèi)按“被逆向后的損失程度”和“被調(diào)用的頻率”兩個(gè)維度打分。先看損失程度。拿一個(gè)工具類(lèi)App舉例核心資產(chǎn)的排序大概是這樣的簽名生成邏輯、Token校驗(yàn)邏輯這一類(lèi)被抄走等于賬號(hào)體系失守?fù)p失極高加密算法和密鑰管理這類(lèi)是安全基石一旦泄露所有通信都等于透明損失極高業(yè)務(wù)核心規(guī)則、積分計(jì)算邏輯、活動(dòng)風(fēng)控規(guī)則被抄了等于商業(yè)邏輯白送損失高普通工具方法、網(wǎng)絡(luò)請(qǐng)求封裝、UI輔助等這些被看到了也無(wú)傷大雅損失低。再看調(diào)用頻率。冷啟動(dòng)路徑、主線程加載路徑、頻繁循環(huán)里的方法這些對(duì)性能極度敏感任何額外開(kāi)銷(xiāo)都能被用戶(hù)感知到而一些低頻調(diào)用的功能比如“設(shè)置頁(yè)的關(guān)于我們”、“反饋?lái)?yè)面提交”就算加固后慢了用戶(hù)也無(wú)感。把這兩個(gè)維度畫(huà)完你會(huì)發(fā)現(xiàn)真正需要深度保護(hù)的類(lèi)往往只占總代碼量的10%到20%。其余代碼用普通的混淆就夠了。這也回答了一個(gè)很多人問(wèn)我的問(wèn)題為什么XopProtector的包體積增加比傳統(tǒng)方案小很多因?yàn)樗緛?lái)就沒(méi)打算把所有代碼都拖下水。3.2 第二步選擇合適的加固策略分層處理XopProtector對(duì)不同的類(lèi)采用不同的策略這是我實(shí)踐中用下來(lái)最順手的分層方式第一層對(duì)于正常的業(yè)務(wù)代碼做常規(guī)混淆就夠了也就是把類(lèi)名、方法名、字段名改成ab、cd這種無(wú)意義的名稱(chēng)。這層目的是增加閱讀成本幾乎不帶來(lái)運(yùn)行時(shí)開(kāi)銷(xiāo)。第二層對(duì)敏感類(lèi)做控制流混淆和數(shù)據(jù)混淆??刂屏骰煜淖龇ㄊ前言厩逦臈l件分支、循環(huán)結(jié)構(gòu)打散插入垃圾指令和不透明謂詞讓人看smali的時(shí)候根本搞不清程序真正會(huì)走哪條路徑。數(shù)據(jù)混淆則是對(duì)關(guān)鍵的字符串做加密處理讓攻擊者沒(méi)辦法通過(guò)直接搜索字符串就定位到關(guān)鍵函數(shù)。第三層對(duì)核心算法和校驗(yàn)邏輯做Native化處理。把最關(guān)鍵的方法用JNI寫(xiě)到C/C里編譯成.so文件。這一層的原則是“小而精”只搬最敏感的幾個(gè)邏輯進(jìn)去而不是把整個(gè)業(yè)務(wù)代碼都往Native里塞。這里插一句很多團(tuán)隊(duì)一上來(lái)就說(shuō)“我們能不能全用Native寫(xiě)”我能理解這個(gè)沖動(dòng)但你真要把所有業(yè)務(wù)邏輯都搬到Native層開(kāi)發(fā)效率、調(diào)試成本會(huì)成倍上升而且.so文件自身的加載、初始化也是耗時(shí)點(diǎn)。權(quán)衡之后你會(huì)發(fā)現(xiàn)Java層加Native混編是最理性的選擇。3.3 第三步性能關(guān)鍵路徑要“繞道走”前面講的是“保護(hù)什么代碼”現(xiàn)在說(shuō)一個(gè)更關(guān)鍵的細(xì)節(jié)怎么讓被保護(hù)的代碼依然跑得快。一個(gè)比較有效的做法是“性能關(guān)鍵路徑不加密只混淆”。就拿冷啟動(dòng)來(lái)說(shuō)Application的onCreate方法、首頁(yè)的onCreate方法、首屏布局的inflate過(guò)程這些都是用戶(hù)能直接感知的慢。如果把這些類(lèi)也做深度抽取啟動(dòng)速度肯定受影響。我的做法是在這些啟動(dòng)路徑上只做輕度的混淆和字符串加密不做方法抽取和Native化。另一個(gè)做法是“方法調(diào)用不走反射”。很多加固方案為了保護(hù)方法會(huì)把方法改成通過(guò)反射調(diào)用這又帶來(lái)了性能開(kāi)銷(xiāo)。在XopProtector實(shí)踐中我會(huì)檢查所有加固后的關(guān)鍵類(lèi)確保被保護(hù)的方法都是直接調(diào)用反射只用于初始化階段的一次性查找查完之后緩存Method對(duì)象后面的調(diào)用全部復(fù)用。還有一個(gè)小細(xì)節(jié)AES加解密、RSA簽名這些操作JNI實(shí)現(xiàn)的性能就比Java層好不少尤其是做得比較多、且數(shù)據(jù)量大的場(chǎng)景。所以XopProtector的關(guān)鍵加密邏輯用C實(shí)現(xiàn)也算是在安全性之外白撿了一點(diǎn)性能收益。3.4 第四步把加固流程嵌入Gradle構(gòu)建鏈說(shuō)到底覆蓋一個(gè)項(xiàng)目的加固方案流程必須能自動(dòng)化。手動(dòng)跑一兩次沒(méi)問(wèn)題每次發(fā)版都手動(dòng)搞那就等著出錯(cuò)吧。在XopProtector的實(shí)踐里我把加固流程做成了一個(gè)Gradle插件在packageRelease這個(gè)Task之后自動(dòng)執(zhí)行。整個(gè)流程大概是這樣的# 1. 打包出未加固的APK ./gradlew assembleRelease # 2. 執(zhí)行加固腳本輸入原始APK輸出加固后的APK python3 xop_protect.py \ --input app-release-unsigned.apk \ --output app-release-protected.apk \ --config protect_config.json \ --keystore release.jks \ --key-alias release_alias # 3. 驗(yàn)證加固結(jié)果檢查簽名、檢查保護(hù)類(lèi)是否生效 python3 xop_verify.py --apk app-release-protected.apk一個(gè)小經(jīng)驗(yàn)簽名一定要在加固之后重新做。順序錯(cuò)了的話(huà)加固會(huì)破壞原有簽名導(dǎo)致安裝失敗。這里推薦用apksigner來(lái)做V1V2簽名尤其是Android 7以上必須要有V2簽名才能裝。protect_config.json里需要聲明哪些類(lèi)要進(jìn)Native保護(hù)、哪些類(lèi)只做混淆。我會(huì)把白名單和黑名單都維護(hù)成獨(dú)立配置文件這樣每次發(fā)版前只需要確認(rèn)這些配置沒(méi)有漏項(xiàng)。隨著項(xiàng)目迭代新加的類(lèi)如果沒(méi)有被配置文件覆蓋到gradle插件會(huì)給出警告方便及時(shí)補(bǔ)齊。4. 實(shí)測(cè)數(shù)據(jù)XopProtector加固后的性能損耗到底有多少4.1 測(cè)試環(huán)境與測(cè)試方法做性能測(cè)試之前我的原則是不要用旗艦機(jī)自欺欺人。很多時(shí)候你拿一臺(tái)驍龍8系手機(jī)測(cè)出來(lái)完全無(wú)感換到一臺(tái)用了兩年的中端機(jī)上就原形畢露。這次測(cè)試我用了一臺(tái)中端Android手機(jī)Android 12系統(tǒng)8GB內(nèi)存日常使用已經(jīng)有些卡頓感了。這種設(shè)備上還能跑出好成績(jī)才說(shuō)明方案本身靠譜。測(cè)試維度我選了四個(gè)冷啟動(dòng)時(shí)間、熱啟動(dòng)時(shí)間、包體積變化、以及一個(gè)高頻方法調(diào)用的耗時(shí)。冷啟動(dòng)時(shí)間用adb命令來(lái)測(cè)簡(jiǎn)單、可重復(fù)# 清空App進(jìn)程記錄冷啟動(dòng)時(shí)間 adb shell am force-stop com.example.protectedapp adb shell am start -W -n com.example.protectedapp/.MainActivity輸出的TotalTime就是冷啟動(dòng)耗時(shí)。熱啟動(dòng)測(cè)試我會(huì)在App切到后臺(tái)三分鐘之后再重新打開(kāi)它記錄從點(diǎn)擊圖標(biāo)到首幀可交互的時(shí)間。包體積直接用ls -lh看APK大小。方法調(diào)用耗時(shí)我在代碼里埋了System.nanoTime()統(tǒng)計(jì)測(cè)試一個(gè)加密方法的調(diào)用耗時(shí)。4.2 冷啟動(dòng)和熱啟動(dòng)讓我意外的一組數(shù)據(jù)直接放數(shù)據(jù)。業(yè)務(wù)App的體積不算大DEX文件加起來(lái)差不多11MB關(guān)鍵可執(zhí)行類(lèi)大約60個(gè)。未加固的原始APK冷啟動(dòng)平均耗時(shí)952ms用XopProtector默認(rèn)配置全部保護(hù)關(guān)鍵類(lèi)之后冷啟動(dòng)平均耗時(shí)1013ms只保護(hù)真正高敏感類(lèi)約15個(gè)類(lèi)之后冷啟動(dòng)平均耗時(shí)978ms。這個(gè)數(shù)據(jù)說(shuō)明兩件事。第一XopProtector的底層實(shí)現(xiàn)確實(shí)把運(yùn)行時(shí)的額外工作壓到了很低因?yàn)榧词贡Wo(hù)全開(kāi)也才多了60ms出頭要知道傳統(tǒng)的抽取式方案動(dòng)不動(dòng)就是幾百毫秒起步。第二按需保護(hù)這個(gè)策略是真實(shí)有效的只保護(hù)高敏感類(lèi)的方案比保護(hù)全部關(guān)鍵類(lèi)又少了35ms而且實(shí)際代碼量更大之后差距還會(huì)拉大。熱啟動(dòng)的數(shù)據(jù)更有意思。未加固APK的熱啟動(dòng)是382ms加固之后反而更低了——356ms這個(gè)差距屬于測(cè)試誤差范圍可以理解為熱啟動(dòng)性能基本無(wú)損。因?yàn)閄opProtector的加固邏輯只在初始化階段做了一次預(yù)處理后續(xù)運(yùn)行的時(shí)候完全走正常路徑?jīng)]有熱路徑上的額外開(kāi)銷(xiāo)。4.3 包體積增加控制在一個(gè)合理的范圍加固另一個(gè)讓人頭疼的問(wèn)題就是APK膨脹。傳統(tǒng)方案動(dòng)不動(dòng)就加個(gè)5MB到10MB尤其那些內(nèi)置了很重的so文件的方案輕輕松松把包體積推高一個(gè)級(jí)別。這次XopProtector的項(xiàng)目里包體積的控制比我預(yù)想的好。原始APK是18.7MB加了XopProtector之后是91MB。。。等等不是我重新核對(duì)了一下數(shù)據(jù)實(shí)際是19.4MB增加量大約是700KB。其中主要是Native層新增的.so文件和少量資源文件的加密開(kāi)銷(xiāo)。700KB對(duì)于一個(gè)移動(dòng)應(yīng)用來(lái)說(shuō)幾乎感知不到這意味著下載轉(zhuǎn)化率不會(huì)因?yàn)檫@個(gè)受到影響。不過(guò)這里要說(shuō)個(gè)實(shí)話(huà)這個(gè)數(shù)據(jù)是在“保護(hù)范圍受限”的前提下得出的。如果你把項(xiàng)目里所有方法都拉到Native層保護(hù)包體積一樣會(huì)漲得很快。所以關(guān)鍵在于你能不能用前面的分層策略把真正需要保護(hù)的類(lèi)收斂到一個(gè)合理的規(guī)模。4.4 方法的調(diào)用耗時(shí)和運(yùn)行時(shí)表現(xiàn)除了啟動(dòng)時(shí)間我特別關(guān)注的是“高頻方法調(diào)用有沒(méi)有變慢”。因?yàn)楹芏郃pp卡頓不是啟動(dòng)慢而是某個(gè)循環(huán)、某個(gè)頻繁回調(diào)里的方法變慢了。我找了一個(gè)項(xiàng)目里被頻繁調(diào)用的加密方法在原生DEX狀態(tài)下平均單次調(diào)用耗時(shí)約0.68微秒加固之后同一方法的耗時(shí)約0.71微秒。這個(gè)差距在工程上可以忽略不計(jì)。原因就是XopProtector對(duì)方法的加密是在“字節(jié)碼語(yǔ)義層”做的不是“運(yùn)行時(shí)動(dòng)態(tài)解密層”做的——方法調(diào)用不需要額外的解鎖過(guò)程。另一個(gè)值得看的指標(biāo)是Native堆內(nèi)存的增長(zhǎng)。整體跑了一遍加固后的App做了一系列常見(jiàn)操作以后Native堆內(nèi)存穩(wěn)定在可接受的水平?jīng)]有泄漏式增長(zhǎng)。這一點(diǎn)我會(huì)在下面的穩(wěn)定性排查部分展開(kāi)。4.5 安全性驗(yàn)證反編譯以后到底能看到什么性能達(dá)標(biāo)的同事我還順手驗(yàn)證了一下加固效果。用jadx打開(kāi)加固后的APK直接看被保護(hù)類(lèi)的代碼核心方法變成了JNI的native調(diào)用方法體內(nèi)部的核心邏輯變成一個(gè)黑盒字符串是加密過(guò)的密文控制流被混淆成一段看不太懂的邏輯。普通攻擊者走到這一步就已經(jīng)很難受。當(dāng)然作為一個(gè)做安全的人我得提醒一句沒(méi)有任何加固方案是絕對(duì)不可破解的所有方案都只是提高攻擊成本。XopProtector的目標(biāo)很明確——讓90%的攻擊者放棄讓剩下10%的人花幾周時(shí)間才搞定你一周就能打補(bǔ)丁修復(fù)的問(wèn)題。5. 加固之后穩(wěn)定性排查是少不了的硬仗5.1 啟動(dòng)閃退八成是ClassNotFound或者VerifyError加固之后的Crash最經(jīng)典的故障就是啟動(dòng)階段ClassNotFoundException。場(chǎng)景一般是這樣的加固配置里把某個(gè)類(lèi)指定為“Native保護(hù)”但代碼里其他類(lèi)也在引用這個(gè)類(lèi)一旦ClassLoader加載的順序不對(duì)就拋出異常。排查的思路是這樣的先看崩潰日志如果是ClassNotFoundException立刻檢查加固配置文件里的類(lèi)清單如果是VerifyError說(shuō)明混淆后字節(jié)碼結(jié)構(gòu)有問(wèn)題——典型的成因是混淆插樁和原有Lambda表達(dá)式?jīng)_突。這里有一個(gè)我踩過(guò)的坑Android的Lambda表達(dá)式在字節(jié)碼層是用invokedynamic實(shí)現(xiàn)的有些混淆器處理不當(dāng)會(huì)把invokedynamic指令弄壞導(dǎo)致ART驗(yàn)證失敗。解決方法是把這類(lèi)類(lèi)名加到混淆白名單里讓它們跳過(guò)控制流混淆這一層。5.2 熱修復(fù)和插件化能不能和加固共存這個(gè)問(wèn)題問(wèn)到的人特別多。我的經(jīng)驗(yàn)是熱修復(fù)方案和深度加固天然沖突。熱修復(fù)的原理是下發(fā)新的DEX或者補(bǔ)丁包讓ClassLoader優(yōu)先加載補(bǔ)丁類(lèi)但加固之后的類(lèi)已經(jīng)被改過(guò)結(jié)構(gòu)了補(bǔ)丁如果和加固后的結(jié)構(gòu)對(duì)不上熱修復(fù)就會(huì)失效。如果你項(xiàng)目里已經(jīng)用了熱修復(fù)我的建議是加固保護(hù)范圍必須刻意避開(kāi)熱修復(fù)涉及的類(lèi)否則兩邊打架最終的坑還是你自己填。插件化的原理類(lèi)似插件里的類(lèi)大多數(shù)是動(dòng)態(tài)加載的加固要對(duì)插件里的類(lèi)做保護(hù)需要單獨(dú)配置插件包的加固方案。這個(gè)問(wèn)題的答案沒(méi)有標(biāo)準(zhǔn)解完全看你的架構(gòu)設(shè)計(jì)怎么走。但只要記住一個(gè)原則——加固不應(yīng)該影響你既有架構(gòu)的運(yùn)行機(jī)制如果影響了就得調(diào)整保護(hù)策略而不是反過(guò)來(lái)讓業(yè)務(wù)遷就加固工具。5.3 加固后Crash上報(bào)的符號(hào)化問(wèn)題這是一個(gè)大家容易忽略的細(xì)節(jié)。加固之后崩潰日志里的調(diào)用棧不再指向原始的方法名而是被混淆過(guò)的名稱(chēng)。如果Crash上報(bào)平臺(tái)不做符號(hào)還原你看到的崩潰堆棧就是一堆a(bǔ)b.cd()排查起來(lái)非常痛苦。所以我在項(xiàng)目里做了一件事在加固流程中自動(dòng)保存一份混淆映射表并且上傳到Crash平臺(tái)讓平臺(tái)可以自動(dòng)做符號(hào)還原。這樣線上出了崩潰我拿到的是還原后的可直接閱讀的Java調(diào)用棧。這一步雖然不是加固本身的一部分但沒(méi)有它加固后排查問(wèn)題會(huì)浪費(fèi)大量時(shí)間。5.4 不同廠商系統(tǒng)的適配與渠道包發(fā)版適配問(wèn)題在加固方案里總是繞不開(kāi)的。我這次測(cè)試時(shí)在Android 9、Android 11、Android 12、Android 13上分別做了啟動(dòng)測(cè)試基礎(chǔ)功能都能正常跑通。不過(guò)在一些廠商系統(tǒng)上尤其是那些對(duì)ClassLoader做了深度定制的ROM我需要進(jìn)安全模式排查最后把個(gè)別系統(tǒng)不兼容的類(lèi)放到保護(hù)范圍之外。多渠道打包也是每次發(fā)版都要過(guò)的坎。如果你們還在用傳統(tǒng)的方式在加固后進(jìn)行渠道寫(xiě)入需要特別小心因?yàn)榧庸瘫旧頃?huì)改變APK的結(jié)構(gòu)。我建議用Gradle插件把V2簽名和渠道信息放在同時(shí)處理順序一定是“先加固、再寫(xiě)渠道、最后簽名”。順序一旦反了系統(tǒng)可能拒絕安裝。6. 最后分享一點(diǎn)我的實(shí)際體會(huì)如果讓我總結(jié)XopProtector這次實(shí)踐里最有價(jià)值的經(jīng)驗(yàn)就是那句話(huà)加固方案不是越強(qiáng)越好而是越精準(zhǔn)越好。我見(jiàn)過(guò)太多團(tuán)隊(duì)一上來(lái)就全量加密結(jié)果線上啟動(dòng)失敗、性能暴跌、用戶(hù)差評(píng)一片最后只能灰度回退。而真正可持續(xù)的加固方案一定是在安全性能和開(kāi)發(fā)維護(hù)之間找到了平衡點(diǎn)。我個(gè)人的操作習(xí)慣是每個(gè)季度會(huì)把保護(hù)范圍重新過(guò)一遍看看有沒(méi)有新加的類(lèi)需要納入保護(hù)、有沒(méi)有已經(jīng)下線的類(lèi)需要從配置里剔除。這個(gè)習(xí)慣幫我在保證安全性的同時(shí)把性能損耗控制在一個(gè)幾乎可以忽略的水平。還有一個(gè)建議是自己要經(jīng)常做“踩點(diǎn)測(cè)試”——每隔一段時(shí)間就站在攻擊者的角度用反編譯工具看一下加固后的APK把那些一眼就能看出業(yè)務(wù)邏輯的地方記錄下來(lái)分析是否需要進(jìn)一步加強(qiáng)。安全工作不是裝上了就萬(wàn)事大吉它更接近一場(chǎng)長(zhǎng)期的攻防博弈隨時(shí)迭代、持續(xù)加固才能始終跑在攻擊者的前面。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产自产一区视频在线| 99在线免费公开视频| 日韩无码操逼片| 任你爽视频| 亚洲最大成人a毛毛片| 国产伦精品一区二区三区视频女| 超碰是碰在线观看| 一类av片在线看| 亚洲日韩肥臀视频在线观看| 国产精品久久久 | 97人人草| 亚洲欧美碰碰| 亚洲无码色| 久久9999 | 色丁香五月婷婷| 97天天操天天干| 偷拍精品一区二区三区| 丁香激情五月| 色噜噜狠狠色综无码久久合欧美| 精品国产www久久| 四虎免费看黄| 欧美αv.com| 男人天堂站| 久久九九国产精品| 午夜精品一区二区三区三上悠亚| 综合一区二区影视| 黑人精品成人一区二区三区| 99蜜桃臀亚洲成人在线观看| 五月婷婷丁香| 美女啊啊啊啊啊| 亚洲 欧美 手机在线观看| 亚洲AV无码AV吞精久久久久 | 日日操夜夜操天天操免费观看麻豆| 免费观看国产不卡av| 97超碰亚洲| 日韩图区 偷拍| 中文字幕乱碼在线| 精品亚洲一区在线观看| 动漫区日韩区欧美区| 日韩无码人妻| 欧亚日韩三区| 岛国成人av在线播放网址| 欧美色图自拍| 看黑人AV不卡| 日韩图区 偷拍| 青青草啪啪网| 97最新在线播放视频| 中出20p| 26uuu国产成人综合| q2午夜理论片夜色av| 欧美成人黄网色网站| julia ann久久| 国产一区二区三区久久久精品| 亚洲综合小视频小说在线观看 | 日韩精品电影| 丰满人妻大屁一区二区| 以及麻豆国产入口在线观看免费| 天天天天天超碰| 九九久精品| 色综合色欲色综合色综合色综合| 思思99热| 啪啪资源网| 欧美性爱网97| 日韩人妻一区二区精品| 国产精品第一区第一页| 婷婷精品久久av影视| 丝袜美腿诱惑亚洲欧美视频在线观看| 日产操逼| 久9久9久9久9久9久9| 又大又长又爽| 成人片在线播放| 插入逼91| 久操免费电影| 人妻免费观看| 蜜臀久久99精品久久久老,,| blacked精品一区国产| 一二三区精品视频| 岛国999| 91九久| 国语av最新自产拍在线观看| 国产精品久久久久久久久久梁医生| 狠狠操狠狠燥| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 欧美日韩理论一区| 超碰九色| 日韩Va亚洲va欧美Ⅴa久久| 少妇蹲下露出大唇5| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 九九色精品| 啊啊啊啊好大好硬啊啊啊啊啊| 伊人综合色网| 亚洲色图殴美色图激情乱伦| 成人熟女视频一区二区三区| 久久少妇| 色波多| 青青草日本中文字幕| 国产女人成人精品视频| 无码最新| 69XX一中文字幕人妻91| chaopen97久久| 欧美AB在线| 日本九九久久99播| 久久天堂婷婷网| 看黄片视频免费| 亚洲欧美成人网站AAA| 超碰在线综合97| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 免费草草草草草视频| 亚洲淫乱骚妇AV| 欧美天天拍| 97国产高清视频在线观看| 精品人妻15区| 大香蕉中文201| 女上位精品在线| 国产盗摄美女如厕大神作品在线观看| 国产专区路线| 性欧美体内射精| 又黑又大又粗| 人人操人人狠狠操| 1024人妻| 水澄无码AV| 九九av| 婷色五月| 九九热精品免费视频| 99精品在线| 色婷婷激一区二区三区| 国产精品点击进入在线影院| 精品久久无码午夜福利| 多毛小伙内射老太婆 | 老司机香蕉久久久久| 超碰97人人乐| 亚洲三级。日韩三级| 青青草色AV| 欧美一级二级三级| 国产亚洲精品一区二区三区| 麻豆久久视频在线地址| 白丝1区2区3区| 丝袜无码a片| 国产一区二区久久| 亚洲骚男同com| 久久精品操| 特污精品女优骚货黄色视频在线免费观看| 深喉吞精| 尹人免费观看视频在线| 天天躁日日躁成人字幕aⅴ| 日本操逼视频不卡直接放| 亚洲密乳AV| 搡老熟女免费视频| 91 手机在线播放 绯色| 青青青国产| 精品无吗久久| 中文字幕午夜精品久久久| 亚洲校园激情| 中文字幕后石码三区四区| 日韩精品啪啪啪| 尤物视频新赏网鲜网色诱网| 乱欲视频| 又大又长又粗又爽又黄| 婷婷视频网| 人妻碰碰碰碰碰碰| 色香伊人| 亚洲se91| 无码高清操逼| 超碰人人在线| 后入人妻一区| 日曰骚久久精品| J?P?NESEHD熟女熟妇伦| 亚洲aV无码成人在线观看| 丰满人妻一区二区三区免费,| 午夜天天碰综合视频| 激情图片亚洲色图| 欧美,日韩,中文,另类| 超碰日本97美女人妻人人玩人人爱 | 日韩av不卡在线观看| 蜜桃成人1区2区3区| 老师充足的奶水小说| 亚洲在钱| 国产久久av| 又大又黄国产| 亚洲欧美伦综合| 九色精品视频导航1| 黑丝少妇| 国产麻豆一区二三区| 97爱| 日本不卡三级网在线播放| 亚洲麻豆18发?| 加勒比aⅴ| 国产黄片精品在线| 射丝袜大香蕉| 国产操逼视频在线观看| 丝袜熟女2P| 天天操福利视频综合网站| 99久久无码| 一级久久久久久久久久久| 97色在线观看| 91欧美在线| 欧美一级黄片免费播放| 亚洲91大片| 免费久久一级毛片大黄| 欧美日韩国产电影| 久久久久亚洲Av无码专区老牛影视| 欧美亚洲国产91在线| 国内91熟女人妻丝袜天天精品视频在线 | 九九九久| 日韩在线观看字幕精品| 精品性爱久久视频| 岛国在线国产| 青青草原香蕉日本Ap| 国产熟女完整版中字| 看黑丝美女操逼青青网站| 国产嫩草精品A88AV| 亚洲日韩AV视色| 黑人与人妻| 蜜臀一区二区三区在线 | 国产精品扒开腿做爽爽爽视频| 极品美女福利在线观看| 97在线资源| 视频国产欧美在线播放| 天天看少妇| 美女诱惑久久| 91无码中出人妻视频| 精品美女少妇一区二区| 久久久久免费少妇| 性综合网| 800zy一区二区| a片久久久久久久久久久久 | 一个色导综合| 天天操天天射青青草| 中文字幕在线免费观看| 无码99| 国产JDAV无码视频在线观看| 北京美女一区二区| 日本国产成人亚洲精品无码| 搡老女人老熟女91| 99热精品在线| 一级特黄aaa大片在线观看成人一级片在线观看 | 五月婷婷久久综合| 欧美色图电影| 99国产精品自在自在| 日本视频一区二区三区| 午夜αv| 欧美久久九九| 成年人黄色小视频网站| 韩日自拍| 国产suv精品一区二区四区999| 国产JDAV无码视频在线观看| 亚州九九九精品视频| 欧美人妻一区| 成人毛片免费| 97精品视频在线| 立川理惠加勒比无码| 蜜臀aV午夜一区二区三区| 偷看洗澡一二三区美女| 丝袜美腿亚洲| 91天射| 久热99| 日本东京热久久久电影| av橘色网站| 久久欧美1卡2卡3| 日韩人妻播放| 国产99999| 老熟妇一区二区三区啪啪| 久久99久久99久久99人受| 2020久久免费视频| 亚洲中文字幕久久无码精品| 色婷婷综合久久中文字幕雪峰| 日本操逼二区| 97国产精品视频| 一区二区亚州激情久婷婷欧美| 青青草日韩无码| 人妻少妇被猛烈进入中| 蜜臀99精品国产高清在线观看| 亚洲欧美爆| 日韩三级天堂在线观看| 亚洲不卡三级手机播放| 啊啊啊操死我了| 爽爽爽免费视频| 天天日天天舔| 国产在线视视频有精品| 最新av中文字幕高清| 久久9精品| 久热精品色情| 欧美色五月| 一级岛国大片| 久久黄片国产一区二区| 青青草一区二区高清无码视频| 求求你操操我| 久草久热| 偷拍欧美综合| 婷婷丁香五月综合| 欧美成人黄网色网站| 国产强奸乱伦xd| 久久春色| 欧美翘臀视频网站一区二区三区| 另类专区加勒比| 青青草啪啪网| 青青青青草av在线观看| 99999精品视频| 狠狠色综合网| 精品久久久久久亚洲| 精品亚洲国产成人AV制服丝袜| 我要色综合网| 亚州性9| 欧美色图99| 玖玖爱伊人玖玖爱| 亚洲做性| 久久久久极品| 亚洲AV色图一区| 色偷综合| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日本超碰在线国产一区| 欧美人人AAA| 免费看A片毛毛片在线播| 99老司机精品视频在线观看| av天堂天堂av日韩| 99re黄| 欧美九九九| 日日噜噜夜夜久久亚洲一区二区 | 自拍偷拍亚洲熟女妇人精品| 激情文学88| 翔田千里AV无码秘 三区| 国产精品com| 囯产精品久久久久久久久久梁医生| 亚洲狠| 色逼综合| yellow网站免费观看日韩高清无码| AV色五月天| 97超色| 日韩91网| 蜜臀久久99精品久久久久| 免费a v| 老熟女乱伦一区| 人人么人人操| 乳欲人妻办公室奶水| 八人操人人摸人人看| 在线中文字幕极品av| 日韩去日本高清在| 自拍盗摄一区| 后入福利| 色色网91| 国产精品探花视频| 亚洲丁香花色| 欧美人妻精品| 日本淫穴在线| 国语少妇精| 毛片久久| 国产精品探花视频| 亚洲另类综合欧美| 久操视频在线| 韩国免费播放一级毛片| 欧亚性爱啪啪| 91色五月俺来也| 日日干夜夜骑| 91综合熟女| 美女操逼福利视频| 中文字幕一区 二 区 三 四 五 区日 日 骚| 九九伊人网| 色情成人五月天| 青春草A| 黑人精品欧美一区二区蜜桃| A级毛片在线看免费| 99久久久久| 亚洲永久AV无码精品秋霞| 搡老女人老91妇女熟女| 精品人妻中文字幕高清| 美女自卫慰黄网站免费| 欧美性暴力猛交XXXX | 啪啪免费| 亚洲综合性感在线| 国产精品一区二区密臀| 成人 日本A片无码8888| 国产白领连续中出在线播放| 欧美人妻制服| 99这里只有精品国产| 亚洲精品尤物yw在线影院| 婷婷伊人綜合中文字幕小说| 亚洲成人精品久久久| 亚洲中字慕不卡| 人妻啪| 久久久com| 另类图片五月天| 国产黄色小视频网站| 99热色精品| 日韩亚洲美女一区久久| 俞拍自拍| 欧美成人四级在线播放| 按摩中文字幕| 国产熟女无套内射| 人人看人人摸人人色| 国产精品懂色tv影视免费观看| 熟女突然公开看18禁影片| 美女主播色欲91抠b在线播放| 久久久啊啊啊| 99无码视频| 超碰偷拍| 图片区小说区| 欧美激情黑人| 国产树林里野战在线看| 超碰97久久国| 国产女性无套 免费观看| 亚洲大色堂| www.99色| 精品十三区| 久久线上视频免费看| 国产福利影视| 另类图片五月天| a级理论午夜日本| 2019午夜福利视频| 思思热在线cao| 人人爽人人精品乱人伦AV| 日本一区视频在线观看| 亚洲h片在线免费观看| 亚洲欧美97| 蜜臀久久99精品久久久电影| 亚洲欧美一区二区三区在钱蜜桃 | 午夜啪| 香蕉99秘 精品一区丁香| 久久中文字幕女同性恋一区| 网页导航五月天免费一二三区| 欧美综合 站| 美国日韩黄色片| 久久久天堂| 日本三级R| 九九九九精品在线| 一区黄二区黄| 久久久久久久精| 成人AV素股で擦久久| 国产性爱强奸乱伦大全| 午夜精品久久久99| 国产强奸超碰AV| 99热这里是精品| 欧美曰韩国产精品| 欧美成人一区二区三区在线播放| 亚洲蜜乳av| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产13区| 日韩Va亚洲va欧美Ⅴa久久| 亚州色站 日韩电影| 欧美αv.com| 国产日韩中文字幕欧美| 亚洲综合激情五月久久| 日韩欧美亚欧在线视频| 日韩噜噜69| 天天爽人人综合免费7799| 日本精品加勒比海一区| 99re3这里只有精品| 欧美经典一区二区三区| 国产一线二线三线av| 久久婷婷精品| 一本色道综合久久欧美| 色九九久九九| 色天欧美| 歐美一級亂黃99在綫精品| 五月丁香六月综合缴清无码| 亚洲自拍另类丝袜综合| 3p国产欧美99热| 久久久久九九九九| 一区二区播放| 久久久久久91香蕉国产| 精品人妻伦一二三区久久| a片久久久久久久久久久久| 九九热午夜欧亚国产视频| 国产欧美第五页| 国产精品久久久久久无码红治院| 久久激情婷婷| 青女在线| 日韩内| 天天插夜夜爽| 婷婷色一区| av凤凰久久久| 国产深夜福利| 大香蕉伊人网WWWn0n| 欧美强奸一区二区诱惑| 国产精品久久久久无码Av网曝门| AV丝袜少妇| 国产玖玖| 婷婷综合网站| 性开放中文AV高清无码免费看| 97亚洲精品| av橘色网站| 亚洲成人妻日韩在线| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 久久极品伊人| 91在线无码精品秘 软件| 被窝影院午夜看片无码| 97精| 91性网| 98精品国产乱码久久久久久| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 日本加勒比无码专区| q2午夜理论片夜色av| 中文字幕78| 欧美躁死她一区二区| 亚洲欧洲精品视频发布| 国产在线激情视频| 日本一区二区三区午夜观看| 18禁在线视频| 午夜福利1区2区3区| 大学生美女口爆| 色妇综合网| 精品传媒在线一区| 啊啊啊爽爽| 成人怡红院| 天天干夜夜肏| 日韩精品熟妇| 久久免费中文字幕在线观看| 免费看A片毛毛片在线播| 日韩欧美中文日韩欧美色| 国产AV色黄看到爽| 无码WWW免费视频网站| www.黄色在线| 亚洲高清无码在线桃色| 午夜福利视频在线一区| 在线性黄高清免费视频| 无码 黑人一区二区三区| 91丨人妻丨国产丨丝袜| 麻豆亚洲AV成人无码久久精品| 天天射天天色成人| 日本综合色图| 中文字幕美女91| 激情五月天中文字幕色| 中国农村熟妇毛片视频| 超碰这里只有精品| 操老熟女AV| 青青草五月份天| 欧美 日韩 婷婷 五月| 久久久久久久久久久久欧美日| 无码九九| 另类图片综合| 国产51色综合久久免费| 久久婷婷视频| 亚洲色图20p| 亚洲污污网站| 可乐操亚洲蜜911| 超碰91在线| 91精品亚洲内射孕妇| 国产一区二区三区导航| 亚洲精品视频二区| 9 9无尺码天堂网| AV色五月天| 99日视频在线免费| 五月婷亚洲精品天堂| 水多多映视AV| 欧洲精品二区| 精品欧美А∨无码黑人大荫蒂 | 欧美激情欧美精品| 肉丝中文无码高清| 曰韩人妻中文字幕在线| 午夜福利免费精品视频| 无码99| 国产精品乱码久久久、久久| 天天综合91| 极品销魂美女一区二区| 97香蕉碰碰人妻国产欧美| 小草三级久久观看| 激情文学亚洲| 无码免费在线观看黄色片| 操一区| 亚州色图欧美| 国产呦精品系列在线观看| 亚洲欧美91| 约操熟妇| 日本一区二区电影网站| 这里都是精品| 操我无码| 9999九九九久久久| 国产精品久久久久久亚洲色欲| 天天干人妇| 大香蕉综合久久| 久久久久白虎| 91天堂色男人的天堂| 这里是精品| 天天操天天舔| 色官网在线| 精品二999| 国产白丝精品在线观看| 国产亚洲人妻综合日韩 久久| 色天堂在线观看| 91久久免费视频互動交流| 精品 码产区一区二-1080P高清在线www-B029AV| 99∨VTV| 亚洲欧美日韩电影网站一区 | 最新一二三区视频| 9Ⅰ老熟女| 狼人久草| 亚州熟妇精品| 亚洲色图尤物视频 | 91久| 99在线免费观看| 亚洲成人美女无吗| 污污污8888| 久久久78| 婷婷丁香五月综合| 欧美日韩欧美| 五月综合色| 九九九热精品| 欧美黄片欧美黄片xxx| 搡老女人老91妇女熟女| 色青青久久影视| 在线小说视频一区| 亚洲暴力强奸AV| 伊人久久亚洲色欲综合网站| 操逼操逼视频操逼| 久久久久久久六六| 操比国产| 人妻第一页| 草草影院在线视频| 欧美精品久久96人妻无码| 超碰人人在线| 婷婷五月天激情四射| 九九热免费国产视频婷婷伊人| 69天堂| 欧亚乱色熟一区二区三四区| 新91视频.cmp| 国产人妖视频一区在线观看| 亚洲 另类 丝袜 自拍 动漫| 乱欲一区二区| 精品丰满熟妇人妻一区| 男人的天堂2019AV| 九九九九九九视频免费| 人妻天堂综合网| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 午夜黄色免费在线观看| 97国产|免费| 久久性爱免费送| 超碰97亚洲| 91爽啪| AA级电影三区| 欧美色爱综合| 丰满人妻一区二区三区四区| 亚洲少妇在线影音| 丁香五月色情| 日韩强奸av| 97超碰欧美手机在线| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 欧美九九爱| 乱伦a片视频| 老熟女综合网| 久草新免费| 欧美性生活综合| 欧美精品精品一区二区| 日日玩天天干| 中文字幕在线日亚州9| 热思思免费视频| 亚洲欧美日韩中文久久自慰| 天美麻豆精品视频99| 国产一区自拍欧美日韩| 一区二区视频在看| 亚洲综合69| 91xingse| 黑人综合网| 久湿久久 | 亚洲中文字幕妇伦久久| 中文字幕成人理论在线| 不卡超碰护士AV在线免费播放| 精品久久久久久无码| 91亚洲影视| 亚洲精品欧美专业| 亚洲无码99| 色综合av男人天堂| 国产兽交视频在线播放| 亚洲男人天堂2| 日韩精品 资源| a天堂视频| 久久九色| 亚洲综合夜色| 日韩乱码Av| 美女极品一区二区三区| 东北少妇高潮zzzz| 亚洲日韩电影| 亚洲天天自拍| 日韩9999| 欧美精品丝袜久久久中文字幕| 青草av在线| 午夜福利免费福利视频| 激情小说亚洲色图| 日韩精品 欧美激情| 91国精产品| 久久影视二区三区行押| 黄色片A级一区二区三区| 好涩综合| 在线视频97| 亚洲人妻色图| 色月天AV导航| 狠狠操官网| 乱伦熟女论坛| 九九九免费视频| 欧美大的香蕉有线电视视频 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 长久操视频| 天操老女人| 蜜臀99999| 大香蕉色网| 偷拍欧美综合| 人妻激情另类| 香蕉99秘 精品一区丁香| 97最新在线播放视频| 一本精品日本在线视频精品| 色图综合网| 久热最新在线杭州| 日本天天干天天操一区| 91岛国动作片| 91性片| 好一吊区二区| 国模91| 小草av不卡亚洲二区| 久久人妻四季| 亚洲综合影片| 久久九精品| 色偷偷男人的天堂麻豆| AV久日| 国产欧美日韩臀| 加勒比海成人视频网| 狠狠做深爱婷婷久久二区| 黄色片G G G| 久久久久国产精品人妻aⅴ天堂| 欧美 熟女 日韩| 男人的天堂久久狠| 凹凸 69堂 在线播放| 久久久久久九九九九九| 蜜臀久久99精品久久久电影| www.色吧5.com| 伊人专区一区二区三区| 口爆吞精在线观看| 日本 欧美 亚中文字幕| 久久25| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧成人在线| 中文久久| 乱伦图av| 高清成年美女黄网站免费大全| 69精品久久久久中文字幕| 97五月天| 67194无码不卡| 97精选久久| 亚洲中文丝袜美腿诱惑字幕| 丰满人妻aA一区二区三区| 久久亚洲欧美中文字幕国语| 探花激情视频| 色女99一级片在线观看| 久久人妻少妇| 97这里只有精品| 在线国产福利网址导航| 国产成人网| 久久久不卡区一区二区三区久久久| 99色骚| 欧美后入| 在线性黄高清免费视频| 极品极品色影院| 久久欧洲| 农村妇女精品一二区| 高清无码一区二区三区| 五月天色综合| 精品熟女一区=区三区| 10000部十八禁看电影| 97爱爱官网| 国产成人精品必看| 小少妇| 人妻天天爽夜夜爽2| 国产在线综合网| 久操热线| 亚州综合AⅤ| 操逼操逼操| 手机在线中文字幕国产| 久久9久9久99久9久9| 亚洲 欧美 日本 国内 首页| 岛国激情视频在线观看| 九九毛片这里只有精品| 在线观看啊啊啊啊啊| 日本日逼高清| 亚洲色图欧美色图在线播放| 日韩无码视频黄色| 五月开心网| 久久久草草精品| 午夜福利1区2区3区| 亚洲午夜免费狠狠干| 五月天亚洲网| 亚洲在线网站| 日本三级久| 麻豆一区二区三区在线看| 久久一区二区高清免费| 日韩啪啪啪视频| 成人毛片免费| 婷婷色一区| 精品人妻一区二区三区免费视频| 人人操欧美风骚| 日本三级韩国三级99| 亚洲综合伊人| 国产一区二区av综合| 欧美91在线+|+欧美| 精品日韩人妻视频| 99爱久久视频频| 超碰色综合| 熟女啪啪视频| 色激情综合网站| 性欧美另类高清| 97久久国产精品女不卡| 91无码中出人妻视频| 亚洲综合色在线| 国产福利影视| 日韩 女同 综合| 日本熟妇人妻中出视频| 日本精品一区二区三| 久久黄色视频一区二区三区| 男人网站婷婷| 乱欲一区二区| 亚洲91综合| av资源在线播放天堂| 97超碰公开| 国产精品乱码久久久| 日韩无码成人电影| 蜜区区视频79| 91校园春色长篇| 亚洲天堂另类| 色综合一区二区三巨| 欧美成人一级麻豆| 中文字幕人妻色偷偷久久皮| 国产精品美女久久久久AⅤ国产馆| 天天操天天看| 色色色综合网| 日本视频在线中文字幕| 久偷拍| 操逼操网| 久久αⅴ| 中文字幕55555| 亚洲古典另类欧美在线| 人妻第一页| 伊人大香蕉在线| 色狠狠 - 百度| 国产乱码久久久| 青青操97| 激情熟女12P| 男女性扦B| 男女一级A片大黄,一进一出| 啊啊啊啊啊在线| www.AV有限公司一区| 美女被艹尤物视频| 99999精品| 国产高清1234区| 人妻一区视频| 午夜在线播放| 99热 按摩 日韩| 婷婷久草| AV在线性爱| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久久月天| 艾草av| 大香蕉乱伦视频网| 久久午夜鲁丝片| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 欧美乱色| 亚洲欧美日韩精品久| 性天堂| 精品制服美女中文一区二区三区| 九九热免费国产视频婷婷伊人五月| 国产精品人人爽人人做可爱福利| 91欧美巨乳| 刺激性视频黄页| 最新三级网址| 91精品人| 中文字幕日韩情色| 熟女欧美日韩综合婷婷| 国产精品无码AV网站| 爱妃国产亚洲视频中文字幕| 91天堂| 九九九草| 伊人玖玖网| 欧美亚州手机在线| 国内精品伊人久久久久影院会| 美日韩男女操屄视频| 欧美成人贴图| 国产久久日| 国产人伦精品一区二区三区| 国产激情综合五月久久| 中国国产精品一区视频| 日本成人在线不卡一区二区三区| 2019亚洲男人天堂| 欧美日韩亚洲高清不卡一区二区三区| 亚洲色五月| 天天看,天天做| 69XX一中文字幕人妻91| 久久久一区二区三区麻豆| 久草精品视频| 中文字幕超碰CAO| 日韩一区二区熟女| 花野真衣| 9久超碰| 亚洲精品第一| 中文字幕亚洲热播人妻| 日韩熟女乱伦中出| 久久久国产av美女私房| 人人么人人操| 玖草在线视频| 花花AV导航| 大香久久| 亚洲 在线| 97综合激情| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 91人妻人人澡人人爽人人精品| 任你草| 深夜激情无码| 人妻精品一区二区在线| 啪啪资源网| 色官网色综合| 成人性爱av| 少妇一区二区三区高速| 男人天堂毛片| 青苹果影院男人的天堂| 97碰碰色| 久久岛国| 91日日夜夜| 久久r精品| 精品国产乱码久久久影院| 九九九九一级| 青青青草原| 欧美色91| 欧美激情一| 欧美性高潮在线| 九久久精| 亚洲人妻久久| 午夜舔阴达高潮视频免费看| 69XX一中文字幕人妻91| 国产欧美在线观看免费观看| 岛国黄片网站| 久久五月天婷婷丁香中文字幕| AV天堂国产| 国产精品制服丝袜清纯唯美| 国产一区二区三区导航| 超碰人人色| 无码伊人久久大杳蕉中文无码| 丁香久久| 日日夜夜骚| 噜噜噜亚洲精品| 日本ZZ高免费A级视频| 亚洲se91| 人妻铁牛TV| 欧洲黄色网| 911粉嫩人妻| 九九九九九九九精品视频| 有码免费观看| 人妻激情在线视频| 97超碰大| 777琪琪午夜免费A片| 国产又操| 香蕉一区二区三区在线视频| 欧美一区二区成人一卡| 深夜激情| 欧美狠狠| 久久香蕉国产线看观看亚洲女人| 色亚洲欧美| 亚洲本色精品一区二区久久| 岛国大片在线观看网站入口| 欧美黄色大香蕉一区二区| 综合色图亚洲欧美| 国产白丝在线| av线电影| 91亚洲欧洲| 国产成年免费大片黄在线观看| 久久九九99| 色色综合97| 手机在线大香蕉| 亚洲 日本 国产 综合| 九九热AV| 国产亚洲精品美女| 久久久久久久9| 91在线视频观看国产| 国产精品一二三区福利| 亚洲日韩东京热一区| 亚洲人妻五月丁香婷婷| 免费一级a毛片久久久久久鸭绿欲| 国内三级自拍小视频在线观看| 久久综合五月天| 欧美综合第一| 9 1果冻精品视频| xxxx网站亚洲精品| 97视频网站在线观看| 夜夜无码| 免费亚洲黄色视频在线观看| 91在线页| 亚洲精品乱码久久久久久蜜桃麻豆| 老熟女乱伦片| 色欧美天天| 99re69综合| 黄色大片视频在线免费看| 激情五月天社区| 狠狠夜色午夜久久综合在线| 99精品人妻| 日韩一区二区高清在线观看的| 亚洲熟妇乱女区二区三区| 欧美性高潮在线| 逼逼逼逼操操操操操操操操操午夜剧场 | 92午夜免费福利视频| 久久久久密臀一区二区| 日本人妻最新在线中| 超碰在线人妻| 91电影色诱| 国产精品人妻无码久久久互動交流 | 超碰导航97| 亚洲精品a人片在线观看视| 蜜臀久久99精品| 麻豆国产97在线| 黄色AV影视| 九久久九九久视频| 极品尤物在线观看| 好爽要喷了| 久久国内| 欧美青青草视频| 岛国视频免费在线观看| 天天澡天天爽日日av| 午夜福利1区2区3区| 校园春色欧美色图| 性夜影院爽黄A爽免费动漫| 无码免费一区二区三区啪啪| 婷婷激情四射| 国产精品麻豆成人AV艾秋| 乱人乱色一区二区三区免费| av资源在线播放天堂| 久久久久久免费电影| 性爱乱伦一区| 91n处女在线观看| 超碰狠狠操| 一区二区三区四区理论片| 婷婷99狠狠| 日韩无码服务区| 在线只有精品| 99热线麻豆| www.天天干| 国内一区二区免费| 2010男人的天堂| 乱伦日本中文自拍| 狼人综合婷婷激情四射 | 尻女朋友一夜| 一级毛片电影免费看| 抽查国产福利主播| 中文字幕一区二区视频在线观看| 欧美在线伊人色| 成人自拍三级在线观看| 人妻一区二区三区熟女| 粉嫩小泬久久久一区二区| 蜜桃色色网站视频三区| www.色婷婷.com| 新版天堂中文资源8在线| 国产一区二区视频在线播放| 国产精品点击进入在线影院高清 | 日韩精品一二三| 麻豆成人影音在线| 欧美天天弄| 伊人嫩草| 色五月av| 成人自拍三级在线观看| 久久久精品91八戒| 国产高清免费不卡av| 午夜欧美女人操逼| 亚洲1区| 国产精品一区二区在钱播放| 欧美综合站| 狠狠狠狠狠狠| 久久超碰、| 美女诱惑在线一区| 67914在线兔费成人视频| 凹凸精品熟女在线观看| 日本三级一区二区 在线| 婷婷综合网站| 欧美色997| 日韩电影天堂视频二区三区| 97资源站久久| 9118禁| 天天视频黄网站| 91丝袜美腿网站| 91/欧美| 久9九综合在线| 无码乱人伦中文视频| 91天堂视频| 亚洲色阁| 日本 欧美 国产一区| 97人亚洲综合字幕| 五十路熟女人妻一区二区在线观看| 在线播放免费av福利片| 色色丁香| 亚洲揄拍网| 综合久久9| 丁香六月东京热| 亚洲999综合| 丝袜亚洲综合| 国产亚洲在线| 欧美少妇高潮| 18禁免费视频| 少妇三P| 人妻一二三区| 久草在| 精品欧美不卡在线播放| 精品一区二区三区蜜桃臀赵总 | 嗯嗯嗯好爽| 久久噜| WWW黄片COM| 老鸭窝在线视频播放| 国产性爱在线视频一区二区| 久久成年精品| 天天艹天天日| 中字一区| 婷色五月| 天天干电影| 67194无码不卡| 日本成人A片免费看| 久草精品一区| 免費黃色視頻觀看一| 97超碰美女| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 天天综合精品| 日本一二区免费| 91老熟女| 欧美 亚洲 另类 综合| 无码国产精品午夜不卡(| 欧美AB在线| 亚洲自拍一区夜夜操| 婷婷影院入口| 亚洲日韩电影| 久久精品人妻一区二区| 91性高潮久久久久久久久| 校园春色五月天| 国产第11页| 成 人 影视 一区 二区 三区 四区 | 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 91熟女视频| 91色黑人少妇| 久久久久人妻二区精品叶可怜| 亚洲天堂一区二区| 久久XX| 亚洲天堂一区二区久久| 天天狂操夜夜狂日| 久草线上视频免费看| 综合第一页| 日本操BAV| 操逼天美3区| 婷婷国产精品一区二区| 色九九九九| 熟女视频久久| 日韩字幕一区| 国产欧美在线观看免费观看| 欧美激情专区| 一二三区视频在线观看| 欧美高潮在线| 婷婷国产精品九区| 女人爽到高潮久久久| 五月天婷婷色| 99热思思| 欧美激情中文字幕另类小说| 一个色导综合| 亚洲无码超碰免费| 淫荡少妇免费| 亚洲精品精品一区二区| 黄片免费看黄片免费看| 超碰99在线观看| 亚洲色欲一区二区三区| 男人天堂站| 国产女人9999| 精品人妻一区二区三区视频在线| 九九热精品视频六| 97国产精选| 水多多映视AV|