apk反编译修改教程系列---简单去除apk开屏广告【五】

往期教程:

apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】

apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】

apk反编译修改教程系列-----修改apk中的图片 任意更换apk桌面图片【三】

apk反编译修改教程系列---简单去除apk联网权限 其他权限 无法自动更新等【四】

去除apk开屏广告:

演示apk:小米有品4.2.1

使用工具;MT

操作思路解析。首先咱们不讲apk有没有加固 加密 加壳等等。因为这个方面牵扯的步骤较多。后续会更新这方面的步骤。其实验证你需要修改的apk有没有以上所说的加固,可以不做任何修改打包签名  然后安装测试。可以正常打开就标示此apk可以进行修改。

其实类似的教程很多。只不过因为apk的不同和内置广告的不同对应的操作步骤也不同

1---打开原apk开屏广告是这样滴.这是软件联网自动获取的

首先找到apk文件,可以导出安装包或者下载安装包

一般来讲,开屏广告是作为启动页来展现的。他区别与apk系统内置的广告界面,打开AndroidManifest.xml文件。

搜索anSplashActivity可以发现以下,打开一个apk时,会有一个类似欢迎的界面.就是SplashActivity,用来当作进入应用的第一个过度界面。可能电脑端反编译查看比较直观

大多数开屏广告修改这个类目就可以去除。知道这个后我们直接反编译找到打开SplashActivity这个类,搜索onCreate.

插入修改代码回编译即可

还有一种超简单方法

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:Android="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" package="com.xiaomi.youpin">
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:maxSdkVersion="22" android:name="android.permission.USE_CREDENTIALS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="com.xiaomi.channel.GAME_SERVICE_PERMISSION"/>
    <uses-permission android:name="android.permission.READ_LOGS"/>
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    <permission android:name="com.xiaomi.youpin.permission.MIPUSH_RECEIVE" android:protectionLevel="signature"/>
    <uses-permission android:name="com.xiaomi.youpin.permission.MIPUSH_RECEIVE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE"/>
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.NFC"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FIND_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
    <uses-permission android:name="android.permission.TRANSMIT_IR"/>
    <uses-permission android:maxSdkVersion="22" android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
    <uses-feature android:name="android.hardware.nfc.hce"/>
    <uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD"/>
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
    <uses-permission android:name="com.xiaomi.permission.CLOUD_MANAGER"/>
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
    <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="com.xiaomi.xmsf.permission.PAYMENT"/>

留下INTERNET,删除其他。然后重新签名安装后发现开屏广告不显示具体内容了,但个别app运行有时候会崩溃。

那么打开一个apk,如果有开屏广告-activity,那么先展示的就是他,然后是软件的主界面。但在AndroidManifest.xml文件中有很多activity。那么如何定位这个广告activity。一般“ MAIN ”与“ LAUNCHER ”一起出现,那个此activity就是入门点,记住是入门点

那么也可以换个思路,看看广告activity之后是哪个主界面activity,然后将它设置为主activity即可。这个操作就不用在多说了吧,至于怎么快速查看activity.可以通过MT的activity记录器查看

安卓玩机-----反编译apk 修改apk 去广告 去弹窗等操作中的一些常识  里面都有操作反编译的一些常识。参考套用

兴趣是最好的老师

当然 如果只是单纯的想去除开屏广告。有很多软件可以直接使用。例如 李跳跳 .一指禅.轻启动等或者模块类的都可以解决。

猜你喜欢

转载自blog.csdn.net/u011283906/article/details/134460145