反编译android应用,降低权限去广告及重新签名
来源:互联网 发布:海南省三防办 大数据 编辑:程序博客网 时间:2024/05/17 05:17
功能:反编译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,重新将 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 文件
01
@rem
### apksigner.bat
02
@rem http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html Android学习系列(1)--为App签名(为apk签名)
03
@rem http://www.blogjava.net/zhaojianhua/archive/2011/06/23/352887.html Android APK 签名
04
05
@
set
JKS=android.keystore
06
@
set
PWD=111111
07
@
set
APP=demo
08
@
set
APK0=%APP%_unsign.apk
09
@
set
OUT1=%APP%_signed.apk
10
@
set
OUT2=%APP%_signed_final.apk
11
12
@rem
type
apksigner.input.txt | keytool -genkey -
alias
%JKS% -keystore %JKS% -storepass %PWD% -keypass %PWD% -keyalg RSA -validity 20000
13
14
@
if
exist %OUT1% del %OUT1%
15
@
if
exist %OUT2% del %OUT2%
16
@
echo
##########################
17
@
echo
### Signer.0 ### %APK%.apk
18
@
echo
##########################
19
@jarsigner.exe -verbose -keystore %JKS% -storepass %PWD% -keypass %PWD% -signedjar %OUT1% %APK0% %JKS%
20
@jarsigner.exe -verify %OUT1%
21
@
echo
##########################
22
@
echo
### Signer.1 ### %OUT1%
23
@
echo
##########################
24
@D:\android-sdk-windows\tools\zipalign.exe -
v
4 %OUT1% %OUT2%
25
@jarsigner.exe -verify %OUT2%
26
@
echo
##########################
27
@
echo
### Signer.2 ### %OUT2%
28
@
echo
##########################
29
@pause
---------------------------------------- apksigner.input.txt 文件
username
org
org
beijing
beijing
cn
y
- 反编译android应用,降低权限去广告及重新签名
- 反编译android应用,降低权限去广告及重新签名
- 反编译android应用,降低权限去广告重新签名
- 反编译android应用,降低权限反吸费和隐藏广告,重新打包和签名
- 反编译android应用,降低权限反吸费和隐藏广告,重新打包和签名
- 反编译apk降低权限及重新签名
- Android APK反编译及去广告汉化,apk优化签名等
- Android 反编译,修改,重新打包,签名
- Android 反编译,修改,重新打包,签名
- android混淆打包、反编译、重新打包签名
- Android反编译及重新打包
- apk反编译去广告
- APK去签名重新签名
- Android 获取ROOT权限原理介绍和签名验证原理及反编译学习
- Android程序反编译、重新编译和签名的方法
- 如何分析一个Android程序(反编译+重新编译+签名)
- Android应用签名与防止反编译(一)
- Android系统权限及签名
- ComboBox绑定DataTable数据,用户选中项后触发事件异常,之二!
- IOS成长之路-CoreData使用
- 数组中超过出现次数超过一半的数字
- extjs4 pagingtoolbar refresh button 扩展
- Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)!
- 反编译android应用,降低权限去广告及重新签名
- MailDirect的SMTP 503 Bad sequence of commands解决办法
- Asp.net_控件TreeView的使用
- 机器学习与人工智能学习资源导引
- JSON.parse
- ant 时 --java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils 解决方法
- ZendFramework学习(多模块配置)
- Android zip文件压缩
- 初学Android,图形图像之使用逐帧动画(三十四)