mayongze 发表于 2019-2-3 21:58

中兴B860a V1.1 iptv机顶盒adb开启密码算法

<blockquote>func main() {

mayongze 发表于 2019-2-3 22:07

论坛系统太2了,代码都显示不全.
func main() {
        mac := "04:95:73:BE:48:5A"
        rand := "C59396"
        if rand == 'C' {
                rand_len := len(rand)
                mac_b := []byte(mac)
                mac_len := len(mac_b)
                mac_b = rand
                offset := 0
                for i, v := range mac_b {
                        if v == byte(':') {
                                mac_b = byte(rand)
                                offset += 1
                        }
                }
                mac = string(mac_b)
        }
        fmt.Println(getCode(mac, rand))
}

func getCode(mac, rand string) int32 {
        str := fmt.Sprintf("%s%s%s%s%s", "open_ADB", rand, "@", mac, "ZTE_ENCRYPT")
        fmt.Printf("str: %s\n", str)
        h := md5.New()
        h.Write([]byte(str))
        checkSum := strings.ToUpper(hex.EncodeToString(h.Sum(nil)))
        fmt.Printf("checkSum: %s\n", checkSum)
        clen := len(checkSum)
        var result int32 = 0
        for i := 0; i < clen; i++ {
                result = int32(checkSum) + 31*result
        }
        if result < 0 {
                result = -result
        }
        return result
}

mayongze 发表于 2019-2-3 22:08

中兴B860a V1.1 iptv机顶盒adb开启密码算法

    中兴B860a V1.1机顶盒为运营商定制版,阉割了其中的一些功能,由于本质上还是一个Android的盒子,所以还是可以通过远程adb的方式安装第三方应用,但是厂商对adb的开启做了一个密码验证,需要通过mac地址和随机码算出一个密码才可以进行开启。
    之前已有大神给出了老版本5为随机码的计算器软件,但是由于系统更新,最近使用了以C开头的6位随机码,原计算器失效,其实其核心的代码并没有改变,只不过6位随机码的版本对mac地址进行了一些小操作,下面给出了具体算法的相关代码!
    最后喜欢捣鼓机顶盒的可以私信交流!1014057907

xls163 发表于 2019-2-10 12:04

现在D开头的怎么算?

8286669 发表于 2019-2-27 23:54

现在需要D和二维码的。

panfujie 发表于 2019-3-9 21:13

你不给他钱不会告诉你的

biange 发表于 2019-6-15 01:39

ZNDS的教程简直男默女泪啊!

12391465 发表于 2020-9-15 17:29

ZTESTBUSB

jcjarlon 发表于 2021-2-3 22:52

好贴子,不知道有ZTE_STB_Tools注册的算法吗,我现在正研究中

epvincnt 发表于 2021-5-9 12:05

现在需要D和二维码的。
页: [1] 2
查看完整版本: 中兴B860a V1.1 iptv机顶盒adb开启密码算法