今天才发现, root 之后不能用 OTA 更新,难受。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JamesMackerel
V2EX    Android

今天才发现, root 之后不能用 OTA 更新,难受。

  •  
  •   JamesMackerel 2017-01-06 08:32:09 +08:00 via Android 30112 次点击
    这是一个创建于 3232 天前的主题,其中的信息可能已经有所发展或是发生改变。
    买了 nexus 6p 之后一直都享受着用最新版本系统的快感(自虐感)。但是后来因为升级到 7.1 之后,通知栏的 bug 被修复,再也无法对流氓应用视而不见,我就折腾了一天 root 了手机装上了冰箱,其间的一波三折略去不表。

    今天醒过来发现 OTA 推送了安全性更新,点击重启之后发现进到了 twrp recovery ,没见他安装更新。去 google了一下,发现只要不是没有修改过的原厂系统就没法用 OTA 升级。

    作为一个轻度强迫症,现在有点难受。有没有什么折衷的办法?
    86 条回复    2017-03-11 16:37:40 +08:00
    ju5t4fun
        1
    ju5t4fun  
       2017-01-06 08:35:53 +08:00
    恢复原厂设置之后再 OTA
    warlue
        2
    warlue  
       2017-01-06 08:35:57 +08:00 via Android
    绿色守护无 root
    honeycomb
        3
    honeycomb  
       2017-01-06 08:36:32 +08:00 via Android   1
    有啊,直接用工厂镜像,但不是直接运行 flash-all.bat
    要把压缩文件解包自己一个一个用 fastboot 仅刷入需要的部分(bootloader,radio,boot,vendor,system),最后装一下 supersu 就成


    用这个方法更新 pixel 可麻烦了
    warlue
        4
    warlue  
       2017-01-06 08:36:46 +08:00 via Android
    @ju5t4fun root 以后恢复出厂也没用的,只能取消 root 或者刷机
    honeycomb
        5
    honeycomb  
       2017-01-06 08:37:13 +08:00 via Android
    @ju5t4fun 其实这个方法也可以,但没必要了
    lsmgeb89
        6
    lsmgeb89  
       2017-01-06 08:37:35 +08:00
    我到现在 7.1.1 推送都没收到……

    好像看见过有种 root 可以不破坏系统分区里的文件,从而可以 OTA 的。
    JamesMackerel
        7
    JamesMackerel  
    OP
       2017-01-06 08:43:12 +08:00 via Android
    @ju5t4fun 你是说完全恢复到出厂状态吗?那我不得被这些国产应用玩死。
    JamesMackerel
        8
    JamesMackerel  
    OP
       2017-01-06 08:44:28 +08:00 via Android
    @honeycomb 搞那么麻烦,我干脆去买个水果算了。
    TangMonk
        9
    TangMonk  
       2017-01-06 08:46:16 +08:00 via Android
    最新版的 twrp 好像是可以支持 OTA 的
    JamesMackerel
        10
    JamesMackerel  
    OP
       2017-01-06 08:46:33 +08:00 via Android
    @lsmgeb89 瞧你这欲言又止的。反正我是用 trwp 的 recovery 安装的 supersu ,就直接可以用 root 权限了。
    JamesMackerel
        11
    JamesMackerel  
    OP
       2017-01-06 08:48:19 +08:00 via Android
    @TangMonk 我 google 的时候找到了 trwp 的一篇官方博客说不能 OTA ,否则后果自负。如果能的话,怎么没有官方的 feature 公布呢……
    Ellison
        12
    Ellison  
       2017-01-06 08:53:14 +08:00
    systemless
    Jaspr
        13
    Jaspr  
       2017-01-06 08:54:40 +08:00
    FlashFire 是最好的解决方式,类似 OTA 的体验完整刷系统,不容易出问题,同时保留 root ,还可以同时直接刷入其他需要的补丁包
    logbang
        14
    logbang  
       2017-01-06 08:54:51 +08:00 via Android
    没见过 root 后能 ota 的
    herozzm
        15
    herozzm  
       2017-01-06 08:55:28 +08:00
    用 FlashFire 升级
    wclebb
        16
    wclebb  
       2017-01-06 09:09:21 +08:00 via iPhone
    哥,没有 Root 也能玩得转。
    datou
        17
    datou  
       2017-01-06 09:17:03 +08:00
    @Jaspr
    @herozzm

    flashfire 不能识别 android N 的 ota 包
    honeycomb
        18
    honeycomb  
       2017-01-06 09:18:37 +08:00   3
    @JamesMackerel
    这很麻烦吗?

    ./fastboot flash bootloader bootloader.img
    ./fastboot reboot bootloader
    ./fastboot flash radio radio.img
    ./fastboot reboot bootloader
    ./fastboot flash boot boot.img
    ./fastboot flash vendor vendor.img
    ./fastboot flash system system.img

    然后用手机的按钮重启到 recovery(也就是 twrp)

    ./adb sideload supersu.zip
    重启到 system ,完事


    @lsmgeb89
    supersu 默认用一个叫做 systemless 的安装模式,即它只修改 boot 分区,不修改 system 分区
    flashfire 的原理是,临时还原安装 supersu 时备份的原始 boot 分区,然后进行 OTA ,完成后再次安装 systemless 模式的 supersu 。

    这个涉及的手动操作少,但我习惯用上面的办法

    以上做法相当于:
    1 ./fastboot flash boot boot.img
    2 ./fastboot flash recovery recovery.img
    3 重启到官方 recovery ,调出菜单,选择 adb sideload
    4 ./adb sideload [OTA.zip's name]

    对于这种只包含安全更新的小更新,第二步可能是不需要的

    不能直接使用 ota 的原因是,现在 Android 的 OTA 机制是按 block 差分而不是按照文件差分的,所以只能在涉及到的分区完全没有改动过的情况下才能使用。
    honeycomb
        19
    honeycomb  
       2017-01-06 09:20:43 +08:00
    @JamesMackerel
    以前还有一个方法,是把工厂镜像里初上上述提到的.img 以外的文件全删了
    然后把 flash-all.bat 里的"-w"参数去掉,然后运行 flash-all.bat

    原理是一样的,但这种做法更容易失败
    TangMonk
        20
    TangMonk  
       2017-01-06 09:21:22 +08:00
    @JamesMackerel https://twrp.me/faq/officialota.html 不好意思。。说明了不能 OTA

    但是我记得我在刷 twrp 的时候提醒我选个模式,可以支持 OTA (实际上不行,我还以为是我手机问题)
    lsmgeb89
        21
    lsmgeb89  
    2017-01-06 09:23:47 +08:00
    @JamesMackerel 不是我欲言又止,是我已经很久不折腾 Android 了,不了解情况了。
    steveshi
        22
    steveshi  
       2017-01-06 09:35:09 +08:00
    FlashFire +1 简直神器
    honeycomb
        23
    honeycomb  
       2017-01-06 09:41:43 +08:00 via Android
    @TangMonk

    还有一个方法:

    谷歌为亲儿子提供了全量 OTA ,在 twrp 里直接刷它也是可以的。
    ndd200
        24
    ndd200  
       2017-01-06 09:43:34 +08:00
    root 后会有一个权限管理的应用,点进去一般都有个卸载的选项。
    gongguopei87
        25
    gongguopei87  
       2017-01-06 09:47:46 +08:00
    https://source.android.com/security/bulletin/2017-01-01.html#acknowledgements
    We would like to thank these researchers for their contributions:

    好多全家桶的人提 bug 啊。
    hei1000
        26
    hei1000  
       2017-01-06 09:55:44 +08:00 via Android
    "只要不是没有修改过的原厂系统就没法用 OTA 升级"?

    Excuse me ?要不是先看到你的标题我都不知道你在说什么
    magiclu
        27
    magiclu  
       2017-01-06 10:25:26 +08:00
    推荐搞个淘汰掉的 2 手 ios 设备处理国产全家桶,我现在 nexus6 ,没 root ,没装国内软件,没装绿色守护之类的软件,毫无压力,无需折腾
    honeycomb
        28
    honeycomb  
       2017-01-06 10:33:04 +08:00 via Android
    @gongguopei87 看这个架势,去年 Android 说不定是公开了最多 bug 的软件
    whitenight
        29
    whitenight  
       2017-01-06 10:38:50 +08:00
    发现只要不是没有修改过的原厂系统就没法用 OTA 升级
    改成“发现只要修改过的原厂系统就没法用 OTA 升级”
    21grams
        30
    21grams  
       2017-01-06 10:46:02 +08:00 via Android
    第一,用 systemless 的 root
    第二,不要刷 twrp ,保留原生的 recovery
    JamesMackerel
        31
    JamesMackerel  
    OP
       2017-01-06 10:50:10 +08:00 via Android
    @whitenight 双重否定不就是肯定嘛。
    @hei1000 高考语文 89 分,见笑了。

    @Jaspr 谢谢,我去研究一下。

    @wclebb 请问怎么玩?望不吝赐教。

    @honeycomb 这不叫做麻烦,叫做什么呢。人家为了让你点一下重启就能升级到最新版,不知道花费了多少努力……看来最终还是看问题的角度不一样。
    JamesMackerel
        32
    JamesMackerel  
    OP
       2017-01-06 10:51:39 +08:00 via Android
    @honeycomb 就这一个手机,怕变成砖,还是,算了吧。另:windows phone 不算智能手机是吧。(笑)
    Hardrain
        33
    Hardrain  
       2017-01-06 10:52:25 +08:00 via Android
    OTA 的时候 unroot 就好
    解锁了没关系 只要没修改操作系统就能 OTA
    lonelinsky
        34
    lonelinsky  
       2017-01-06 11:02:15 +08:00
    这儿有你想要的一切,不过 ROOT 后 OTA 确实很麻烦

    https://forum.xda-developers.com/nexus-6p/general/guides-how-to-guides-beginners-t3206928
    20015jjw
        35
    20015jjw  
       2017-01-06 11:11:47 +08:00 via Android
    Flashify 貌似就是解决这个问题的
    JamesMackerel
        36
    JamesMackerel  
    OP
       2017-01-06 11:12:26 +08:00 via Android
    @lonelinsky 我搜到了你给我的这个…… 2333333
    msmmbl
        37
    msmmbl  
       2017-01-06 11:29:52 +08:00
    我的 nexus 5x ,用 Nexus Root Toolkit 中的 root ,它会临时启动到第三方 recovery ,并刷入 systemless root 。
    ota 前进入 SuperSU 卸载 root 就好,它会提示是否要恢复改动,选是后就可以正常增量更新了。更新玩后,再用 Nexus Root Toolkit 中的 root 搞一把就好。
    honeycomb
        38
    honeycomb  
       2017-01-06 11:39:53 +08:00 via Android
    @JamesMackerel
    可以理解。

    我用过的亲儿子比较多(大概是 nexus5 就在这么做了)熟悉一些。

    但是一碰到 pixel 那种有两个 slot ,且没 recovery 分区的,第一次上手也紧张的。
    springmarker
        39
    springmarker  
       2017-01-06 11:40:43 +08:00 via Android
    s7 内测 7.0 刚开始的时候,通知栏的 bug 也被修复了,然后各种通知常驻,但是更新了两版之后,这个常驻的"bug"被修复了,不知三星用了什么方法
    honeycomb
        40
    honeycomb  
       2017-01-06 11:41:36 +08:00 via Android
    @msmmbl 是的,因为 fastboot 有一个 boot 命令可以直接载入启动镜像,所以整个安装 supersu 的过程中只有 boot 分区才需要改动
    honeycomb
        41
    honeycomb  
       2017-01-06 11:48:26 +08:00 via Android
    @JamesMackerel

    之所以觉得手动输入一串 fastboot 命令简单,是因为我很清楚这里提到的每一种保留 root 更新系统的方法背后的原理。

    具体用哪一个办法便是无所谓的了,那么最直观的办法=最简单的办法。

    确实少提了一件事:
    我在用自定义的 hosts 文件去广告,所以每次更新完系统总要去改一下 system 分区,如此 flashfire/nexus root toolkit 反倒会增加麻烦。
    yangff
        42
    yangff  
       2017-01-06 11:50:30 +08:00
    用魔改过的 recovery

    别说 root 了,刷了 xposed 照样 OTA
    honeycomb
        43
    honeycomb  
       2017-01-06 11:51:58 +08:00 via Android
    @springmarker
    这个 bug 是直到 7.1 才修复的(改了两个文件,具体在 source.android.com ,可以到 Android police 给的索引上找,非常方便)

    三星可能是在早期的 7.0 测试版中 Cherry pick 了上述补丁,而在最近的测试版里又去掉了它。

    具体可以用 dumpsys 查看国产毒瘤们是否确实做到了不显示通知而使用前台服务,如果做到,则证实了上述判断。
    msmmbl
        44
    msmmbl  
       2017-01-06 12:10:46 +08:00
    @honeycomb 请问大师,安卓系统升级是不是不涉及 userdata 分区的?
    cst4you
        45
    cst4you  
       2017-01-06 12:20:55 +08:00
    主要是 recovery 你改了, 把 recovery 换回去就能继续 OTA
    Jaspr
        46
    Jaspr  
       2017-01-06 12:45:32 +08:00
    @datou 我通常都用 Flashfire 刷整包,刷 OTA 不放心
    honeycomb
        47
    honeycomb  
       2017-01-06 12:48:35 +08:00 via Android
    @msmmbl 是的, OTA 不涉及的。当然你总是可以刻意地删 wipe 掉它。
    jejer
        48
    jejer  
       2017-01-06 13:07:49 +08:00
    用 Island 代替冰箱
    Vicer
        49
    Vicer  
       2017-01-06 13:47:45 +08:00 via Android
    @JamesMackerel 智能定义是啥?
    sunshy
        50
    sunshy  
       2017-01-06 14:04:32 +08:00
    转一个教程供参考
    http://tieba.baidu.com/p/4356345914

    用方法二刷整包无痛更新
    fyl00
        51
    fyl00  
       2017-01-06 14:16:29 +08:00
    @magiclu 梯子用什么?影梭必须 root 才能用啊,我就是一直因为这个才 root
    skylancer
        52
    skylancer  
       2017-01-06 14:28:37 +08:00
    @fyl00 几百年 Android 的 VPN Framework 就支持 Split Exclude ,不知道你还在用哪个版本的 Android
    nyaruko
        53
    nyaruko  
       2017-01-06 17:38:36 +08:00
    下载工厂包,然后把 flash-all.sh 或者 flash-all.bat 里有一句 fastboot update -w 什么的的-w 参数去掉,这样就可以更新系统并且不删除用户数据,然后重刷 twrp 和 supersu 即可
    Numbcoder
        54
    Numbcoder  
       2017-01-06 17:51:02 +08:00
    一直用 iPhone ,最近本来想搞台 Android 玩玩,看到你们的讨论,我还是继续用 iPhone 吧
    addidd
        55
    addidd  
       2017-01-06 17:55:11 +08:00 via Android
    然而 Google 有提供 Full OTA Images
    丢 Recovery 里直接刷就是
    BROWNURSIDAE
        56
    BROWNURSIDAE  
       2017-01-06 18:01:36 +08:00 via Android
    既然你有 twrp 了,直接把完整包的 boot.img system.img 丢进去 twrp 里刷就好了,选择 install image , bootloader 和 radio 刷不刷都没关系
    BROWNURSIDAE
        57
    BROWNURSIDAE  
       2017-01-06 18:03:37 +08:00 via Android   1
    @honeycomb 有 systemless 的 host ,原理就是创建一个 link
    SP00F
        58
    SP00F  
       2017-01-06 18:32:53 +08:00
    Nexus 6P 6.0.1 root 后卡顿严重,电量一般。有冰箱,绿色守护。
    现在 7.1.1 出来以后一直想升级,感觉 root 后个人轻度使用。
    昨晚到官方下了工厂包直接刷回去了,现在升级到 7.1.1 流畅爆表,电量明显提升持久了
    SP00F
        59
    SP00F  
       2017-01-06 18:34:12 +08:00
    对了, Google play 上架了支付宝和 QQ 微信,与官网下载的相比体积缩小不是一点半点,到目前没感觉卡顿等问题。体验非常不错
    JamesMackerel
        60
    JamesMackerel  
    OP
       2017-01-06 19:19:23 +08:00
    @Vicer 嗯,鉴于我是 Windows Phone 一生黑,我就这么说吧:能通过安装第三方的 APP 来扩展功能,这些功能必须包括所有其他大部分手机也能提供的,例如**移动支付**。

    @sunshy 大神,我打开 FlashFire 之后,并没有 Flash 这个选项……他好像没发现我已经下好了 OTA 包。我决定刷回原厂 recovery 试试。

    @Numbcoder 嗯,等下一部手机我也打算换 iPhone 了。
    JamesMackerel
        61
    JamesMackerel  
    OP
       2017-01-06 19:39:38 +08:00
    @SP00F 你用 QQ 的时候,通知栏没有黑色的框吗?
    sunshy
        62
    sunshy  
       2017-01-06 19:39:40 +08:00
    @JamesMackerel flashfire 不支持检测 Android 7 的 OTA 包,建议下整包更新

    整包要按方法二操作,整个过程用手机可以完成
    magiclu
        63
    magiclu  
       2017-01-06 20:07:39 +08:00
    @fyl00 ss 不 root ,我开机第一次能连上,但是之后断开后就连不上了,重启能解决,我还以为是软件有问题,之前 cm 下倒是没问题,我平时都用路由器里的 ss ,实在不行还有 anyconnect
    magiclu
        64
    magiclu  
       2017-01-06 20:11:55 +08:00
    @JamesMackerel Windows Phone 安全性强,可以跑 2 步验证器之类的 app
    JamesMackerel
        65
    JamesMackerel  
    OP
       2017-01-06 20:37:18 +08:00
    @magiclu 嗯,我饿了,叫个外卖给我。还有,我想打个车。另外,我忘了带钱包,这里可以用微信, Windows Phone 给我付一个?这些就算了,不说了,老生常谈了。我最怕的是我再买一个 WP ,然后过了几天他又降价了几百块。过了几个月,发现美亚上面买一送一。过了半年,微软发个公告说我们将要做 Windows 11 了,将会支持所有的设备,又过了半年,说不好意思我们支持不了你的那个型号,你滚粗吧。
    JamesMackerel
        66
    JamesMackerel  
    OP
       2017-01-06 20:38:32 +08:00
    @sunshy 我觉得……算了。我就放他在那里,反正我现在要戒手机了。这手机能给女朋友打个电话,能看微信上的通知,我就满足了。以后买个苹果再玩。
    etby
        67
    etby  
       2017-01-06 20:51:39 +08:00
    我自己用的 eng 的系统, 用的话是有 root 的 shell 的
    ghost444
        68
    ghost444  
       2017-01-06 21:32:18 +08:00 via Android
    @magiclu 要安全还是直接上 BlackBerry 吧……至于两步验证, Google authenticator 或者 Authy 都挺不错的…
    P99LrYZVkZkg
        69
    P99LrYZVkZkg  
       2017-01-06 22:03:19 +08:00
    谁能告诉我 6p 为什么这个月发了 2 个 image ,和每月一更不一样了?
    Lentin
        71
    Lentin  
       2017-01-06 22:20:26 +08:00
    此贴终结
    SP00F
        72
    SP00F  
       2017-01-06 22:30:41 +08:00
    @JamesMackerel 我直接屏蔽了,看得难受……强迫症犯了。
    根本就关不掉, Google play 下的 QQ
    SP00F
        73
    SP00F  
       2017-01-06 22:31:58 +08:00
    @JamesMackerel 黑框有,但是不影响,打开是正常的,只是切换的时候会看到框。我不能忍的是状态栏里的提示正在运行关不掉
    woyaojizhu8
        74
    woyaojizhu8  
       2017-01-06 23:50:08 +08:00
    这样就难受了,楼主还是不要用智能机了
    折腾安卓还是建议不要追新版本,新版本坑太多,下游还没跟进,比如现在 xposed 还不支持 7.1
    magisk 声称可以实现 root 后继续 ota, 但我想它也没能力在一个安卓新版本出来后马上适配吧
    shijingshijing
        75
    shijingshijing  
       2017-01-06 23:53:23 +08:00
    @honeycomb 我觉着你把 android 折腾到了一种境界。。。
    woyaojizhu8
        76
    woyaojizhu8  
       2017-01-06 23:59:02 +08:00
    安全性更新有什么好升的,它不就是用来阻止你 root 的吗?
    jinhan13789991
        77
    jinhan13789991  
       2017-01-07 00:22:16 +08:00 via Android
    目前还是 6.1 。因为新版没有 xposed
    honeycomb
        78
    honeycomb  
       2017-01-07 00:23:49 +08:00
    @woyaojizhu8
    这是什么话

    能解锁 bootloader 的 android 设备从一开始就是把这个机制用来让使用者任意修改手机的
    何须用那些漏洞来获得 root ?
    JamesMackerel
        79
    JamesMackerel  
    OP
       2017-01-07 02:48:52 +08:00 via Android
    @Lentin 然而我试了,他好像还没支持 7 。
    honeycomb
        80
    honeycomb  
       2017-01-07 07:52:51 +08:00 via Android
    @shijingshijing
    可是不这么做的话,(在不使用 iOS 的前提下)怎么对付国产流氓呢
    tairan2006
        81
    tairan2006  
       2017-01-07 08:30:36 +08:00
    没怎么不行的。。就是麻烦点
    wclebb
        82
    wclebb  
       2017-01-07 09:44:30 +08:00
    说出来你可能对我感到失望。
    就是尽可能多的情况下,对系统功能熟悉到极致是否有必要给予不必要的权限,先不给,运行不了再给。
    然后安装楼上都提到的:不 Root 的绿色守护(里面有个功能能锁屏并自动退出应用)。
    接着,即使来自 Google Play 也是没办法的,只要不违反 Google Play 相关规定,就算可以了,即使它相互呼唤唤醒应用也是不管的。所以这样的情况下,我唯一的选项只有:不去安装它。减少可怜不必要的 KPI 。

    不过我已经换 iPhone 一年多了,之前用的是 Nexus 4 手机,用的也是绿色守护不 Root 的生活用了三年,有时时不时突然发热没电了之外,基本上都是正常使用的。现在基本知识点都是停留在 Nexus 4 了。

    同学问我啥手机我随口随机了 Pixel (我以为他会觉得美国海淘什么太难买不想买)。
    结果他看了一下说 OK ,就决定它了,于是我只能苦逼地陪他海淘种种。

    然后教他过程中,绿色守护好像因为某种奇怪的原因工作模式下是无法踢走的。
    好像用电脑连接授权或不知道是啥命令,但我没空所以没到这里了。

    不 Root 的情况下尽可能发挥对手机各种功能和合理化范围去优化。
    也算是另一种的折腾,如果你乐意。(所以我 HTC Hero 到 Nexus One , Nexus S , Nexus 4 都是无 Root )
    因为我觉得,我用的是工具,不是用工具来对工具改造。

    当然,以上只是另外一种的使用方式。
    如果酷爱 Root 的你,大概不适合你。
    Jobin0528
        83
    Jobin0528  
       2017-01-07 09:49:06 +08:00
    借楼问下,哪里有看到关于官方刷机包里各个文件说明。
    如果只想升级不抹掉数据是只用去掉 flash-all.sh 里最后一行的-w 还是得不刷 userdata.img ?
    springz
        84
    springz  
       2017-01-07 12:05:05 +08:00
    @warlue 取消 root 之后也不可以 OTA ,因为 system 已经更改过了
    springz
        85
    springz  
       2017-01-07 12:06:04 +08:00
    可以直接完整包更新,再 root 一下就好了
    woyaojizhu8
        86
    woyaojizhu8  
       2017-03-11 16:37:40 +08:00
    @honeycomb #78 我用的是三星,就我的经验来说,这些安全性更新不止是封堵利用漏洞 root 的行为而已。即使你是解锁 bootloader 之后再通过“正当”的途径修改系统,往往也会被这些“安全措施”恶心到,遇到重重阻碍。我也奇怪为什么能解锁 bootloader 还要设置这么多阻碍。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4257 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 01:00 PVG 09:00 LAX 17:00 JFK 20:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86