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源代码(五)的主要内容,如果未能解决你的问题,请参考以下文章

Android APK反编译

Android APK反编译详解(附图)

Android APK反编译

反编译APK得到布局文件

Android APK反编译工具包

如何反编译 Android Studio 生成的 Apk 文件