功能:反编译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
@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\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
分享到:
相关推荐
APK反编译与重新打包是一项在Android应用开发中常用的技术,主要涉及到对APK文件的解构、修改和重组。APK是Android应用程序的包文件格式,它包含了应用程序的所有代码、资源、证书等信息。当需要对已有的APK进行二次...
Apktool是一款由iBotPeaches开发的工具,主要用于Android应用的反编译和重新打包。它可以解析APK文件中的资源文件(如XML布局、图片等),并将 Dex 文件(Dalvik字节码)转换为人类可读的Smali代码。通过Apktool,...
8. **Androguard**:Androguard是一个开源的Android安全分析框架,可以用来分析APK文件,包括反编译DEX文件,提取类、方法和权限信息,还可以进行动态分析。 9. **Frida**:虽然主要是一个动态代码插桩工具,Frida...
需要注意的是,反编译可能会涉及到版权和法律问题,因此在进行反编译时,务必确保你有合法的理由和权限,尊重原作者的知识产权。 总之,Android反编译是一种技术手段,它可以帮助我们深入了解APK的工作原理,但同时...
`apktool`是一个开源的Android反编译工具,它能够帮助我们解包APK,反编译其中的XML和布局文件(layout),并提供重新打包和签名的功能,以实现对APK的分析和修改。 首先,`apktool`的基本使用流程如下: 1. **...
在Android开发领域,有时我们需要对APK文件进行...总的来说,"Android一键反编译"工具简化了APK的分析过程,帮助我们理解和修改Android应用。然而,正确使用这些工具,遵循道德和法律规定,是每个专业人士应有的责任。
在Android应用开发中,有时我们需要对应用进行特定渠道的打包,或者进行反编译以查看或修改代码。这里我们将深入探讨“Android渠道批量打包”和“Android反编译”的相关技术,以及如何利用提供的工具来实现这些操作...
这款工具集成了多种功能,包括APK的解析、DEX文件的反编译、资源文件的提取以及签名和打包等,大大简化了Android应用逆向工程的过程。 首先,AndroidKiller允许用户快速打开和解析APK文件,展示其内部结构,包括...
APK反编译和重签名是Android应用开发中的一些高级技术操作,主要涉及对APK文件的解包、修改和重新打包过程。这个工具包集合了相关工具,帮助开发者或安全研究人员深入理解APK内部结构,进行代码分析、功能调试或者...
APK反编译签名是Android应用开发中的一个重要概念,它涉及到软件安全、代码保护和应用分发等多个方面。本文将深入探讨APK反编译、签名的原理与实践,以及如何确保APK的安全性。 首先,我们需要理解APK的本质。APK是...
Android反编译是针对APK(Android应用程序)进行逆向工程的过程,以便查看、修改或分析其源代码和资源。这个过程通常由开发者、安全研究人员或逆向工程师执行,以理解应用程序的工作原理、查找漏洞、优化性能或者...
AndroidKiller是一款强大的Android应用反编译工具,它专为开发者和安全研究人员设计,用于查看、分析和修改APK文件的源代码。反编译在软件逆向工程中扮演着重要角色,它允许我们理解已编译的二进制代码,并从中提取...
本压缩包“apk反编译编译签名工具包.rar”提供了方便的批处理工具,帮助开发者或逆向工程师对APK进行一系列操作,包括反编译、编译以及签名,这些步骤在APK的开发、调试和分析过程中非常关键。 **反编译**: 反编译...
通过Apktool,开发者可以修改APK的资源和逻辑,然后重新打包并签名以生成新的APK。在这个工具包中,提供的Apktool版本是2.4.1。 2. **dex2jar**:dex2jar是另一个重要的反编译工具,由Pang Wu开发。它将Dalvik字节...
在Android开发领域,有时我们需要对APK文件进行反编译以了解其内部结构、查看源代码或进行二次开发。在Mac环境下,有一些工具可以帮助我们完成这个任务。本篇将详细介绍在Mac上进行Android反编译所使用的三个主要...
在Android应用开发中,了解如何反编译APK文件是一项重要的技能,这有助于开发者学习其他应用的实现方式、调试或修复问题,甚至进行安全分析。本文将深入探讨“android 反编译小工具”这一主题,它是一个简单易用的...
apktool是一个强大的Android反编译工具,它不仅可以解包APK文件,还能将其重新打包并签名,使其可以重新安装。Apktool能够解析APK的资源文件,包括XML布局、图片、字符串资源等,并将它们以原始格式展示,方便分析和...
4. **apktool**:这里提到的apktool可能是指Apktool的命令行版本,与apktool.jar类似,用于反编译和重新打包APK。通过命令行,开发者可以更灵活地自动化处理多个APK,执行批量操作。 使用这些工具,开发者可以在Mac...
非法使用可能会涉及侵犯知识产权,因此在进行任何反编译操作之前,确保你有合法的理由和权限。 总的来说,"Android apk反编译工具集"为Android开发者和安全研究人员提供了一个强大的工具链,可以帮助他们深入理解...
4. **Apktool**:另一种常见的APK反编译工具是Apktool,它可以解包APK,恢复资源文件到人类可读的XML格式,同时也支持重新打包和签名。Apktool对于修改资源文件或研究应用的布局和逻辑特别有用。 5. **Smali/...