li5bo5 发表于 2023-10-26 14:53

根据乐播的刷机教程操作有问题,求大佬指点

本帖最后由 智能小柠檬 于 2023-10-26 17:20 编辑

电视上的apk跟手机上的一样,可以先安装到手机上测试。观察广告里有"开通会员按>键关闭广告",于是搜索字符串"关闭广告",(1)定位到a("pause_ad_tip_2", "Disable Ad", "关闭广告", "關閉廣告", "広告を消す");
(2)继续搜索"pause_ad_tip_2",找到类com.hpplay.sdk.sink.business.ads.view.PauseADView,猜测这个就是显示广告的控件。
(3)继续搜索"new PauseADView" 定位到com.hpplay.sdk.sink.business.ads.bridge.f#f(Context context, RelativeLayout relativeLayout)方法。(4)分析发现这个类实现了com.hpplay.sdk.sink.business.ads.h接口,如下是它实现的接口方法home.php?mod=space&uid=1892347 // com.hpplay.sdk.sink.business.ads.h
    public void a(String str, String str2, ADBean aDBean) {
    SinkLog.i("AD_ProcessPauseAD", "onRequestAD");
    List<ADBean.DataBean> a = this.h.a(aDBean, this.n); // 请求广告代码
    boolean z = false;
    if (a != null && a.size() > 0) {
      this.k = a.get(0);
      ADBean.DataBean dataBean = this.k;
      if (dataBean != null && !TextUtils.isEmpty(dataBean.brgb)) {
            SinkLog.i("AD_ProcessPauseAD", "onRequestAD mADBean.brgb=" + this.k.brgb);(5)分析发现这个方法作用是请求加载广告参数。(6)到这里就很简单了,把请求广告的代码删了就行了。(7)反编译后修改smali代码,将原始代码#iget-object p2, p0, Lcom/hpplay/sdk/sink/business/ads/bridge/f;->h:Lcom/hpplay/sdk/sink/business/ads/cloud/ADRequest;

    #iget-object v0, p0, Lcom/hpplay/sdk/sink/business/ads/bridge/f;->n:Ljava/util/List;

    #invoke-virtual {p2, p3, v0}, Lcom/hpplay/sdk/sink/business/ads/cloud/ADRequest;->a(Lcom/hpplay/sdk/sink/bean/#ADBean;Ljava/util/List;)Ljava/util/List;

   #move-result-object p2改为:const/4 p2, 0x0回编译签名后安装。后面还有签名的修改,这里不贴出来了,好像固件里面的都没有签名限制。我在修改的过程中,并没有找到“new PauseADView”,而是按照“PauseADView”进行搜索,定位到了com.hpplay.sdk.sink.business.ads.bridge.hsmali代码也找到了,修改之后,安装但是在安装的时候提示错误:不知道为什么,求大佬指点。下面是从固件中提取的乐播投屏:https://li5bo5.lanzouw.com/iOCKi1cwt6cd
密码:**** Hidden Message *****

全职宝爸 发表于 2023-10-26 17:20

来看看这个

li5bo5 发表于 2023-10-27 10:38

全职宝爸 发表于 2023-10-26 17:20
来看看这个

求大佬指点
页: [1]
查看完整版本: 根据乐播的刷机教程操作有问题,求大佬指点