Android Apk反编译得到Java源代码(五)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Apk反编译得到Java源代码(五)相关的知识,希望对你有一定的参考价值。
APK软件反编译 去广告
具体步骤:
1.下载 apktool
下载地址:https://code.google.com/p/android-apktool/downloads/list
2.通过apktool 反编译apk。命令行中输入以下命令:apktool.bat d -f aaa.apk(apk路径) 反编译APK文件
3.开始修改XML布局文件
首先,我们进入反编译后的文件夹,以我的为例
进入 C:\apk\com.youmi.android.sample\res\layout 目录下
用记事本打开activity_ad.xml(注:不同的程序广告所在的文件不一样,可以查看一下别的文件里,一般都是在res\layout 目录下的xml文件里。)
可以看到下面一段代码
1 <LinearLayout 2 android:id="@+id/adLayout" 3 android:layout_width="fill_parent" 4 android:layout_height="wrap_content" 5 android:layout_alignParentBottom="true" 6 android:gravity="center_horizontal" 7 android:orientation="horizontal" 8 >
这段代码是用来展示广告的我们可以改成
1 <LinearLayout 2 android:id="@+id/adLayout" 3 android:layout_width="fill_parent" 4 android:layout_height="wrap_content" 5 android:layout_alignParentBottom="true" 6 android:gravity="center_horizontal" 7 android:orientation="horizontal" 8 android:visibility="gone" 9 >
这样广告就被隐藏起来了。
4.通过apktool 把修改后的代码编译会APK,输入apktool.bat b aaa (你编译出来文件夹)
5.最后记得给新的APK签名。
sign apk file: jarsigner -keystore test.keystore -storepass password -verbose TestApp-unsigned.apk name_alias
1 Jarsigner命令详解 2 [-keystore <url>] 密钥库位置 3 [-storepass <口令>] 用于密钥库完整性的口令 4 [-storetype <类型>] 密钥库类型 5 [-keypass <口令>] 专用密钥的口令(如果不同) 6 [-sigfile <文件>] .SF/.DSA 文件的名称 7 [-signedjar <文件>] 已签名的 JAR 文件的名称 8 [-digestalg <算法>] 摘要算法的名称 9 [-sigalg <算法>] 签名算法的名称 10 [-verify] 验证已签名的 JAR 文件 11 [-verbose] 签名/验证时输出详细信息 12 [-certs] 输出详细信息和验证时显示证书 13 [-tsa <url>] 时间戳机构的位置 14 [-tsacert <别名>] 时间戳机构的公共密钥证书 15 [-altsigner <类>] 替代的签名机制的类名 16 [-altsignerpath <路径列表>] 替代的签名机制的位置 17 [-internalsf] 在签名块内包含 .SF 文件 18 [-sectionsonly] 不计算整个清单的散列 19 [-protected] 密钥库已保护验证路径 20 [-providerName <名称>] 提供者名称 21 [-providerClass <类> 加密服务提供者的名称 22 [-providerArg <参数>]] ... 主类文件和构造函数参数
以上是关于Android Apk反编译得到Java源代码(五)的主要内容,如果未能解决你的问题,请参考以下文章