日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
91处女视频在线观看| 91丨豆花丨熟女| 日本A级视频| 日本精品一区二区中文字幕| 性天堂| 91精品免费| 天天干天天日天天射黄色| 日韩乱伦AⅤ| 亚州欧美在线| 超碰在线日韩一区| 国产中午字一暮区| 精品久久久久成人码免| 啊啊啊啊,啊啊好多水| 一区二区三区日韩欧美| av优播| 色999;丁香五月| 97 超碰 人人做 人人爱| 亚洲国产一级精品毛一级精品看免费视频| 国产精品免费久久久久久久久久| 超碰在线一区二区| 精品99999| 97色香蕉| 9精品久久久久| 91天天爽| 天天综合站| 天天摸天天舔天天操| 日韩欧美麻豆大片| 蜜色网色哟哟| 男女打扑克高清网站| 色婷婷狠狠18禁| 亚欧性爱在线无码| 99操碰| 丁香六月啪啪| 亚洲天堂男人在线| 久久人妻丝袜一区二区三| 国产玖玖| 日本丝袜美腿人妻九九| 亚洲中文人妻色| 狼人综合婷婷激情四射| 天天影视射综合网| 狠狠躁久久躁| 大香久久| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 狼人久草| 嗯啊不要啊在线 | 婷婷日韩一区二区三区中文字幕在线| 色婷婷六月| 色蜜AV| 屌逼麻豆| 99 国产丝袜在线| 日韩欧美蜜桃精品久久中文字幕久久| 久久国产精品视频| 91n处女在线观看| 91综合天天| 资源新线在线天堂| 青娱乐国产精品| 99人人干| 精品人妻一区二区三区-国产| 亚洲 欧美 中文 日韩超碰| 一区二区三区国产精产| AV久日| 少妇久久久久久久久| 2023天天操夜夜操| 中文一区在线视频| 欧美18禁91| 国模精品娜娜一二三区| 亚洲色图激情小说| 久操| 国产操逼网站亚洲一级黄色| 激情丁香五月| 久久亚码| 豆花视频操逼网址| 精品无码一区二区三区| 成人片在线播放| 精彩视频日韩| 久久久久99999| 狠狠色伊人亚洲综合网站色| 成人日韩欧美| 欧美自拍网| 国产探花日韩援交| 九九九九九九亚洲| 久久岛国| 亚洲性爱无码乱伦av| 1024久久高清视频| 日韩猛交| 久久亚洲AV成人精品无码| 91人妻超碰| 亚洲影视第一页| 岛国激情视频软件| 又大又黄国产| 91色婷婷综合久久中文字幕二区| 国产人妖视频一区在线观看| 久热大香蕉网站| 91免费看一区二区三区| 婷婷久久综合| 青青草在线视频美女| 欧美另类天堂| 国产成人在线观看综合| 极品久久久久久久久久久久久久| 97超碰美女| 久久婷婷综合国际产色怕| 久久9精品视频| 最新AV在线| 久久精品色欧美aⅴ一区二区| 亚洲A色| 91春色| 欧美在线视频99| 九九九九一级| 亚洲精品一二区| 亚洲无码国产探花在线观看| 偷拍欧美综合| 性无码专区2020| 久久9精品视频| 蜜臀久久99精品久久久久久婷婷 | 日韩精品人妻一| 69综合网| 高潮毛片无遮挡高清免费| 久久这里精品国产99丫e6| 男人天堂东京热| 五月天大香蕉| 亚洲风情在线观看| 亚州色图第三区| 少妇色欲综合网2| 郑州宾馆老熟女露脸啪啪| 96免费视频在线| 亚洲国产成人7777| 男人的天堂在线| 国产精品99精品视频网站| 九久9热| 91少妇| 96AV久久久| 亚洲码在线中文在线观看| 无码99| 久久精品国产精品一区 | 亚洲区 欧美区| 日韩三级一区| 精品久久久久久AV无码| 亚洲十八禁止| 一级免费啪啪片| 久久黄黄黄| 嗯……啊…嗯嗯…啊…好舒服| 97啪啪| 嗯嗯啊啊啊好舒服| 久久一本大香蕉 | 秋霞无码av鲁丝片一区| 欧洲色综合| 99热9| 日本精品999| 东京热精品97综合网| 啪啪资源网| 欧美性色网| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 日韩av影片在线观看| 97国产中文| 国内精品不卡无毒99999| 桃花色综合影院| 久久是精品| 色综合五月天| 国产 v乱码一区二| 大二网站亚洲| 老司机香蕉| 97久久精品国产| 国产剧情AV不卡在线观看| 人人妻人人爽人人精品| 久久久久久久久久久久久久久乱码| 岛国福利在线精品播放| 在线 欧美 亚洲| 操91| 97久久超碰亚洲| 欧美综合加勒比在线| 日本操逼视频导航| 亚洲欧美日韩制服另类| 九色黄站| 青青草在线视频播放器| 久久久久国产| 一区=区三区视频| 极品色www影院| jk白丝没脱就开始啪啪| 超碰在线欧美性爱激情| 久久超碰网| 久久久久久中文| 日韩午夜国产| 国产精品视频电影| 婷婷五月天色| 色色婷婷丁香| 狠狠干狠狠干| 丁香五月偷拍| 超碰79人人乐| caorenqi shipin| 妺妺跟我一起洗澡没忍住| 无码一区免费在线不卡| 综合 亚洲 欧美| 欧美体内射精| x97av| 色好看av| 天天香香欲综合| 久操大香蕉手机视频在线看| 十八禁啪啦拍视频无遮挡| 一级做a爰片久久毛片图片| 人人弄人人摸| 99re在线精品78| 国产污视频麻豆传媒一区二区| 操操AV电影| 99色色网| 亚洲 综合 欧美| 日韩激情啪啪| 9l视频自拍9l九色成人| 色婷婷基地| 91在线精品| 操逼操逼逼操操逼91 | 综合一区中亚洲国产成人综合精品 | 99热超碰| 欧美激情 日韩精品| 久久国产视频性吧| 色爽爽文学| 99久久com免费视频′| 亚洲天堂另类美腿| 久久国产对白激情浪潮| 欧美日韩人妻婷婷一区| 久久是精品| 国产三级中文字幕粉嫩| 熟女少妇视频| 97日韩| 综合伊人网12色| 在线中文字幕| 色久桃花影院在线观看| 日本女优在线视频福利| 国产视频一区二区在线| 人人噜夜夜操| 国产又大又粗又长视频| 婷婷爽人人婷婷爽视频| se吧提供国产乱老熟视频胖女人| 操逼www.| www.婷婷| 东北女人的毛片| 国产精品熟妇一区二区三| 欧美亚洲宗合色性图| 加勒比无码毛片| 欧美双插| 97国产高清视频在线观看| 色婷婷电影网| 亚欧中文字幕在线视频| 国模91| 大茄子熟女AV导航| 欧美一级AAAAAAA| 欧美成人免费在线观看| 97精品综合久久| 国产肏屁眼视频| 一级免费精品| 日欧操屄| 亚洲nv男人的天堂网| 黄色小说亚洲| 欧美丝袜亚洲| 国产女人高潮嗷嗷嗷叫小说| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲欧美日韩综合在线尤物 | 欧美一区二区三熟女剧情| 国产97视频| 激情网色| 国内黄色精品| 国产麻豆91欧美一区二区久久婷婷国产精品| 久久岛国| www.av在线观看| 九九热视频这里只有精品| 综合自拍| 国产精品视频白浆免费| 亚洲永久AV无码精品秋霞| 婷婷丁香人妻 | 日韩一性一交一A片俄罗斯 | 蜜乳成人AV| 欧美久热| 欧美人妻另类在线| 人妻中文字幕精品无码| 97青青操视频| 青草一区二区| 丁香六月婷婷| 日韩大香蕉AV影片| 日本道久久综合色色| 国产美女91视频| 日韩性爱一级片| 久9热| 俞拍自拍| 欧美日韩国内不卡| 九九九九免费高| 操逼无码操逼| 小草精彩毛片| 操一操摸一摸| 伊人大香蕉在线| 久久精品久| 六月婷婷五月丁香| 色色九区| 毛片视频白嫩| 精品人妻一区二区三区四区石在线 | 2024人人操人人摸| 亚洲影视第一页| 园内精品自拍视频在线播放| 精国久久一区二区三区98| 三级AV入口| 亚洲精品97在线| 91亚洲人| 中文字幕 一区二区 亚洲无码| 97中文综合| 强奸乱伦麻豆| 日韩国产九九精品一区二区三区毛片| 亚洲国产成人精品无码专区| 99热精品在线观看| 97在线国产精品| 97香蕉网| 青青草大香蕉在线视频| 精品性爱一二三区| 丝袜AV一区二区三区| 蜜桃视频精品一区二区| 国产品精品自在在线午夜免费| 日韩精品一二三四| 久久成人国产精品| 精品久久久久成人码免| 91婷婷| 极品少妇久久久| 一本一道人妻久久一区二区三区 | 1二区9| AV和黑人在线播放| 精品国产乱码久久久| 91亚·色| 国产精品一级片在线看| 综合97| 亚洲情色一区综合| 色婷婷五月综合激情中文字幕| 91亚洲网站| 国产久久久9999| 午夜福利av电影在线| 精品二区三四区五电影 | 人人摸.人人色| 久久9精品网站| 欧美亚洲国内自拍| 国产Aα| 国产丁香精品露脸视频| 精品97精品97| www.91色综合| 日韩欧美亚洲一区二区三区影院| 91第一页| baiduhicn.com。| 欧美一级黄片免费播放| 国产精品九九九| 大香蕉青青9| 色噜噜综合在线| 亚洲第一狼人丝袜美女另类| 欧美97色| 国产日韩中文字幕欧美| 白丝AV网站| 日本女人操逼| 国产一在线观看| 亚州男人天堂| 一二三四区电影| 国产精品久久久久久夜夜夜| 亚洲欧美不卡线| 肥臀熟女福利视频一区二区| 狠狠激情综合狠狠操中文字幕| 亚洲欧美另类激情小说| 伊人九九| 97欧美色| 青青青草原| 白丝少妇一区二区| 青青草啪啪网| 久久久av爱| 欧美亚洲日韩人妻在线观看| 久久老子无码午夜伦不卡| 亚洲成aⅴ人片不卡无码| 亚洲综合20p| 日日AAvv| 精品女同一区| 99re6国产精品99re| 天天做天天爱天天爽AV| 亚洲色图欧美色图制服丝袜| 天美AV片| 69超碰综合| 久久久久人妻| 69人妻精品一区二区绯色| 亚洲aV性爱| 成人乱码一区二区三少妇| 尤物网址| 国产小u女在线观看| 亚洲一区二区久久久久| 成人性爱视频在线看| 爱妃国产亚洲视频中文字幕| 91精品人妻偷情| 亚洲欧美电影| 波多野42部激情无码喷潮| 中文久久久| aV中亚| 97色97干| 国产精品一二三区18| 国产精品久久久啊| 天天插天天插| 超91综合网| 97天天爽| 色婷婷成人综合| 日本一区99| 午夜精品久久久久| 人妻五十路在线| 超碰97资源网亚洲| 青青草好吊色| 日韩熟女操逼| 日本色色的视频| 色色色欧美| 日韩亚洲美女一区久久| 成人色女网| 国产精品在线一区二区| 清纯唯美综合| 国产性爱在线视频一区二区| 九九综合久久| 夜夜操老骚逼视频网站| 熟女露脸激情自拍视频| 麻豆亚洲AV成人无码久久精品| 国产精品播放| 日韩操逼性鲍| 亚洲AV无码乱码在线观看性色| 亚洲操操操| 91性生活久久久| 天天综合站| 男人亚洲天堂| 免费看欧美美女黄色大片| 久久婷婷五月天| 国产一区麻豆免费观看| 大香蕉92| 伊人一区二区三区| 久久久久久999| 久久精品国产亚洲AV高清演员表| 丁香六月东京热| 日韩pv中文| 九一精品牛牛一区二区| 国产97亚洲| 久久91视频| 中文字幕 码精品视频网站| 有码人妻系列| 超碰人人干天天射| 欧美日韩精品一区二区三区高清| 男人的天堂不卡一区二区| 绑缚麻绳人妻寝取完整版| 精品在线78| 成人a级高清视频在线观看| 日韩去日本高清在| 亚洲男人的天堂在线看| 中文字幕乱亚洲美女精品一区| 欧美的性爱网站免费| 99自拍视频在线观看| 91l欧美在线| 97综合国产| 中文一区在线视频| 狠狠色一区二区中文字幕| 超碰人妻久久| 婬女免费一二三区A片| 大香蕉在线免| 国产乱伦视频污| 午夜一区| 可乐操亚洲蜜911| 日本日皮视频逼| 欧美激情久久久久| 蜜乳Av成人片网站| 我中文字幕6区| 免费观看性欧美一级| 欧美综合站| 久久99久久99精品天美传媒棢·纸:.| 自拍偷拍 日韩无码| 久久av色| 一级二级三级黑人无码| 亚洲男人天堂网久久| 亚洲毛片久久| 亚洲丝袜二区| 中文视频在线观看| 亚洲AV无码天美传媒一区| 又黄又硬又粗又长国产视频| 国产男女无套视频免费观看| 欧美激情一| 国产尤物AV尤物在线观看不卡| 久久精9| 天天激情综合站| 久久综合女优| 国产中文精品一区二区在线观看| 欧洲自拍色图gif在线| 中文字幕一区二区在线日韩精品| 福利一级版子| 欧美一级黄片免费播放| 亚洲图片小说欧洲| 精品久久視頻在线| 日韩精品中文字幕人妻| 久久99精品九九久久久婷婷| 亚洲双插| 性爱久久| 国产精品一区av在线| 亚洲欧洲色情高清| 欧美亚洲日本视频久久久| 蜜臀va69| 精品久久久久瑟瑟| AV不卡在线| 大香蕉手机在线| 欧美综合自拍成人自拍第二十页| 国产亚洲精品一区二区三区| 欧美成人综合| 麻豆国产免费影片| 日韩欧美亚欧在线视频| 麻豆成人av| 制服乱伦| 三级精品三级在线观看| 91精品久久久久久77777| 精品伊人久久久大香线蕉小说| 青青草一本道福利视频| 97在线国产精品| 欧美色视频在线| 小电影欧美91| 五十路熟女工口 | 国产美脚女优尤物在线观看| 亚洲成a人在线观看久| 天堂亚洲欧美| 国产美女激情| 99热综合在线| 欧美性爱伊人| 亚洲熟女乱色一区二区三区| 日本不卡免费二区| 国产精品2020| 天天天天操| 蜜乳AV.COM| 精品午夜福利| 久久噜噜噜精品国产亚洲综合| 亚洲最大91网| 天天看,天天做| 五月丁香六月综合缴清无码 | 偷拍伦理视频| 精品人妻美妇91job| 欧美色999| 一区超碰一区| 人人超碰在线观看黄| 青青草中文-久久青草精品一区二区三 | 人人操人人干xxx| 午夜经典| 青青草国产一区二区三区| 日韩二三区| 大香蕉免费中文| 亚洲欧美一区二区三区一猛片| 国产毛片片精品天天看视频| 亚洲欧美校园| 麻豆a'v电影| 骚熟女吞| 人妻酒店出差被中出免费在线播放| 开心五月深爱五月| 激情五月婷婷| 五月婷婷丁香| 九九aV| 日本在线播放不卡一区| 五月丁香拍拍激情综合三级| 国产精品亚洲无码| 国产精品高潮呻吟av久久4虎| 亚洲国产97| 东北女人高潮视频| 日本久久久久久久久久| 少好三P| 91美女视频电影| 91激情综合| 日本中文字幕一区| 亚洲九九爱| 4虎在线视频| 97干综合网| 91男人天堂网| 亚洲欧美变态| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 九九操久久国产免费视频| 欧美后入式| 欧美亚洲特P| 91精品导航| 国产伦精品| 搡老熟女免费视频| 久热在线精品免费观看| 国产精品久久久久亚洲av| 久久精品店| 欧美黑人与女人91| 九九九九精品精| 国产精品96| 国产成人超碰在线| 精品国产91av一区二区三区| 国产熟女免费观看久久| 天天躁日日躁AAAXX| 成功精品影院| 老熟女熟妇| 夜夜爽爽夜夜精品视频| 91狠狠狠| 久久综合九色综合欧洲98| 无码高清少妇久久| 日韩丝袜二区| 国产天天骚| 使劲用力艹少妇视频一区二区| 亚洲日韩久久精品一区| 78精品| 国产无吗在线播放| 在线国产一区二区av| 欧美激情综合色综合啪啪五月| 少妇免费视频| 91女优在线观看 | 91男女啊啊啊| 2026国产精品视频| 久热最新在线杭州| 日韩欧美午夜一区二区| 立川理惠无码一区二区| 欧美成人精品一区二区三区| 中文字幕文字幕无码一区二区三区电影99 | 中文久久久| 国产欧美岛国精品一区| 亚洲有码 欧美精品| 神马久久啊啊| 国产福利合集| 亚洲女毛多水多21P| 日本美女性生活久久久久久久| 熟妇高潮精品一区二区三区下载| 啊啊啊啊好多水| 国产欧美精选自拍一区| 超碰调教97| 另类欧美| 日韩乱伦AⅤ| 天天看天天日天天操| 日本成人电影资源网| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 久久熟女久| 人妻性爱一区二区| 亚洲黄色影视| 久超碰这里只有精品| 国产精品点击进入在线影院| 亚州操操穴网| 2017天天插| 亚洲AV无码国产成人| 9999亚洲电影| 国产黄色影片在线观看| 亚洲色欲一区二区三区| 亚洲图片欧美色| 99精品在线观看| 久久精品人妻一区二区三区| 青娱乐亚洲自拍| 久插综合| 欧美日韩*字幕一区| 精品四五区| 天天综合色图| 免费视频无码| 久久女人| 艹我哪美一区无码| 人人妻人人玩人人澡人人爽| 1024人妻| 亚洲性高潮| 天天做天天爱| 亚洲激情片| 亚洲18禁| 国产精品不卡高清在线观看| 欧美乱色| 波多野结衣之双飞调教在线播放 | 亚洲精品黑丝| 日本理论在线| 超碰吊日色| 丁香五月偷拍| 日本色日夜干| 91丝袜美女| 天堂69亚洲精品中文字| 亚洲欧美另类少妇精品| 宅男影院久久久,99| 97公开久久| 亚洲精品影视老司机| 97超碰总站| 性做久久久久久免费观看软件| 人妻天天爽夜夜爽2| 蜜桃无码AV一区二区| 亚洲 欧美 第一页| 色女女女导航| 人妻啪| 精品制服美女中文一区二区三区| 探花激情视频| 中文字幕蜜乳av| 夜夜嗷嗷一区二区| 99久久久无码国产精品性男| 日韩十八禁| 99re这里只有精品3| 中文字幕一二区二三区人妻专区| 综合一区二区影视| 99自拍视频| 看免费一级在线播放毛片| 97超碰免费人人性爱| 思思热免费视频观看| 国产路线专区| 久久大线蕉一区| 亚洲欧洲综合视频在线| 欧美一级在线观看成人 | 亚洲97久久精品亚洲| 国内一级精品| 国产亚卅97| 柠檬AV导航| 三级日本一区二区三区| 吊色| 91精品电影18| 在线中文字幕极品av| 人妻少妇精品视频一区二区三区| 久婷婷一区| 五月天精品| 日本日逼高清| 男人天堂电影院| 国产成人精品一区| 夜夜高潮夜夜爽高清视频一 | 欧美一二在线| 久久香蕉影院| 国产一级内射无挡观看| 亚洲色图A| 亚欧美综合网。| 天天操av懂色| 99热这里是精品| 操逼片国产| 欧美综合网| 超碰导航97| 国产精品久久久久久久久久久久久久久久 | 亚洲人妻在线精品| 少妇人妻在线| 精品久久九| 欧美综合97www| 色婷婷电影网| 无码人妻丰满热妇又大又粗| 亚洲精品国产无码高清| 久九九九| 伊人九九九| 亚洲色棕合| 校园春色宗合网| 大吊色| 内射日韩大臀美女| av天堂影视中文在字幕在线中文 | 天天综合网合集91| 欧美一区二区成人一卡| 超碰午夜在线| xxx亚洲午夜天堂| 人妻少妇精品一区二区三区| 国产精品青草综合久久| 欧美黄片欧美黄片xxx| 日本性爱欧美性爱| 一个国产在线综合网站| 色视频蜜乳| 日韩三级在线观看网站| 屁股久久久久久| 日韩啪啪视频| 亚洲天堂男人的天堂| 蜜臀久久99精品久久久久久酒店| 国产精品伦理| 精品久久久久综合无码| 男人的天堂VA| 亚洲色电影在线| 亚洲性高潮| 超碰碰97资源站| 精…码一二三区| 97国产人人| 国产色图乱伦| 色色色日本| 九九精品99| 亚洲av综合色| 国产福利影视| 色丁香五月婷婷| 91视频国品一二三区| 96AV精品| 久久只有精品一区二区三区| 国产中文福利| 欧美手机在线综合| 韩日欧亚a级| 曰韩中文人妻视频| Sekablack无码一区| av强奸乱轮| 我想要啊 啊 啊| 人妻娇喘 激情视频| 91亚州| 久久伊人亚洲AV无码网站| 国产51色综合久久免费| 韩国黄色片精品久久久 | 啊啊啊啊啊啊啊啊在线观看| 久久永久无码人妻视频| 乱伦色图网址是多少| 国产69精品久久久久99尤物| 色噜噜狠狠色综合日日| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 久久99精品国产| 欧美肥臀在线| 久久精品国产精品一区| 操逼视频亚洲| 久久久蜜桃一区二区三区| 日韩成人午夜精品久久高潮| 操死我了啊啊啊| 五十路三区在线| 精品九九国产无码| 亚洲操操操| 天天夜夜久久| 国产又粗又长又大的视频| 日本孕妇一区二区视频操逼免费看 | 91bbbbbb| 亚洲成人日韩小说| 天天拍天| 亚洲人久久久网| 青娱乐av在线| 亚洲综合九| 青娱乐啪啪视频| 欧美强奸乱能| 国产视频三区四区| 无码二级三级| 岛国网址国产 | 日韩肏逼视频| 玖玖玖玖精品国产剧情| 国产熟女少妇一区| 二级毛片| 国内精品a| 久久国产三区| 色综合 加勒比| 岛国A V在线免费看| 99欧美| 综合情欲网| 国产成人无码啪| 欧美九九99久久精品| 欧美最婬乱婬爆婬牲视频| 日本精品网站在线中文| 国内91熟女人妻丝袜天天精品视频在线 | 葡萄牙性视频一二区| 久草网站免费在线观看| 亚洲男人天堂网久久| 一本色道久久综合精品婷婷| 中文字幕日韩人妻视频一区二区三区 | 爆乳免费黄网站| 亚洲深夜福利| 亚洲一区中文字幕一区| 亚洲国产青青| 天天色黄色影院天天操| 日韩欧亚太美不卡| 女人天堂av在线播放| 久热99| 久久久久久十| www.丁香五月| 高清无码91| 三级三久久线久久99久目本WW| 91男人天堂网| 日韩av一级黄片| 欧美色综合图片| 久久成人午夜精品影院| 一区二区不卡| 无套内射人妻在线播放| 亚洲色入欧美| 欧美人妻久久精品二区三区| 久久一本大香蕉| 无色无码| 91麻豆天美国产欧美高潮| 91呆哥人妻| 视频二区美腿制服人妻欧美| 亚洲超碰在线| 91制服丝袜中文字幕| 91ise欧美| WWW.操逼.COM| 久久久国产精品人妻丝袜| 久久久久亚洲三级电影| 日韩精品9999| 东北丰满熟女国产一区| 韩日自拍| 久久婷婷五月天| 综合夜夜| 你草精品在线视频| 亚洲一级特黄大片在线播放91| 男人的天堂日韩| 久草大| 一区在线精品中文字幕| 安徽熟妇视频| 日亚韩精品视频二区三| 久久伊人东京热| 密桃99999| 国产亚洲精品久久久久小| 免费亚洲国产精品久久一区| 免费人成?大片在线播放| 久久久精精精| 亚洲人妻熟妇三十三区| 十八禁的黄污污免费网站| 天天摸天天操视频| 亚洲 图片 欧美 色图| 在线观看中文av字幕| 九九热re99re6在线精品| 中文字幕91综合| 中文字幕精品专区搜索结果91| 国产免费久久久久| 牛牛AV人人夜夜澡人人爽| 亚洲成人妻日韩在线| 九九aV| 人妻无一区二区三区| nuu12国产麻豆精品| 国产伦精品免编号公布| 国产精品一二三在线看| 欧美天天弄| 激情五月天校园春色网| 国产原创自拍| 欧美一级国产一级| 蜜臀99久| 九七毛片九九毛片| 啊a一区在线| 五月婷婷丁香中文字幕| 国内毛片热久久思思热| 亚洲天天自拍| 国产熟女精品区| 久久久一级| 中国一区二区亚洲人妻| 日韩欧美性爱电影在线观看| 一区超碰一区| 亚洲射综合网| 男人兔费天堂| 亚洲色图日韩精品| www久久国产精品| 91M一社| 青青欧美| 久久久久久中文版| 日韩偷拍色图| 天天爽人人综合免费7799| 亚洲 自拍偷拍 欧美| 成人线上超碰| 久久在肏| 久久国产精品视频| 人人爽人人精品乱人伦AV| 欧美日韩国产中文精品字幕自在自线,| 成人免费不卡在线视频| 免费1级a做爰片观看| 久久神马| 久久黄人人爽视频| 丰满少妇精品一区二区| 欧美激色| 蜜桃久久久久久久久久久久| 综合干干干av久久久综合网| 亚洲天堂区| 色婷婷色99国产综合精品| 国产精品嫩草影院免费| 一区二区免费电影久久| 色婷婷国产精品一区在线观看| 91中出在线| 久久久久久久综合,国产| 四虎在线播放| 欧美少妇高潮久久91| 一区 欧美 日韩 麻豆| 久久久久无码| 操我啊啊啊啊啊| 夜夜夜久久| 四虎 精品 WWW| 九九热男人天堂| 国产精品一区二区三区在线密挑| 五月婷丁香| 五月天色综合| 好吊色在线观看| 熟女丰满人妻一区| 综精品久久久aaaa| 亚洲网自拍| 国产精品视频播放| 亚州综合图片| 好一吊区二区| 有码专区最新中文字幕有码| 91亚洲网站| 青娱乐啪啪视频| 91精品国产91久久青草| 久久精品国产Aⅴ| 日本一区二区三区免费观看| 国产精品久久久久久久AV大片 | 欧美情色贴图| 九热超碰| 大粗鳼巴久久久久| 欧美色狠| av网站在线观看了| 五月丁香社区婷婷日韩欧美精品影院 | 啊啊啊啊好疼| 国产色产精品在线观看| 国产日韩手机视频在线| 青娱乐国产精品| 99久热| 红桃视频高潮| 锕锕好爽 死我在线观看| 色噜噜日韩精品| 人妻三级在线中文字幕| 亚洲人妻在线一区| 日本欧美国内在线| 狠狠狠一区二区三区| 无码视频一区二区| 久久噜噜噜精品国产亚洲综合| 国产成人精品网站| 三男一女不戴套的A片| 久草国产在线视频| 99自拍视频在线| 亚洲中文字幕妇伦久久| 亚洲天堂日本| 鸥美中出| 国产高清免费不卡av| 五月天精品| 天天干天天日天天射黄色片| 国产欧美日产一区二区三区 - 国产欧美日 | 精品无码一区二区三区| 97这里只有精品| 奇米狠999| 亚洲不卡AV在线| 精品久久久不卡一区二区| 欧美激情1区| 日韩欧美tv一区二区在线观看| 亚洲精品色| 亚洲熟久久| 天天色图| 日韩啪啪网| 蜜臀色乳| 91在线视频国产网站| 日本一区二区成人在线| 暖暖精品二区三区观看| 5252色欧美在线男人的天堂| 性久久久| 精品区9| 91伊人久久在线| 精品日韩人妻视频| 婷婷六月色| 久久中文字幕女同性恋一区| 日本熟妇浓毛hdsex| 性做久久久久久免费观看软件| 日韩二级| 91精品国产一区三一| 日本色色色色色视频| 一区麻豆 高清中文字幕| 欧美一级二级三级| 日本一级二级三级网站| 91/欧美| AVE乱伦| 六月婷激情福利天堂69| 日韩欧美麻豆 | 亚洲色图超碰在线| 噜噜瑟| 国产网站在线播放| 99精品伊人| 岛国在线国产| 啊啊啊啊视频免费| 久久人妻熟女一区二区| 717影院理论午夜伦八戒| 啊啊啊好舒服视频在线观看| 人人妻碰人人免费| 91色碰| 亚洲欧美小说| 夜夜嗨一区二区| 99热婷婷一区二区三| 美女自卫慰黄网站免费| 婷婷激情五月综合| 四虎影院成年人片| 97日韩欧美亚洲| 思思热免费视频观看| 日本免费一区二区不卡| 强奸乱伦大香蕉网| 国产精品在线一区二区| 日本一区二区成人在线| 伊人色综合欧美| 亚洲成人福利电影免费 | 一区三区啪啪| 91狠狠狠| 九九热精品| 欧美高清色| ss久久| 伊人专区一区二区三区| 亚洲97P| 亚洲天堂一区二区久久| 久久这里| 美女一区二区国产精品| 久久久天美| 久热伊人| 精品无码秘 人妻一区二区| 精品久久99| 久久久国产av美女私房| 98精品国产乱码久久久久久| 欧美顶级黄色大片免费| 夜夜高潮夜夜爽国产伦精品| 色色操| 国产成人在线观看网址| 草蕉影视亚洲无码| 欧美久久人人网| 97网站在线观看 | 中文字幕一品色图| 黑丝少妇| 国产精品不卡一区二区三区av| 一区二区蜜臀| 丁香婷婷九月| 青青草毛片| 欧美日本天堂| 国产精品久久久久久久久AV大片| 中国和日本人色哪个不下载能放| 亚殴在线| 欧美一级久久久久久久大片动画| 亚欧美色图| 日韩97视频!在线| 亚洲日韩美国人妻| 久久爱97| 九九九久久久久| 日本3级一区二区免费 | 久久欧洲| 久久久精品成人国产| 91爱剪切久久| 一区二区三区四区久久视1| 99久久久无码国产精品性男| 亚洲资源站| 欧天美中出| 大香樵伊人网| 奇米四色影视777久久久| 97中文热色| 色婷婷综合久久久久中文一区二区 | 国产超碰国产97| 乱论91| 高清国产精品福利网站| 中文一区二区| 人妻一区二区三区| 成人免费在线网站| 在线午夜成人无码视频| 激情久久日韩精品中文字幕麻豆| 亚洲AV小说| 99久久精品国产高潮| 亚洲欧洲成人在线电影| 中文字幕第二页| 日本人妻天堂网站在线播放| 开心五月激情网| 黄色网址在线免费观看| 毛片一区二区| 国产999精品久久久| 美日韩一二三区| 9热9热综合网| 九九九九九九九精品视频| 日韩av一级黄片| 欧美一级AAAAAAA| 男人天堂新| 97视频免费在线| 91美女色视频亚洲| 91女人的网站| 精品少妇一区二区三区免费观看| 国产精品婬乱一级毛片彝族| 天天看天天干| 日韩欧美加勒比| 老熟女阿 国产91| 亚洲影视第一页| 搡老女人老91妇女熟女| 99热 按摩 日韩| 欧美性,色九九| 熟女日韩| 97中文超碰| 婷婷五月天激情小说| 女人高潮大叫一级毛片| 一级久久性爱视频| 人人妻人射| 久久五月天婷婷丁香中文字幕| 伊人操你| 国产精品黑人一区二区三区| 日本506070| 人妻久久一区二区三区 | 五月婷婷AV| 久久老子无码午夜伦不卡| 激情啪啪拍91| 日韩不卡毛片Av免费高清| 欧美日韩精品一区二区三区高清| 翔田千里AⅤHD无码| 亚洲精品成人动漫在线| 大香蕉免费3| 天天视频网站黄| 天天色黄色影院天天操| 国产成人精品必看 | 青娱乐亚洲热| 精品v1区| 欧美人妻色| 国产美女口爆吞精| 日韩一级二级三级免费看完整版国语版 | 亚洲国产剧情少妇激情| 中文字幕制服欧美久久一区| 久操 高清|