联通IPTV ZTEB860AV1.2 ADB密码计算


title: 联通IPTV ZTEB860AV1.2 ADB密码计算
date: 2017-11-17 09:37:31
tags: [iptv,adb,破解]


需求

办理的联通宽带,增送iptv,可惜一直没有电视。丈母娘家的小旅馆歇业了,趁个周末就去搬了台电视回来。当时正值S赛期间,iptv盒子不能装直播软件看比赛,确实不爽。

方案

上网研究了半天,发现这款盒子可以通过打开远程ADB的方式远程安装app。不过开启远程ADB却需要密码。

原由

论坛上有个“三无”APP,安装后输入随机数和mac地址可以计算出密码。出于对“三无”APP缺失安全感,也是因为好奇,决定逆向看看这个密码是怎么算出来的。

开动吧

apk改后缀名zip,提取so扔进ida。

int __fastcall getHashcode(char *a1, char *a2)
{
  char *v2; // r6@1
  char *v3; // r5@1
  int v4; // r2@1
  int v5; // r3@1
  int v6; // r0@1
  int result; // r0@1
  char s; // [sp+1Ch] [bp-114h]@1
  char v9; // [sp+9Ch] [bp-94h]@1
  int v10; // [sp+11Ch] [bp-14h]@1

  v2 = a1;
  v3 = a2;
  v10 = _stack_chk_guard;
  printf("rand =%s\n", a1);
  printf("mac =%s\n", v3);
  memset(&s, 0, 0x80u);
  memset(&v9, 0, 0x80u);
  _sprintf_chk(&s, 0, 128, "%s%s%s%s%s", "open_ADB", v2, "@", v3, "ZTE_ENCRYPT");
  printf("MD5 %s\n", &s);
  md5_string(&s, (int)&v9, v4, v5);
  printf("chashnum %s\n", &v9);
  v6 = hashcode(&v9);
  printf("%d\n", v6);
  result = hashcode(&v9);
  if ( v10 != _stack_chk_guard )
    _stack_chk_fail(result);
  return result;
}

int __fastcall hashcode(const char *a1)
{
  const char *v1; // r6@1
  int v2; // r0@1
  int v3; // r2@2
  signed int v4; // r12@2
  int v5; // r1@3
  int result; // r0@6
  char s[1024]; // [sp+4h] [bp-414h]@1
  int v8; // [sp+404h] [bp-14h]@1

  v1 = a1;
  v8 = _stack_chk_guard;
  memset(s, 0, 0x400u);
  _strcpy_chk(s, v1, 1024);
  v2 = _strlen_chk(s, 1024);
  if ( v2 )
  {
    v3 = 0;
    v4 = 0;
    do
    {
      v5 = (unsigned __int8)s[v3++];
      v4 = v5 + 31 * v4;
    }
    while ( v3 != v2 );
  }
  else
  {
    v4 = 0;
  }
  result = (v4 ^ (v4 >> 31)) - (v4 >> 31);
  if ( v8 != _stack_chk_guard )
    _stack_chk_fail(result);
  return result;
}

getHashcode函数参数,a1是随机数,a2是mac地址。

text = "open_ADB", v2, "@", v3, "ZTE_ENCRYPT"
hash =md5(text)
pass = hashcode(hash)

hashcode就是计算一个校验值。

后续

等有时间了,把hashcode的计算改成python仍在web上,做个在线计算。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容