V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rainABC
V2EX  ›  程序员

九彩固件-我被当猴耍了

  •  1
     
  •   rainABC · 305 天前 · 4395 次点击
    这是一个创建于 305 天前的主题,其中的信息可能已经有所发展或是发生改变。

    九彩固件升级提示怎么破?网上都在问,博主刚好也是这个固件,且按照提示重新升级了三次后(被耍猴了三次,后面揭秘)。 最终受不了准备一探究竟。先网上查找下相关资源,结果很失望都没有结果。 [attachimg]2671997[/attachimg]

    上图给了我启发,于是便解开刷机包。反编译这个应用,看看是什么逻辑。 [attachimg]2671993[/attachimg]

    好家伙,还真被我找到了。

    public void onReceive(Context context, Intent intent) { if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()) || "android.intent.action.MEDIA_MOUNTED".equals(intent.getAction()) || "android.intent.action.MEDIA_UNMOUNTED".equals(intent.getAction()) || "android.intent.action.MEDIA_EJECT".equals(intent.getAction()) || "android.intent.action.MEDIA_REMOVED".equals(intent.getAction()) || "android.intent.action.LOCKED_BOOT_COMPLETED".equals(intent.getAction()) || "android.intent.action.BOOT_PROGRESS".equals(intent.getAction()) || "android.intent.action.REBOOT".equals(intent.getAction())) {

            SharedPreferences sharedPreferences = context.getSharedPreferences("boot_count", 0);
            int i = sharedPreferences.getInt("count", 0) + 1;
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putInt("counta", i);
            edit.apply();
    

    //400 次啊,你妹的,你耍我。 if (i < 400) {

                return;
            }
            Intent intent2 = new Intent(context, MainActivity.class);
            intent2.addFlags(268435456);
            context.startActivity(intent2);
        }
    }
    

    丫的,这不是把用户当猴子耍吗。难怪当差不多一两个月就提示升级,而且我还傻傻的真去升级了。虽然你固件很出色,但是你也不要这样去折磨用户吧。 图片要看的去 52 看,v2 放图不好弄。

    13 条回复    2024-01-24 13:54:03 +08:00
    hefish
        1
    hefish  
       305 天前
    哈哈,就官方的 rom 用用算了。
    yyysuo
        2
    yyysuo  
       305 天前
    没看懂。
    tangtang369
        3
    tangtang369  
       305 天前
    @yyysuo 每启动次数大于 400 次 提示有升级 更新一次
    rookie4show
        4
    rookie4show  
       305 天前
    你这个排版,测试一下
    ```java
    public void onReceive(Context context, Intent intent) {
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())
    || "android.intent.action.MEDIA_MOUNTED".equals(intent.getAction())
    || "android.intent.action.MEDIA_UNMOUNTED".equals(intent.getAction())
    || "android.intent.action.MEDIA_EJECT".equals(intent.getAction())
    || "android.intent.action.MEDIA_REMOVED".equals(intent.getAction())
    || "android.intent.action.LOCKED_BOOT_COMPLETED".equals(intent.getAction())
    || "android.intent.action.BOOT_PROGRESS".equals(intent.getAction())
    || "android.intent.action.REBOOT".equals(intent.getAction())) {

    SharedPreferences sharedPreferences = context.getSharedPreferences("boot_count", 0);
    int i = sharedPreferences.getInt("count", 0) + 1;
    SharedPreferences.Editor edit = sharedPreferences.edit();
    edit.putInt("counta", i);
    edit.apply();
    //400 次啊,你妹的,你耍我。
    if (i < 400) {

    return;
    }
    Intent intent2 = new Intent(context, MainActivity.class);
    intent2.addFlags(268435456);
    context.startActivity(intent2);
    }
    }
    ```
    yyysuo
        5
    yyysuo  
       305 天前
    @tangtang369 感谢解惑,这样还好吧,比 apple 更流氓一些,我还以为是假升级,刷新版本号。
    yyysuo
        6
    yyysuo  
       305 天前
    @yyysuo #5 盒子不关机可破。
    tangtang369
        7
    tangtang369  
       305 天前
    @yyysuo 这个肯定是假升级 无中生有
    liuymf
        8
    liuymf  
       305 天前
    ```java

    public void onReceive(Context context, Intent intent) {
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())
    || "android.intent.action.MEDIA_MOUNTED".equals(intent.getAction())
    || "android.intent.action.MEDIA_UNMOUNTED".equals(intent.getAction())
    || "android.intent.action.MEDIA_EJECT".equals(intent.getAction())
    || "android.intent.action.MEDIA_REMOVED".equals(intent.getAction())
    || "android.intent.action.LOCKED_BOOT_COMPLETED".equals(intent.getAction())
    || "android.intent.action.BOOT_PROGRESS".equals(intent.getAction())
    || "android.intent.action.REBOOT".equals(intent.getAction())) {

    SharedPreferences sharedPreferences = context.getSharedPreferences("boot_count", 0);
    int i = sharedPreferences.getInt("count", 0) + 1;
    SharedPreferences.Editor edit = sharedPreferences.edit();
    edit.putInt("counta", i);
    edit.apply();
    // 400 次啊,你妹的,你耍我。
    if (i < 400) {
    return;
    }

    Intent intent2 = new Intent(context, MainActivity.class);
    intent2.addFlags(268435456);
    context.startActivity(intent2);
    }
    }


    ```
    ltkun
        9
    ltkun  
       305 天前
    没有听说过
    rainABC
        10
    rainABC  
    OP
       305 天前
    每几个月,开机直接全屏。红字提示有升级,把我都搞懵逼。结果刷机后包还是那个包,太恶心了。
    locoz
        11
    locoz  
       305 天前
    这个操作的意义是啥...让人感觉一直有在更新?
    morgan1freeman
        12
    morgan1freeman  
       305 天前
    @locoz 你猜对了,就跟那个 alert('你的秒杀订单已经提交,请联系老板')
    XXWHCA
        13
    XXWHCA  
       304 天前
    你可以用 adb 发送 400 次上面接收的广播🐶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:39 · PVG 02:39 · LAX 10:39 · JFK 13:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.