最近发现一个不错得免费视频软件,资源很丰富,网速也很快,连奈飞都不用开了,唯一缺点,就是AD有点多,影响观看体验,今天我们就来看看它的AD机制
libpp_hls.so
库//AppApplication
GDTAdSdk.init()
//AppApplication
ZjSdk.init()
新版本换成了SjmSdk.init,所以为了防止以后频繁更新,需要去拦截上层函数才行
//AppApplication
MQSDK.getInstance().initSdk();
MineUserInfo.getIs_vip()
UpdateEvent$UpdateData.getVersion()
master.flame.danmaku.ui.widget.DanmakuView.start()
VideoPlayDetailActivity.initBarrage()
MainActivity.initData(){
//arrayList.add(new TabLayout.b(2131231947, 2131820825, 2131231943, -1, ExtensionShareFragment.class, 4));
}
//SplashActivity
public /* synthetic */ void lambda$initViewObservable$2$SplashActivity(AdInfoEntry adInfoEntry) {
this.delayedTime = true;
if (au.H() == 0) {//这里永远为true即可
au.q(1);
this.handler.postDelayed(new Runnable() { // from class: com.ys.resemble.ui.login.splash.SplashActivity.2
@Override // java.lang.Runnable
public void run() {
SplashActivity.this.goToMain();
}
}, 500L);
}
//省略.....
}
public static void c(MainActivity mainActivity, AdInfoDetailEntry adInfoDetailEntry) {
Bundle bundle = new Bundle();
bundle.putSerializable("adInfoDetailEntry", adInfoDetailEntry);
bundle.putBoolean("flag", true);
//mainActivity.startActivity(SplashSecondAdActivity.class, bundle);
}
public static boolean o(Context context) {//isTV
return ((UiModeManager) context.getSystemService("uimode")).getCurrentModeType() == 4;
}
public static boolean c(Context context) {//isTv
return m(context) == 4;
}
private static int m(Context context) {
UiModeManager uiModeManager = (UiModeManager) context.getSystemService("uimode");
if (f567a || uiModeManager != null) {
Log.d("getUiMode", uiModeManager.getCurrentModeType() + "");
return uiModeManager.getCurrentModeType();
}
throw new AssertionError();
}
绕过两个if判断,直接goto
到au.b("")
代码处,让key调用d()函数,随机生成。而au.b("")
就是设置user_token的地方,具体代码如下:
这里直接置空,上面的g()函数是在Application的onCreate里调用的,也就是在每次启动APP后都会重置设备信息,而不会再出现盗版检测,当然把这些处理完后,依然会有盗版检测,经过排查是Build.MODEL的问题,解决方案如下:
把false换成true即可,实在嫌频繁弹框的,可以直接注释show()函数即可
打开视频播放界面会弹出一个滑动验证界面,经研究是频繁重置deviceId所致,但传回的视频信息除了视频链接不同,其它信息都相同,所以只能根据视频本身信息来判断,目前解决方案是获取视频的长度,若是视频太小,则被认定是出现了盗版检测视频,这时重置deviceId即可
声明:转载请注明出处,原文地址:shlu's note