綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] 反編譯android應用,降低權限去廣告及重新簽名

[複製連結] 查看: 4244|回覆: 0|好評: 0
跳轉到指定樓層
樓主
fam1001 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2016-3-28 14:12

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
功能:反編譯apk降低權限及重新簽名
場景:很多軟體,申請了一些可能會導致付費(如,發簡訊,撥打號碼)或者洩漏隱私(如:讀取通訊錄)的權限,讓人很不放心。比如:飛信、墨跡天氣、iReader等都在此列。為了讓自己能放心使用,需要做一些破解工作,減少該應用程式的權限,限制其操作。

工具:apktool
工具:(JDK) keytool.exe  生成簽名的密鑰庫
工具:(JDK) jarsigner.exe 用於對apk做簽名
工具:(可選)D:android-sdk-windows        oolszipalign.exe 對打包的應用程式進行優化,使得在執行時Android與應用程式間的交互更加有效率。

操作:
1,反編譯APK檔案 demo.apk 到 demo 目錄
apktool.bat d demo.apk demo

2,修改。。。

2.1 減少權限:修改demo 目錄 demoAndroidManifest.xml 檔案,找到<uses-permission ...> 標籤,註釋掉不需要的權限。
  1. <!--
  2.     <uses-permission android:name="android.permission.SET_WALLPAPER" />
  3.     <uses-permission android:name="android.permission.INTERNET" />
  4.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  5.     <uses-permission android:name="android.permission.SEND_SMS" />
  6.     <uses-permission android:name="android.permission.CALL_PHONE" />
  7. -->
複製代碼


2.2 去掉廣告:如 Smart Monitor Pro_2.3.16.apk
  1. <com.admob.android.ads.AdView android:id="@id/ads" android:layout_width="fill_parent" android:layout_height="wrap_content" app:keywords="girl friends monitor women sex adult gift electron wallpaper ring shirt Android application game sport football soccer world cup" />
複製代碼

改為
  1. <com.admob.android.ads.AdView android:id="@id/ads" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="1dip" android:height="1dip" app:keywords="" />
複製代碼


2.3 去掉廣告:如 Hi-MSN.apk
   
  1. <com.google.ads.GoogleAdView android:id="@id/ad" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" />
複製代碼

改為
  1. <com.google.ads.GoogleAdView android:id="@id/ad" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:width="1dip" android:height="1dip" />
複製代碼


3,重新將 demo 目錄編譯成 apk 檔案
apktool.bat b demo

4,找到 demodist 目錄下的 demo.apk 改名為 demo_unsign.apk

5,(可選)修改apksigner.input.txt 檔案內容,用於生成密鑰對和證書,給apk簽名。如果已經存在,則無需修改。(修改apksigner.bat 去掉下行的註釋)
  1. type apksigner.input.txt | keytool -genkey -alias %JKS% -keystore %JKS% -storepass %PWD% -keypass %PWD% -keyalg RSA -validity 20000
複製代碼


6,修改 apksigner.bat 腳本中的設定(set APP=demo)後,執行apksigner.bat 對 demo_unsign.apk 簽名,生成 demo_signed_final.apk 檔案。

7,在手機上刪除原版 apk 應用,重新安裝 demo_signed_final.apk
---------------------------------------- ### apksigner.bat 檔案
  1. @rem ### apksigner.bat
  2. @rem http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html Android學習系列(1)--為App簽名(為apk簽名)
  3. @rem http://www.blogjava.net/zhaojianhua/archive/2011/06/23/352887.html Android APK 簽名

  4. @set JKS=android.keystore
  5. @set PWD=111111
  6. @set APP=demo
  7. @set APK0=%APP%_unsign.apk
  8. @set OUT1=%APP%_signed.apk
  9. @set OUT2=%APP%_signed_final.apk

  10. @rem        type apksigner.input.txt | keytool -genkey -alias %JKS% -keystore %JKS% -storepass %PWD% -keypass %PWD% -keyalg RSA -validity 20000

  11. @if exist %OUT1% del %OUT1%
  12. @if exist %OUT2% del %OUT2%
  13. @echo ##########################
  14. @echo ### Signer.0 ### %APK%.apk
  15. @echo ##########################
  16. @jarsigner.exe -verbose -keystore %JKS% -storepass %PWD% -keypass %PWD% -signedjar %OUT1% %APK0% %JKS%
  17. @jarsigner.exe -verify %OUT1%
  18. @echo ##########################
  19. @echo ### Signer.1 ### %OUT1%
  20. @echo ##########################
  21. @D:android-sdk-windows        oolszipalign.exe -v 4 %OUT1% %OUT2%
  22. @jarsigner.exe -verify %OUT2%
  23. @echo ##########################
  24. @echo ### Signer.2 ### %OUT2%
  25. @echo ##########################
  26. @pause
  27. ---------------------------------------- apksigner.input.txt 檔案
  28. username
  29. org
  30. org
  31. beijing
  32. beijing
  33. cn
  34. y
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 6碎鑽 +5 幫助 +6 收起 理由
cheangerlove + 1 + 1 非常讃
ez7x + 1 + 1 非常讃
tmj5877 + 1 + 1 非常讃
jackyer1006 + 1 + 1 非常讃
kari0120 + 1 + 1 非常讃
球-球 + 1 好內容,老衲來為這篇文章開開光.

查看全部評分

收藏收藏8 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則