From:https://www.bilibili.com/video/BV1UE411A7rW?p=7
Android 中 adb shell dumpsys 相关命令:https://blog.csdn.net/fengyulinde/article/details/78798055
adb shell dumpsys 命令是用于打印出当前系统信息 (更切确的说是dumpsys命令,因为 adb shell 只是为了进入手机或模拟器的shell内核,使其能够执行dumpsys命令),可以在命令后面加指定的 service name (比如activity、location),如果不加则默认打印出设备中所有service的信息。示例:adb shell dumpsys activity top // 来捕获当前的活动页面。
1. 篡改 apk名称 和 图标
这里以 土豆视频.apk 为例,下载地址:https://www.wandoujia.com/apps/62779
1.1 篡改 apk名称
- 1. 下载完成之后,使用 AndroidKiller 打开 土豆视频 apk(或者直接拖动到 AndroidKiller 里面),会自动进行 反编译
- 2. 工程搜索 字符串,然后进行替换
可以看到搜索出了两个结果,然后进行字符串替换,在替换字符串里面输入要替换的字符串,例如:香蕉视频
- 3. 替换完成之后,可以重新打包,生成 apk
- 4. 连接模拟器( 这里是雷电模拟器),安装 apk 进行测试
安装 apk
方法 2 :修改 apk 的名称
因为 AndroidManifest.xml 是 apk 的配置清单文件,所以可以直接修改这个文件进行 篡改 apk 的名称。
在 AndroidManifest.xml 里面 找到 android:label 进行修改,这里改成 android:label="苹果视频",然后保存,
重新编译、打包、安装测试,可以看到模拟器中已经变成 苹果视频
1.2 篡改 apk 图标
工程管理器 ---> AndroidManifest.xml ---> application 标签 ---> android:icon
可以看到 android:icon="@drawable/icon" , 表示 drawable 文件夹下 的 icon 图片就是 图标,可以 全局搜索 icon,但是会搜出好多结果,比较麻烦,
有一种更快捷的方法,因为 MANIFEST.MF 保存的是所有(所有、所有、所有)文件的签名,当然图标文件签名肯定也在里面,可以在 MANIFEST.MF 里面进行 搜索 /icon.png (因为 图标文件一般都是 以 .png 做后缀,注意前面有个 /)。
替换图标
总 结:
2. 修改包名实现应用分身
首先还是把 土豆视频 apk 拖到 AndroidKiller 里面,然后 工程管理器 ---> AndroidManifest.xml ---> manifest 标签,
然后在 manifest 标签 中找到 package 属性,这个属性就是 apk程序的包名 ,这里是 package="com.tudou.android"。
修改 package 的属性值(不能改为中文),这里改为 package="com.tudou.android.pro" ,然后保存
改完包名之后,还的修改 内容提供者,还是在 AndroidManifest.xml 里面修改。工程搜索 <provider ,搜索范围选择在当前文件。
要修的就是 provider 标签里面的 android:authorities 这个属性的值,这里在原有的值后面全部加上1
所有都修改完成 之后,然后保存、编译、打包,安装测试。
安装失败的几种原因和解决方法:
总结:
修改 包名:
修改 内容提供者:
3 . 修改资源去除广告
- 删除网络权限、
- 修改程序入口界面
3.1 去除弹窗广告
因为广告信息是通过网络获取的,所以可以直删除广告的网络权限,这样 app 就无法通过网络获取广告信息了,从而达到去除广告的目的。
这里以 火柴人突击格斗 apk 为例。apk 下载地址:https://www.wandoujia.com/apps/7627289
下载完成后,安装到模拟器上,打开 app ,可以看到弹窗广告。
与网络相关的属性:
删除 CHANGE_NETWORK_STATE、CHANGE_WIFI_STATE、ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE
这 4 个属性。工程管理 ---> AndroidManifest.xml ---> 删除所有带这 4 个属性的标签 ,然后保存、编译、打包、安装测试。
3.2 去掉开始广告
需要修改 app 的入口界面。但是入口界面在哪?怎么找入口界面?
我们希望的是进入这个入口页面,而不是广告页面,那怎么处理呢?
可以在 cmd 中使用命令 adb shell dumpsys activity top 来捕获当前的活动页面。
然后在 AndroidManifest.xml 找到这个 activity,添加下面两个标签:
<action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/>
保存、编译、打包、安装测试。
4. 去除 RE 文件管理器的广告
【安卓逆向】-- RootExplorer 管理器去广告
https://blog.csdn.net/weixin_42680210/article/details/90248882
删除对应 smail 代码实现去除广告:https://www.bilibili.com/video/BV1vE411c7Zj?p=10