1、retrace.bat腳本(Window)或retrace.sh腳本(Linux,Mac OS X)可以將一個(gè)被混淆過(guò)的堆棧跟蹤信息還原成一個(gè)可讀的信息。它位于sdk_root/tools/proguard文件夾中。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括扶溝網(wǎng)站建設(shè)、扶溝網(wǎng)站制作、扶溝網(wǎng)頁(yè)制作以及扶溝網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,扶溝網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到扶溝省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、通過(guò)設(shè)置一些替換規(guī)則,使java文件中指定的代碼類的名字或者成員名字變?yōu)闆]有任何意義的字母,然后編譯成class文件的過(guò)程。已經(jīng)混淆過(guò)的android代碼反編譯出來(lái)的都是一些沒有任何意義的名字,是很難讀懂的。沒有好的辦法。
3、混淆代碼和防二次打包你學(xué)沒?。∵@兩樣是最基本和簡(jiǎn)單的,當(dāng)然也可以試試愛加密的技術(shù)。
1、第三方j(luò)ar包避免混淆用下面的方法:在proguard-project.txt 文件中加入:-ignorewarnings -libraryjars libs/XX (“XX”是jar包名)-libraryjars libs/XX -libraryjars libs/XX 。
2、在proguard-project.txt文件中添加不需要混淆的類和第三方的jar包 這個(gè)是保持自己包中不需要混淆的類,如果有些類調(diào)用了jni也不需要混淆,不然會(huì)出錯(cuò)。
3、public static final android.os.Parcelable$Creator *;} 已經(jīng)嘗試的方案:方案一: 加入-ignorewarnings 可以正常打包了。 能過(guò)濾掉警告信息。
4、最終我通過(guò) 加LOG的調(diào)試方法定位到是由于第三方j(luò)ar包被混淆后的原因?qū)е碌摹?/p>
5、如果不指定outjars將不會(huì)有class文件被寫入。
使用smali文件的文件名進(jìn)行分析,如果存在1個(gè)或1個(gè)以上的資源類的smali文件,就可以證明該apk沒有被混淆過(guò)。
布局混淆 布局混淆是指刪除或者混淆軟件源代碼或者中間代碼中與執(zhí)行無(wú)關(guān)的輔助文本信息,增加攻擊者閱讀和理解代碼的難度。
混淆是針對(duì)代碼而言的,讓別人不容易讀懂而已,你這不是混淆了,應(yīng)該是加密 其實(shí)如果你有重要信息,完全沒必要放到AndroidManifest.xml中,放到其他地方啊。