zoukankan      html  css  js  c++  java
  • 反编译android应用,降低权限去广告及重新签名

    功能:反编译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 oolszipalign.exe 对打包的应用程序进行优化,使得在运行时Android与应用程序间的交互更加有效率。

    操作:

    1,反编译APK文件 demo.apk 到 demo 目录

    apktool.bat d demo.apk demo

    2,修改。。。

    2.1 减少权限:修改demo 目录 demoAndroidManifest.xml 文件,找到 标签,注释掉不需要的权限。(参考:http://hb.qq.com/a/20101115/001156.htm 开发者不得不知的Android权限说明)

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

    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"

    />

    改为

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:width="1dip"

    android:height="1dip" app:keywords="" />

    2.3 去掉广告:如 Hi-MSN.apk

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:layout_alignParentBottom="true" />

    改为:

    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 去掉下行的注释)

    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

    @rem type 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 oolszipalign.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

  • 相关阅读:
    汇总国内开源站点镜像网站-20210813更新
    谈谈技术人的技术家园
    庖丁解码
    好的软件(软件工程)
    LeetCode 914卡盘分组
    《黑客与画家》读书笔记
    30岁的我给现在26岁的自己的想说的一些话
    毕业一年半,发现自己还是一个CURD boy
    LeetCode 120 Triangle
    疫情相关项目复盘
  • 原文地址:https://www.cnblogs.com/xiaochao1234/p/3709456.html
Copyright © 2011-2022 走看看