反編譯android應用,降低許可權去廣告及重新簽名

來源:互聯網
上載者:User

功能:反編譯apk降低許可權及重新簽名

情境:很多軟體,申請了一些可能會導致付費(如,發簡訊,本機號碼)或者泄漏隱私(如:讀取通訊錄)的許可權,讓人很不放心。比如:飛信、墨跡天氣、iReader等都在此列。為了讓自己能放心使用,需要做一些破解工作,減少該應用程式的許可權,限制其操作。

工具:apktool-install-windows-2.2_r01-3.tar.bz2 (http://code.google.com/p/android-apktool/downloads/list)

工具:(JDK) keytool.exe  產生簽名的密鑰庫

工具:(JDK) jarsigner.exe 用於對apk做簽名
貨運專家
工具:(可選)D:\android-sdk-windows\tools\zipalign.exe 對打包的應用程式進行最佳化,使得在運行時Android與應用程式間的互動更加有效率。

操作:

1,反編譯APK檔案 demo.apk 到 demo 目錄

apktool.bat d demo.apk demo

2,修改。。。

2.1 減少許可權:修改demo 目錄 demoAndroidManifest.xml 檔案,找到<uses-permission
...> 標籤,注釋掉不需要的許可權。(參考:http://hb.qq.com/a/20101115/001156.htm
開發人員不得不知的Android許可權說明)

<!--

    <uses-permission android:name="android.permission.SET_WALLPAPER" />

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.SEND_SMS" />

    <uses-permission android:name="android.permission.CALL_PHONE" />

-->

2.2 去掉廣告:如 Smart Monitor Pro_2.3.16.apk

<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" />

改為 <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

    <com.google.ads.GoogleAdView android:id="@id/ad"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />

改為 <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,找到 demo\dist 目錄下的 demo.apk 改名為 demo_unsign.apk

5,(可選)修改apksigner.input.txt 檔案內容,用於產生金鑰組和認證,給apk簽名。如果已經存在,則無需修改。(修改apksigner.bat 去掉下行的注釋)

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 檔案

@rem ### apksigner.bat

@rem http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html Android學習系列(1)--為App簽名(為apk簽名)

@rem http://www.blogjava.net/zhaojianhua/archive/2011/06/23/352887.html Android APK 簽名

@set JKS=android.keystore

@set PWD=111111

@set APP=demo

@set APK0=%APP%_unsign.apk

@set OUT1=%APP%_signed.apk

@set OUT2=%APP%_signed_final.apk

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

@if exist %OUT1% del %OUT1%

@if exist %OUT2% del %OUT2%

@echo ##########################

@echo ### Signer.0 ### %APK%.apk

@echo ##########################

@jarsigner.exe -verbose -keystore %JKS% -storepass %PWD% -keypass %PWD% -signedjar %OUT1% %APK0% %JKS%

@jarsigner.exe -verify %OUT1%

@echo ##########################

@echo ### Signer.1 ### %OUT1%

@echo ##########################

@D:\android-sdk-windows\tools\zipalign.exe -v 4 %OUT1% %OUT2%

@jarsigner.exe -verify %OUT2%

@echo ##########################

@echo ### Signer.2 ### %OUT2%

@echo ##########################

@pause

---------------------------------------- apksigner.input.txt 檔案

username

org

org

beijing

beijing

cn

y

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.