APK反编译去广告大揭秘
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文件里。)
可以看到下面一段代码
<LinearLayout
android:id="@+id/adLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:orientation="horizontal"
>
这段代码是用来展示广告的我们可以改成
<LinearLayout
android:id="@+id/adLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:visibility="gone"
>
这样广告就被隐藏起来了。
4.通过apktool 把修改后的代码编译会APK,输入apktool.bat b aaa (你编译出来文件夹)
5.最后记得给新的APK签名。
sign apk file: jarsigner -keystore test.keystore -storepass password -verbose TestApp-unsigned.apk name_alias
附录
Jarsigner命令详解
[-keystore <url>] 密钥库位置
[-storepass <口令>] 用于密钥库完整性的口令
[-storetype <类型>] 密钥库类型
[-keypass <口令>] 专用密钥的口令(如果不同)
[-sigfile <文件>] .SF/.DSA 文件的名称
[-signedjar <文件>] 已签名的 JAR 文件的名称
[-digestalg <算法>] 摘要算法的名称
[-sigalg <算法>] 签名算法的名称
[-verify] 验证已签名的 JAR 文件
[-verbose] 签名/验证时输出详细信息
[-certs] 输出详细信息和验证时显示证书
[-tsa <url>] 时间戳机构的位置
[-tsacert <别名>] 时间戳机构的公共密钥证书
[-altsigner <类>] 替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf] 在签名块内包含 .SF 文件
[-sectionsonly] 不计算整个清单的散列
[-protected] 密钥库已保护验证路径
[-providerName <名称>] 提供者名称
[-providerClass <类> 加密服务提供者的名称
[-providerArg <参数>]] ... 主类文件和构造函数参数