反编译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权限说明)
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" | |
2 | android:layout_width="fill_parent" |
3 | android:layout_height="wrap_content" | |
4 | app:keywords="girl friends monitor women sex |
5 | adult gift electron wallpaper ring |
6 | shirt Android application game |
7 | sport football soccer world cup" | |
8 | /> |
改为
1 | <com.admob.android.ads.AdView android:id="@id/ads" | |
2 | android:layout_width="wrap_content" |
3 | android:layout_height="wrap_content" | |
4 | android:width="1dip" |
5 | android:height="1dip" app:keywords="" /> |
2.3 去掉广告:如 Hi-MSN.apk
1 | <com.google.ads.GoogleAdView android:id="@id/ad" | |
2 | android:layout_width="fill_parent" |
3 | android:layout_height="wrap_content" | |
4 | android:layout_alignParentBottom="true" /> |
改为:
1 | <com.google.ads.GoogleAdView android:id="@id/ad" | |
2 | android:layout_width="fill_parent" |
3 | android:layout_height="wrap_content" | |
4 | android:layout_alignParentBottom="true" |
5 | android:width="1dip" | |
6 | android:height="1dip" /> |
3.编译成.apk文件
4.签名