声明本文仅用于 Android 逆向学习与技术研究修改对象为本人设备安装的软件仅用于去除影响使用体验的开屏广告不涉及破解付费功能、绕过认证、恶意传播等行为请遵守相关法律法规。前言前段时间购买了一辆智能电动车每次打开官方 APP 都会先弹出几秒钟的开屏广告。对于每天都会打开很多次 APP 来说这个广告不仅浪费时间而且没有任何实际意义。由于 APK 还在于是决定自己动手修改 APK将 APP 的启动入口直接改成主页彻底跳过 Splash 页面。整个过程其实非常简单只需要修改AndroidManifest.xml即可。最终效果不再进入开屏广告页APP 打开直接进入主页不修改任何 Java/Smali 代码一、准备工具需要准备下面几个工具工具作用apktool 3.0.2APK 解包、回编译JDKkeytool 生成签名Android SDK Build Toolszipalign、apksignerplatform-toolsadb 安装 APK工具下载apktoolhttps://apktool.org/blog/apktool-3.0.2/Android Platform Toolshttps://dl.google.com/android/repository/platform-tools-latest-windows.zip二、生成签名证书第一次修改 APK需要自己生成一个签名。密码统一使用123456执行keytool-genkey-aliasnew.keystore-keyalgRSA-validity20000-keystorenew.keystore随后输入两次密码其余信息一路回车最后输入y即可生成new.keystore三、解包 APK执行java-jarapktool_3.0.2.jar d znddc.apk-oznddc目录结构如下znddc ├── AndroidManifest.xml ├── res ├── smali └── ...四、修改 AndroidManifest.xml找到activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.SplashActivityandroid:screenOrientationportraitintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activityactivityandroid:namecom.tbit.smartbike.activity.MainActivityandroid:screenOrientationportraitandroid:themestyle/DCloudMPHostActivityTheme/修改为activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.SplashActivityandroid:screenOrientationportrait/activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.MainActivityandroid:screenOrientationportraitandroid:themestyle/DCloudMPHostActivityThemeintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activity修改原理Android 应用启动时会寻找intent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter也就是 Launcher Activity。原来Launcher │ ▼ SplashActivity │ ▼ 广告 │ ▼ MainActivity修改以后Launcher │ ▼ MainActivity启动入口直接变成主页因此 SplashActivity 不会再执行自然也不会显示开屏广告。整个修改只改了 Manifest没有修改任何业务代码。五、重新打包执行java-jarapktool_3.0.2.jar b znddc-oznddcnew.apk生成znddcnew.apk六、APK 对齐非常重要APK 必须进行 ZipAlign。进入 Build ToolscdD:\Program Files\Android\Sdk\build-tools\34.0.0执行zipalign-v4D:\workspace_android\znddcnew.apk D:\workspace_android\znddcnew_aligned.apk生成znddcnew_aligned.apk七、重新签名使用 apksignerapksigner sign ^--ksD:\workspace_android\new.keystore ^ --ks-key-alias new.keystore ^--outD:\workspace_android\znddcnew_sign.apk ^ D:\workspace_android\znddcnew_aligned.apk最终得到znddcnew_sign.apk八、安装 APK手机打开开发者模式开启USB 调试 USB 安装进入 platform-toolscd D:\data\platform-tools安装./adb install D:\workspace_android\znddcnew_sign.apk如果提示安装失败可以先卸载原版 APP再安装修改后的 APK。九、最终效果修改完成后✅ APP 打开直接进入主页✅ 无开屏广告✅ 无需修改 Smali✅ 无需 Hook✅ 修改成本极低整个逆向过程实际上只改动了一个文件AndroidManifest.xml通过调整 Launcher Activity就可以让 APP 跳过 Splash 页面。效果之前欢迎页 广告 自动跳转每次起码浪费30秒。现在基本秒进。总结很多 APP 的开屏广告实际上都是通过启动页SplashActivity来展示的。如果启动页仅负责广告展示而主页MainActivity本身没有强依赖 Splash 的初始化逻辑那么直接修改 Manifest 中的启动入口往往就是最简单、最有效的方案。当然并非所有 APP 都适用这种方法。有些应用会在 SplashActivity 中完成登录校验、版本更新、权限申请、初始化 SDK 等工作直接跳过可能导致应用无法正常运行。这种情况下就需要进一步分析 Smali 代码或通过 Hook 等方式进行处理。对于本文中的《智能电动车》APP仅通过修改 AndroidManifest.xml 即可实现跳过开屏广告整个过程简单直接非常适合作为 Android APK 逆向入门练习。
Android 逆向《智能电动车管家》APP——关闭开屏广告
发布时间:2026/6/30 5:33:41
声明本文仅用于 Android 逆向学习与技术研究修改对象为本人设备安装的软件仅用于去除影响使用体验的开屏广告不涉及破解付费功能、绕过认证、恶意传播等行为请遵守相关法律法规。前言前段时间购买了一辆智能电动车每次打开官方 APP 都会先弹出几秒钟的开屏广告。对于每天都会打开很多次 APP 来说这个广告不仅浪费时间而且没有任何实际意义。由于 APK 还在于是决定自己动手修改 APK将 APP 的启动入口直接改成主页彻底跳过 Splash 页面。整个过程其实非常简单只需要修改AndroidManifest.xml即可。最终效果不再进入开屏广告页APP 打开直接进入主页不修改任何 Java/Smali 代码一、准备工具需要准备下面几个工具工具作用apktool 3.0.2APK 解包、回编译JDKkeytool 生成签名Android SDK Build Toolszipalign、apksignerplatform-toolsadb 安装 APK工具下载apktoolhttps://apktool.org/blog/apktool-3.0.2/Android Platform Toolshttps://dl.google.com/android/repository/platform-tools-latest-windows.zip二、生成签名证书第一次修改 APK需要自己生成一个签名。密码统一使用123456执行keytool-genkey-aliasnew.keystore-keyalgRSA-validity20000-keystorenew.keystore随后输入两次密码其余信息一路回车最后输入y即可生成new.keystore三、解包 APK执行java-jarapktool_3.0.2.jar d znddc.apk-oznddc目录结构如下znddc ├── AndroidManifest.xml ├── res ├── smali └── ...四、修改 AndroidManifest.xml找到activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.SplashActivityandroid:screenOrientationportraitintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activityactivityandroid:namecom.tbit.smartbike.activity.MainActivityandroid:screenOrientationportraitandroid:themestyle/DCloudMPHostActivityTheme/修改为activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.SplashActivityandroid:screenOrientationportrait/activityandroid:exportedtrueandroid:namecom.tbit.smartbike.activity.MainActivityandroid:screenOrientationportraitandroid:themestyle/DCloudMPHostActivityThemeintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter/activity修改原理Android 应用启动时会寻找intent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter也就是 Launcher Activity。原来Launcher │ ▼ SplashActivity │ ▼ 广告 │ ▼ MainActivity修改以后Launcher │ ▼ MainActivity启动入口直接变成主页因此 SplashActivity 不会再执行自然也不会显示开屏广告。整个修改只改了 Manifest没有修改任何业务代码。五、重新打包执行java-jarapktool_3.0.2.jar b znddc-oznddcnew.apk生成znddcnew.apk六、APK 对齐非常重要APK 必须进行 ZipAlign。进入 Build ToolscdD:\Program Files\Android\Sdk\build-tools\34.0.0执行zipalign-v4D:\workspace_android\znddcnew.apk D:\workspace_android\znddcnew_aligned.apk生成znddcnew_aligned.apk七、重新签名使用 apksignerapksigner sign ^--ksD:\workspace_android\new.keystore ^ --ks-key-alias new.keystore ^--outD:\workspace_android\znddcnew_sign.apk ^ D:\workspace_android\znddcnew_aligned.apk最终得到znddcnew_sign.apk八、安装 APK手机打开开发者模式开启USB 调试 USB 安装进入 platform-toolscd D:\data\platform-tools安装./adb install D:\workspace_android\znddcnew_sign.apk如果提示安装失败可以先卸载原版 APP再安装修改后的 APK。九、最终效果修改完成后✅ APP 打开直接进入主页✅ 无开屏广告✅ 无需修改 Smali✅ 无需 Hook✅ 修改成本极低整个逆向过程实际上只改动了一个文件AndroidManifest.xml通过调整 Launcher Activity就可以让 APP 跳过 Splash 页面。效果之前欢迎页 广告 自动跳转每次起码浪费30秒。现在基本秒进。总结很多 APP 的开屏广告实际上都是通过启动页SplashActivity来展示的。如果启动页仅负责广告展示而主页MainActivity本身没有强依赖 Splash 的初始化逻辑那么直接修改 Manifest 中的启动入口往往就是最简单、最有效的方案。当然并非所有 APP 都适用这种方法。有些应用会在 SplashActivity 中完成登录校验、版本更新、权限申请、初始化 SDK 等工作直接跳过可能导致应用无法正常运行。这种情况下就需要进一步分析 Smali 代码或通过 Hook 等方式进行处理。对于本文中的《智能电动车》APP仅通过修改 AndroidManifest.xml 即可实现跳过开屏广告整个过程简单直接非常适合作为 Android APK 逆向入门练习。