白云点缀的蓝 发表于 2021-6-17 12:46

RE管理器去广告分析

我们先把软件安装进模拟器去,
安装完成之后,打开,然后退出,发现会弹广告,




我们用adb命令看看,当前的activity是什么



可以看到当前所在的activity为com.speedsoftware.rootexplorer/com.AddDouDouWall2.WebPageDownLoadMainActivity

我们拖入android killer,反编译下,去Androidmanifest看看这个activity是否是动态activity,因为想要使用动态activity必须在activity里注册,
可以看到确实是注册了


然后我们找到这个activity所在位置,然后定位到如下位置



我们用浏览器打开一下这个链接,http://www.doudoubird.com:8080/ddn_app/selectAppList?aidx=2
,,发现如下图跟退出时弹出的广告一样


可以知道,软件退出时确实执行了上面的代码
但是我们得要先找到是哪个方法开启了这个activity
用软件分析下,然后发现以下方法启动了这个activity



碰巧的是这个方法正好是onDestroy()方法,这个方法在软件结束的时候会调用
我们分析下这个方法
我们只看如下代码
@Override// android.support.v7.app.AppCompatActivity
protected void onDestroy() {
   int v0_1;
   if(this.isNetworkAvailable(this)) {
         this.startActivity(new Intent(this, WebPageDownLoadMainActivity.class));
   }

从这句代码可以知道,只要有网络就会启动广告activity
我们看一下smali代码

.method protected onDestroy()V
          .registers 6
00000000invoke-virtual      RootExplorer->isNetworkAvailable(Context)Z, p0, p0
00000006move-result         v0
00000008if-eqz            v0, :20
:C
0000000Cnew-instance      v0, Intent
00000010const-class         v1, WebPageDownLoadMainActivity
00000014invoke-direct       Intent-><init>(Context, Class)V, v0, p0, v1
0000001Ainvoke-virtual      RootExplorer->startActivity(Intent)V, p0, v0

这个代码执行了isNetworkAvailable方法,并且将结果赋值给v0
然后判断v0是否等于0,等于则执行下面的代码,不等于则跳过广告代码,继续执行
我们可以把if-eqz v0,改为if-nez v0,



然后编译,安装进模拟器看看效果


可以看到,广告已经没有了


beamstyle 发表于 2021-12-7 10:45

感谢分享,内容很实用。

bnjzzheng 发表于 2022-1-3 12:02

多谢大佬分享

逆向者 发表于 2022-1-3 19:43

详细   谢谢分享

zhmtao 发表于 2022-1-7 10:59

谢谢分享

kalove 发表于 2022-1-8 09:39

支持~谢谢大神的分享~

拿着雪糕 发表于 2022-1-26 16:27

十分感谢大佬

PDWORD 发表于 2022-1-28 01:19

来看看感谢分享

PDWORD 发表于 2022-1-28 01:20

来看看感谢分享

YLa3 发表于 2022-3-27 19:23

谢谢分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: RE管理器去广告分析