改為 call %java_exe% -jar %PROGUARD_HOME%\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 就ok了。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、海港網(wǎng)站維護(hù)、網(wǎng)站推廣。
這個(gè)時(shí)候只需要對(duì)相關(guān)接口進(jìn)行例外(-keep)即可,然后用android-studio,直接打開或者dex2jar進(jìn)行反解可以看到相關(guān)的接口是否被簡單替換。
混淆是不會(huì)導(dǎo)致反編譯失敗的,只是說,代碼變得難以讀懂,而不會(huì)導(dǎo)致反編譯失?。?混淆和反編譯是兩個(gè)互不相干的概念。
布局混淆 布局混淆是指刪除或者混淆軟件源代碼或者中間代碼中與執(zhí)行無關(guān)的輔助文本信息,增加攻擊者閱讀和理解代碼的難度。
代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對(duì)代碼進(jìn)行一定程度的加密。
1、代碼混淆有兩種重要功能。其一,混淆代碼。其二,優(yōu)化代碼。進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對(duì)代碼進(jìn)行一定程度的加密。
2、自定義的模塊并向第三方提供API接口,所以需要對(duì)生成的jar包進(jìn)行混淆。
3、使用gradle混淆打包Jar使用AS開發(fā)項(xiàng)目,引入第三方庫是非常方便的,我們只需要在build.gradle中配置一行代碼就可以輕松引入我們需要的開發(fā)庫。
4、如果要對(duì)apk進(jìn)行混淆,你要先告知gradle這個(gè)app需要混淆,并告知其混淆規(guī)則。告知gradle需要混淆的代碼 在Project/app/build.gradle中把minifyEnabled設(shè)置為true,表示說打包時(shí)需要執(zhí)行混淆操作。
retrace.bat腳本(Window)或retrace.sh腳本(Linux,Mac OS X)可以將一個(gè)被混淆過的堆棧跟蹤信息還原成一個(gè)可讀的信息。它位于sdk_root/tools/proguard文件夾中。
通過設(shè)置一些替換規(guī)則,使java文件中指定的代碼類的名字或者成員名字變?yōu)闆]有任何意義的字母,然后編譯成class文件的過程。已經(jīng)混淆過的android代碼反編譯出來的都是一些沒有任何意義的名字,是很難讀懂的。沒有好的辦法。
proguard/mapping.txt 文件。在每次用 ProGuard 發(fā)布應(yīng)用的時(shí)候, 都會(huì)在項(xiàng)目目錄下的 proguard 目錄中創(chuàng)建新的 mapping 文件。該文件記錄了 每個(gè)類對(duì)應(yīng)混淆后的類以及方法。
如果你混淆了,那反編譯后的apk所有的java類都被改成了a.java/c.java之類的文件名,類里面的屬性也變成abc之類的了,想拿到你的源碼就不可能了,直接在gradle(app)文件的android節(jié)點(diǎn)下加上下邊代碼。
1、代碼混淆(code obfuscation)是指將計(jì)算機(jī)程序的代碼,轉(zhuǎn)換成一種功能上等價(jià),所謂功能上的等價(jià)是指其在變換前后功能相同或相近。
2、設(shè)置minifyEnabled true,就會(huì)在打包的時(shí)候進(jìn)行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄里面,主要是配置了proguard.cfg文件。
3、安卓在eclipse中的ADT已經(jīng)改變?cè)械哪J搅?,你在?xiàng)目文件中找到這兩個(gè)文件,一般在項(xiàng)目根目錄里。第一個(gè)文件是描述文件,第二個(gè)文件是配置文件。如果要實(shí)現(xiàn)代碼混淆,需要修改第二個(gè)文件。
4、android代碼的混淆和加密:通常來說Proguard對(duì)一般用途來說足夠了,但是也需要注意一些程序風(fēng)格,增強(qiáng)proguard的效果。 特定類的public函數(shù)不做實(shí)際的事情,只做簡單處理后調(diào)用private函數(shù)。
5、代碼混淆是apk加固的一個(gè)重要部分,res文件混淆也是代碼混淆的其中一個(gè)工作,主要是混淆res文件夾下的layout的xml文件,混淆后如果打開就是亂碼。
retrace.bat腳本(Window)或retrace.sh腳本(Linux,Mac OS X)可以將一個(gè)被混淆過的堆棧跟蹤信息還原成一個(gè)可讀的信息。它位于sdk_root/tools/proguard文件夾中。
通過設(shè)置一些替換規(guī)則,使java文件中指定的代碼類的名字或者成員名字變?yōu)闆]有任何意義的字母,然后編譯成class文件的過程。已經(jīng)混淆過的android代碼反編譯出來的都是一些沒有任何意義的名字,是很難讀懂的。沒有好的辦法。
混淆代碼和防二次打包你學(xué)沒?。∵@兩樣是最基本和簡單的,當(dāng)然也可以試試愛加密的技術(shù)。
1、進(jìn)行代碼混淆的程序被稱為代碼混淆器(混淆工具)。進(jìn)行代碼混淆的意義主要在于對(duì)代碼進(jìn)行一定程度的加密。
2、設(shè)置minifyEnabled true,就會(huì)在打包的時(shí)候進(jìn)行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄里面,主要是配置了proguard.cfg文件。
3、首先在build.gradle 中將混淆的開關(guān)打開,即 minifyEnabled 置為 true 然后就要去proguard-rules.pro寫入我們的混淆的規(guī)則(如文件其名),防止重要的類被混淆移除了。
4、配置VisualGDB, 在Android - Setup SDK/NDK location 主要配置JDK,SDK,NDK,ANT路徑 設(shè)置要調(diào)試的apk包。
5、模糊謂詞是利用消息不對(duì)稱的原理,在加入模糊謂詞時(shí)其值對(duì)混淆者是已知的,而對(duì)反混淆者卻很難推知。所以加入后將干擾反匯編者對(duì)值的分析。
6、最終我通過 加LOG的調(diào)試方法定位到是由于第三方j(luò)ar包被混淆后的原因?qū)е碌摹?/p>
文章題目:androidjs混淆 android aar混淆
路徑分享:http://weahome.cn/article/dicjgds.html