安卓反编译揭秘(爱加密系列教程五)
程序员文章站
2022-03-19 12:41:14
APK软件反编译 去广告
具体步骤:
1.下载 apktool
下载地址:https://c...
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 <参数>]] ... 主类文件和构造函数参数