
上一章电梯:新手小白抖逆向学习探索(去抖广告)https://www.52pojie.cn/thread-1954379-1-1.html(出处:吾爱破解论坛)
1、apk基础信息在上一集,我已经把开屏广告搞定了,打开后,又是两个弹窗广告加一个系统公告,还必须要手动关闭才可以。这一集就干它
根据论坛新手指导《安卓逆向那档事》广告浮窗就不是看activity,而是用算法助手日志锁定堆栈。然后把show方法干掉。
总共四个弹窗,第一个弹窗是启动窗口,后面三个才是,现在看第一个堆栈
第一个弹窗黑丝小姐姐,com.niming.framework.base.a.onStart,使用jadex看下,锁定关键show函数。
publicintshow(mtransaction,Stringtag){ InterfaceC0335ainterfaceC0335a=this.J0; if(interfaceC0335a!=null){ interfaceC0335a.b(); } returnsuper.show(transaction,tag); } @Override//androidx.viewpager.widget.b.a,androidx.fragment.app.b publicvoidshow(androidx.fragment.app.gmanager,Stringtag){ InterfaceC0335ainterfaceC0335a=this.J0; if(interfaceC0335a!=null){ interfaceC0335a.b(); } super.show(manager,tag); }嗯,两个,本人java菜鸡,只知道可以两个函数重构,但是这个黑丝小姐姐到底是那个show出来的????
本着宁杀错,不放过原则。计划将show1(上面的那个)
returnsuper.show(transaction,tag);改为return1;//毕竟还是有返回值,给一个象征一下吧
下面的直接清空,反正也没有返回值
super.show(manager,tag);
保存-编译-签字-打包-安装
经过测试,3个全军覆没,看来用的是一个函数去生成的。
4、回顾有朋友可能会有疑问,配资策略调用堆栈不是com.niming.framework.base.a.onStart里面的onstart函数,那就多看看他在干什么?
publicvoidonStart(){ //调用父类onstart函数 super.onStart(); //生成一个window窗口 Windowwindow=getDialog().getWindow(); if(window!=null){ //设置窗口为全透明 window.setBackgroundDrawable(newColorDrawable(0)); //提取窗口属性参数 WindowManager.LayoutParamslayoutParams=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); } }最开始的时候,我以为我需要修改的程序是这里,但是经过实验,发现清空了这里面的函数,会造成函数出错,我个人认为这里其实不是创建广告,而是创建广告的画布,后面的程序在这个画布上画上小姐姐,这样就知道为什么会报错了,画布都没有了,画的时候肯定报错,也不知道这样理解是否正确。
publicDialogonCreateDialog(BundlesavedInstanceState){ returnsuper.onCreateDialog(savedInstanceState); } @Override//androidx.fragment.app.Fragment @Nullable publicViewonCreateView(LayoutInflaterinflater,@nullableViewGroupcontainer,@NullableBundlesavedInstanceState){ Bundlebundle=getArguments(); if(bundle!=null){ Y(bundle); } Viewview=K(inflater,container); returnview; }经过我的推断,应该这个程序就是在画布上创建黑丝小姐姐的函数。为什么会有两个,
经过百度:使用DialogFragment至少需要实现onCreateView或者onCreateDialog方法,这俩个是二选一,所以就能理解为什么onCreateDialog函数只是个皮包,并没有重写。
抖*去广告系列结束啦,感谢各位大大的帮助,后面会继续给大家更新小白学习系列。智能仓位调节引擎|波动率自适应策略|永元证券提示:本文来自互联网,不代表本网站观点。