zl6821 发表于 2024-8-14 20:16

新手小白抖*逆向学习探索(去内部广告)-第二弹

本帖最后由 zl6821 于 2024-8-20 19:32 编辑

# 新手小白抖*逆向学习探索(去内部广告)-第二弹

上一章电梯:
新手小白抖*逆向学习探索(去抖*广告)
https://www.52pojie.cn/thread-1954379-1-1.html
(出处: 吾爱破解论坛)

## 1、apk基础信息



## 2、软件分析



在上一集,我已经把开屏广告搞定了,打开后,又是两个弹窗广告加一个系统公告,还必须要手动关闭才可以。这一集就干它



## 3、开干!

根据论坛新手指导《安卓逆向那档事》广告浮窗就不是看activity,而是用算法助手日志锁定堆栈。然后把show方法干掉。



总共四个弹窗,第一个弹窗是启动窗口,后面三个才是,现在看第一个堆栈



第一个弹窗黑丝小姐姐,com.niming.framework.base.a.onStart,使用jadex看下,锁定关键show函数。



```java
    public int show(m transaction, String tag) {
      InterfaceC0335a interfaceC0335a = this.J0;
      if (interfaceC0335a != null) {
            interfaceC0335a.b();
      }
      return super.show(transaction, tag);
    }

    @Override // androidx.viewpager.widget.b.a, androidx.fragment.app.b
    public void show(androidx.fragment.app.g manager, String tag) {
      InterfaceC0335a interfaceC0335a = this.J0;
      if (interfaceC0335a != null) {
            interfaceC0335a.b();
      }
      super.show(manager, tag);
    }

```

嗯,两个,本人java菜鸡,只知道可以两个函数重构,但是这个黑丝小姐姐到底是那个show出来的????

本着宁杀错,不放过原则。计划将show1(上面的那个)

```java
return super.show(transaction, tag);

改为

return 1;//毕竟还是有返回值,给一个象征一下吧
```



下面的直接清空,反正也没有返回值

```
super.show(manager, tag);
```


保存-编译-签字-打包-安装



经过测试,3个全军覆没,看来用的是一个函数去生成的。

## 4、回顾

有朋友可能会有疑问,调用堆栈不是com.niming.framework.base.a.onStart里面的onstart函数,那就多看看他在干什么?

```java
    public void onStart() {
      //调用父类onstart函数
      super.onStart();
      //生成一个window窗口
      Window window = getDialog().getWindow();
      if (window != null) {
            //设置窗口为全透明
            window.setBackgroundDrawable(new ColorDrawable(0));
            //提取窗口属性参数
            WindowManager.LayoutParams layoutParams = window.getAttributes();
            if (Z()) {
                //设置动画参数
                layoutParams.windowAnimations = R.style.BottomDialogFragmentAnimation;
            }
            //设置动画宽
            layoutParams.width = W(getActivity());
            //设置动画高
            layoutParams.height = I();
            //设置动画遮罩
            layoutParams.dimAmount = R();
            //设置动画重力
            layoutParams.gravity = T();
            //生效以上属性
            window.setAttributes(layoutParams);
      }
    }

```



最开始的时候,我以为我需要修改的程序是这里,但是经过实验,发现清空了这里面的函数,会造成函数出错,我个人认为这里其实不是创建广告,而是创建广告的画布,后面的程序在这个画布上画上小姐姐,这样就知道为什么会报错了,画布都没有了,画的时候肯定报错,也不知道这样理解是否正确。

```java
   public Dialog onCreateDialog(Bundle savedInstanceState) {
      return super.onCreateDialog(savedInstanceState);
    }

    @Override // androidx.fragment.app.Fragment
    @Nullable
    public View onCreateView(LayoutInflater inflater, @nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
      Bundle bundle = getArguments();
      if (bundle != null) {
            Y(bundle);
      }
      View view = K(inflater, container);
      return view;
    }

```

经过我的推断,应该这个程序就是在画布上创建黑丝小姐姐的函数。为什么会有两个,

经过百度:使用 DialogFragment 至少需要实现 onCreateView 或者 onCreateDialog 方法,这俩个是二选一,所以就能理解为什么onCreateDialog函数只是个皮包,并没有重写。

### 抖*去广告系列结束啦,感谢各位大大的帮助,后面会继续给大家更新小白学习系列。

tomliu 发表于 2024-8-15 20:47

最后一张图, 右下角码没打全

caisonglinlove 发表于 2024-8-16 03:45

这马赛克打得非常牛,必须给楼主点赞。

myconan 发表于 2024-8-15 17:49

这个软件还有少儿不宜画面????

know1234 发表于 2024-8-15 17:59

搞黄色才是第一生产力

zx9 发表于 2024-8-15 18:54

大佬带我

Bakerhacker 发表于 2024-8-15 19:02

myconan 发表于 2024-8-15 17:49
这个软件还有少儿不宜画面????

这是抖~阴~不是抖音

cxp521 发表于 2024-8-15 19:45

看着就鸡动起来了

elinkmi 发表于 2024-8-15 21:29

过来学习一下

zl6821 发表于 2024-8-15 21:31

tomliu 发表于 2024-8-15 20:47
最后一张图, 右下角码没打全

福利,点出来就没意思了 兄弟

justwz 发表于 2024-8-15 22:05

大佬如何上手的啊
页: [1] 2 3 4 5
查看完整版本: 新手小白抖*逆向学习探索(去内部广告)-第二弹