特定類的public函數(shù)不做實際的事情,只做簡單處理后調(diào)用private函數(shù)。proguard對會對一些特定類的public函數(shù)不做混淆,以便被AndroidManifest.xml和各種layout引用。
創(chuàng)新互聯(lián)建站長期為近千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為索縣企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設,索縣網(wǎng)站改版等技術(shù)服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
第一個文件是描述文件,第二個文件是配置文件。如果要實現(xiàn)代碼混淆,需要修改第二個文件。打開第二個文件,如下:其中紅線部分說,如果你要實現(xiàn)代碼混淆,你需要把下面一行給反注釋掉。
新增內(nèi)容如下,這里需要注意,網(wǎng)上很多demo,基本分為三部分,一部是保留app基礎(chǔ)功能部分的內(nèi)容不混淆;2是保持app對外接口,例如get、set、isxx、AIDL、public、native層的接口或者類;是第三方jar包或接口。
代碼混淆并不是所有的東西都會混淆,activity這種會被外部調(diào)用的就不會被混淆。具體的可以看下android代碼混淆的規(guī)則。
代碼混淆技術(shù)基本原理是使反編譯工具反編譯出來的代碼人難以閱讀,從而達到防止被逆向 的目的。PC上的代碼混淆技術(shù)已經(jīng)很成熟,有加花指令、多態(tài)變形等技術(shù)手法,Android代碼混淆技術(shù)才剛剛起步,目前已知的技術(shù)手法如下。
最終我通過 加LOG的調(diào)試方法定位到是由于第三方jar包被混淆后的原因?qū)е碌摹?/p>
1、改為 call %java_exe% -jar %PROGUARD_HOME%\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 就ok了。
2、因為是對接口名進行替換,如果出現(xiàn)混淆問題的話,log里面一定會有類似 這個時候只需要對相關(guān)接口進行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進行反解可以看到相關(guān)的接口是否被簡單替換。
3、混淆是不會導致反編譯失敗的,只是說,代碼變得難以讀懂,而不會導致反編譯失?。?混淆和反編譯是兩個互不相干的概念。
4、布局混淆 布局混淆是指刪除或者混淆軟件源代碼或者中間代碼中與執(zhí)行無關(guān)的輔助文本信息,增加攻擊者閱讀和理解代碼的難度。
5、代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進行代碼混淆的意義主要在于對代碼進行一定程度的加密。
分享文章:android名稱混淆 android混淆后怎么反編譯
文章URL:http://vcdvsql.cn/article27/dighgcj.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、網(wǎng)站營銷、服務器托管、面包屑導航、靜態(tài)網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)