flydyyg 发表于 2024-10-25 16:54

九彩盒子固件升级提示关闭思路

近期,我弄了一台电信的 MV310 机顶盒,并依照网上的教程对其进行了刷机操作,期间下载了九彩固件。然而,在使用一段时间后,每次开机都会弹出升级界面,而且无法关掉,导致无法正常使用。
https://data.znds.com/attachment/forum/202409/08/134224dyqzbmbe7xm9ssrs.png
为寻求解决之法,我找到了一篇名为“九彩固件升级提示揭秘”的帖子。该帖通过对固件进行反编译,深入分析了固件升级的原因及具体代码。简而言之,九彩在代码中设置了一个计数器,当机顶盒运行一段时间后,便会弹出升级窗口。
https://attach.52pojie.cn/forum/202401/23/111429d43jkgugrxlu4vsz.png
图片引用自文章:https://www.52pojie.cn/thread-1883700-1-1.html

依此思路,需对刷机包进行反编译并修改相应代码。但本人缺少反编译工具,数次尝试刷机均未成功。于是,我思考能否通过 ADB 来解决这一问题,首先想到的便是尝试禁止白屏应用的启动。
首先,将机顶盒开启开发者模式,开启 ADB 调试,并确保其与电脑处于同一局域网内进行连接。接着,将界面停留在白屏位置,运行以下代码:adb shell dumpsys activity activities
以下是输出的内容:ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Stack #0:
    Task id #1
    * TaskRecord{41ee52a0 #1 A=com.tvpusher.gklauncher U=0 sz=1}
      numActivities=1 rootWasReset=false userId=0 mTaskType=1 numFullscreen=1 mOnTopOfHome=false
      affinity=com.tvpusher.gklauncher
      intent={act=android.intent.action.MAIN cat= flg=0x10000000 cmp=com.tvpusher.gklauncher/.mvp.ui.activity.WelcomeActivity}
      realActivity=com.tvpusher.gklauncher/.mvp.ui.activity.WelcomeActivity
      Activities=
      askedCompatMode=false
      lastThumbnail=android.graphics.Bitmap@41ce2258 lastDescription=null
      lastActiveTime=8142 (inactive for 994s)
      * Hist #0: ActivityRecord{42051038 u0 com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty t1}
          packageName=com.tvpusher.gklauncher processName=com.tvpusher.gklauncher
          launchedFromUid=10013 launchedFromPackage=com.tvpusher.gklauncher userId=0
          app=ProcessRecord{41ee6650 2387:com.tvpusher.gklauncher/u0a13}
          Intent { flg=0x400000 cmp=com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty }
          frontOfTask=true task=TaskRecord{41ee52a0 #1 A=com.tvpusher.gklauncher U=0 sz=1}
          taskAffinity=com.tvpusher.gklauncher
          realActivity=com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty
          baseDir=/system/app/yyzm8.9.apk
          dataDir=/data/data/com.tvpusher.gklauncher
          stateNotNeeded=false componentSpecified=true mActivityType=1
          compat={160dpi always-compat} labelRes=0x7f100029 icon=0x7f0e0044 theme=0x7f11018a
          config={1.0?mcc?mnc zh_CN ldltr sw720dp w1280dp h720dp 160dpi xlrg long land television -touch -keyb/v/h dpad/v s.4}
          launchFailed=false launchCount=0 lastLaunchTime=-16m35s738ms
          haveState=true icicle=Bundle
          state=STOPPED stopped=true delayedResume=false finishing=false
          keysPaused=false inHistory=true visible=false sleeping=false idle=true
          fullscreen=true noDisplay=false immersive=false launchMode=2
          frozenBeforeDestroy=false thumbnailNeeded=false forceNewConfig=false
          mActivityType=HOME_ACTIVITY_TYPE
          thumbHolder: 41ee52a0 bm=android.graphics.Bitmap@41ce2258 desc=null
    Running activities (most recent first):
      TaskRecord{41ee52a0 #1 A=com.tvpusher.gklauncher U=0 sz=1}
      Run #0: ActivityRecord{42051038 u0 com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty t1}
    mLastPausedActivity: ActivityRecord{42051038 u0 com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty t1}
Stack #1:
    Task id #3
    * TaskRecord{41f3bfd0 #3 A=com.ex.service U=0 sz=1}
      numActivities=1 rootWasReset=false userId=0 mTaskType=0 numFullscreen=1 mOnTopOfHome=true
      affinity=com.ex.service
      intent={flg=0x10000000 cmp=com.ex.service/.Txtactivity}
      realActivity=com.ex.service/.Txtactivity
      Activities=
      askedCompatMode=false
      lastThumbnail=null lastDescription=null
      lastActiveTime=870241 (inactive for 132s)
      * Hist #0: ActivityRecord{41d14248 u0 com.ex.service/.Txtactivity t3}
          packageName=com.ex.service processName=com.ex.service
          launchedFromUid=10011 launchedFromPackage=com.ex.service userId=0
          app=ProcessRecord{41fe73e8 2405:com.ex.service/u0a11}
          Intent { flg=0x10000000 cmp=com.ex.service/.Txtactivity }
          frontOfTask=true task=TaskRecord{41f3bfd0 #3 A=com.ex.service U=0 sz=1}
          taskAffinity=com.ex.service
          realActivity=com.ex.service/.Txtactivity
          baseDir=/system/priv-app/SystemManager.apk
          dataDir=/data/data/com.ex.service
          stateNotNeeded=false componentSpecified=true mActivityType=0
          compat={160dpi always-compat} labelRes=0x7f0e001b icon=0x0 theme=0x7f0f0186
          config={1.0?mcc?mnc zh_CN ldltr sw720dp w1280dp h720dp 160dpi xlrg long land television -touch -keyb/v/h dpad/v s.4}
          launchFailed=false launchCount=0 lastLaunchTime=-16m36s771ms
          haveState=false icicle=null
          state=RESUMED stopped=false delayedResume=false finishing=false
          keysPaused=false inHistory=true visible=true sleeping=false idle=true
          fullscreen=true noDisplay=false immersive=false launchMode=0
          frozenBeforeDestroy=false thumbnailNeeded=false forceNewConfig=false
          mActivityType=APPLICATION_ACTIVITY_TYPE
          thumbHolder: 41f3bfd0 bm=null desc=null
          waitingVisible=false nowVisible=true lastVisibleTime=-2m12s490ms
    Running activities (most recent first):
      TaskRecord{41f3bfd0 #3 A=com.ex.service U=0 sz=1}
      Run #0: ActivityRecord{41d14248 u0 com.ex.service/.Txtactivity t3}
    mResumedActivity: ActivityRecord{41d14248 u0 com.ex.service/.Txtactivity t3}
    mLastPausedActivity: ActivityRecord{41f82368 u0 com.fiberhome.settings/.MainActivity t9 f}
mFocusedActivity: ActivityRecord{41d14248 u0 com.ex.service/.Txtactivity t3}
mDismissKeyguardOnNextActivity=false
mFocusedStack=ActivityStack{4200d170 stackId=1, 1 tasks} mStackState=STACK_STATE_HOME_IN_BACK
mSleepTimeout=false
mCurTaskId=9
mUserStackInFront={}
Recent tasks:
* Recent #0: TaskRecord{41f3bfd0 #3 A=com.ex.service U=0 sz=1}
    numActivities=1 rootWasReset=false userId=0 mTaskType=0 numFullscreen=1 mOnTopOfHome=true
    affinity=com.ex.service
    intent={flg=0x10000000 cmp=com.ex.service/.Txtactivity}
    realActivity=com.ex.service/.Txtactivity
    Activities=
    askedCompatMode=false
    lastThumbnail=null lastDescription=null
    lastActiveTime=870241 (inactive for 132s)
* Recent #1: TaskRecord{420ab148 #9 I=com.fiberhome.settings/.MainActivity U=0 sz=0}
    intent={cmp=com.fiberhome.settings/.MainActivity}
    realActivity=com.fiberhome.settings/.MainActivity
    Activities=[]
    askedCompatMode=false
    lastThumbnail=android.graphics.Bitmap@41ce2258 lastDescription=null
    lastActiveTime=870236 (inactive for 132s)
* Recent #2: TaskRecord{420e3978 #8 I=com.fiberhome.settings/.AuthActivity U=0 sz=0}
    intent={act=android.intent.action.MAIN flg=0x10000000 cmp=com.fiberhome.settings/.AuthActivity}
    realActivity=com.fiberhome.settings/.AuthActivity
    Activities=[]
    askedCompatMode=false
    lastThumbnail=android.graphics.Bitmap@41ce2258 lastDescription=null
    lastActiveTime=853653 (inactive for 149s)
* Recent #3: TaskRecord{41ee52a0 #1 A=com.tvpusher.gklauncher U=0 sz=1}
    numActivities=1 rootWasReset=false userId=0 mTaskType=1 numFullscreen=1 mOnTopOfHome=false
    affinity=com.tvpusher.gklauncher
    intent={act=android.intent.action.MAIN cat= flg=0x10000000 cmp=com.tvpusher.gklauncher/.mvp.ui.activity.WelcomeActivity}
    realActivity=com.tvpusher.gklauncher/.mvp.ui.activity.WelcomeActivity
    Activities=
    askedCompatMode=false
    lastThumbnail=android.graphics.Bitmap@41ce2258 lastDescription=null
    lastActiveTime=8142 (inactive for 994s)
从上述输出中可以看出,存在两个任务栈。第一个任务栈中有一个活动,即主屏幕活动;第二个任务栈中也有一个活动,是当前正在前台运行的活动。这意味着com.ex.service/.Txtactivity是当前用户正在使用的活动,而com.tvpusher.gklauncher/.mvp.ui.activity.MainActivty则是主屏幕活动。
计数器的代码位于com.tvpusher.gklauncher中。然而,此为机顶盒的主程序,既不能关闭也无法删除,否则机顶盒将无法使用。因此,我选择禁用其调用的程序,具体代码如下:adb shell pm disable-user com.ex.service
adb shell pm disable-user com.exs.service
至此,问题得以解决。

侃遍天下无二人 发表于 2024-10-28 08:44

com.tvpusher.gklauncher是桌面,也不是不能删,你换成精简版的当贝桌面就行了,你的adb是有root权限的,可以直接用rm删掉那俩service,彻底些

cctv8239 发表于 2024-10-25 18:55

韭菜盒子,换个固件吧,后台估计还有自动下载软件,甚至挖矿

studyggm 发表于 2024-10-25 20:47

我也刷了,感觉怪怪的。他的固件很多,原来有暗装。智能电视有讨论

ddzyhhh 发表于 2024-10-25 22:14

九彩固件谐音是不是韭菜固件?当心被人割韭菜。

zx360717966 发表于 2024-10-26 00:11

泰裤辣!谢谢分享!

zw0476sky 发表于 2024-10-26 00:32

感谢提醒,不碰韭菜固件了

gonglijun003 发表于 2024-10-26 05:52

我没用过,总听人说九彩固件不好,有后门,原来果真如此.不过楼主有办法屏蔽,值得点赞.

andyle 发表于 2024-10-26 07:31

看来后门开的不少

tzlqjyx 发表于 2024-10-26 08:34

一直听说,原来真的有后门

xfwww 发表于 2024-10-26 08:40

这个固件很多人在用吗?有什么特别之处?
页: [1] 2 3 4
查看完整版本: 九彩盒子固件升级提示关闭思路