1、特定類的public函數(shù)不做實(shí)際的事情,只做簡(jiǎn)單處理后調(diào)用private函數(shù)。proguard對(duì)會(huì)對(duì)一些特定類的public函數(shù)不做混淆,以便被AndroidManifest.xml和各種layout引用。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)三明免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
2、代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對(duì)代碼進(jìn)行一定程度的加密。
3、shrinkResources 去除無(wú)用資源 ,要注意,這個(gè)功能的使用依賴于code shrinking, 所以minifyEnabled也必須打開。proguard-rules.pro 為混淆規(guī)則文件,放置在Module根目錄下。
4、第一個(gè)文件是描述文件,第二個(gè)文件是配置文件。如果要實(shí)現(xiàn)代碼混淆,需要修改第二個(gè)文件。打開第二個(gè)文件,如下:其中紅線部分說(shuō),如果你要實(shí)現(xiàn)代碼混淆,你需要把下面一行給反注釋掉。
5、因?yàn)槭菍?duì)接口名進(jìn)行替換,如果出現(xiàn)混淆問(wèn)題的話,log里面一定會(huì)有類似 這個(gè)時(shí)候只需要對(duì)相關(guān)接口進(jìn)行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進(jìn)行反解可以看到相關(guān)的接口是否被簡(jiǎn)單替換。
android源碼被混淆了還原方法為:得到 classes.dex文件;直接用機(jī)器上的解壓軟件 打開 .apk 文件,解壓出 classes.dex 文件。
因?yàn)槭菍?duì)接口名進(jìn)行替換,如果出現(xiàn)混淆問(wèn)題的話,log里面一定會(huì)有類似 這個(gè)時(shí)候只需要對(duì)相關(guān)接口進(jìn)行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進(jìn)行反解可以看到相關(guān)的接口是否被簡(jiǎn)單替換。
運(yùn)行apktool.bat d xxx.apk,把a(bǔ)pk反編譯成smali 如果想要進(jìn)一步查看源碼,可下載smali2java 使用smali文件的文件名進(jìn)行分析,如果存在1個(gè)或1個(gè)以上的資源類的smali文件,就可以證明該apk沒(méi)有被混淆過(guò)。
改為 call %java_exe% -jar %PROGUARD_HOME%\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 就ok了。
因?yàn)槭菍?duì)接口名進(jìn)行替換,如果出現(xiàn)混淆問(wèn)題的話,log里面一定會(huì)有類似 這個(gè)時(shí)候只需要對(duì)相關(guān)接口進(jìn)行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進(jìn)行反解可以看到相關(guān)的接口是否被簡(jiǎn)單替換。
混淆是不會(huì)導(dǎo)致反編譯失敗的,只是說(shuō),代碼變得難以讀懂,而不會(huì)導(dǎo)致反編譯失?。?混淆和反編譯是兩個(gè)互不相干的概念。
布局混淆 布局混淆是指刪除或者混淆軟件源代碼或者中間代碼中與執(zhí)行無(wú)關(guān)的輔助文本信息,增加攻擊者閱讀和理解代碼的難度。
reactor主界面上就有幾個(gè)復(fù)選框,試一下全部打勾,然后點(diǎn)proctect,混淆后的Dll再用反編譯軟件看看其中的代碼,lz自然會(huì)知道結(jié)果。
如果要對(duì)apk進(jìn)行混淆,你要先告知gradle這個(gè)app需要混淆,并告知其混淆規(guī)則。告知gradle需要混淆的代碼 在Project/app/build.gradle中把minifyEnabled設(shè)置為true,表示說(shuō)打包時(shí)需要執(zhí)行混淆操作。
設(shè)置minifyEnabled true,就會(huì)在打包的時(shí)候進(jìn)行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄里面,主要是配置了proguard.cfg文件。
運(yùn)行apktool.bat d xxx.apk,把a(bǔ)pk反編譯成smali 如果想要進(jìn)一步查看源碼,可下載smali2java 使用smali文件的文件名進(jìn)行分析,如果存在1個(gè)或1個(gè)以上的資源類的smali文件,就可以證明該apk沒(méi)有被混淆過(guò)。
兩種方式,一種開發(fā)工具eclipse,還有就是用apktool工具。 I、只要Run As Android Application 過(guò),到工作目錄的bin文件夾下就能找到與項(xiàng)目同名的apk文件。
新聞標(biāo)題:android混淆郭 android aar混淆
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article4/dggihie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、全網(wǎng)營(yíng)銷推廣、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)