首页
社区
课程
招聘
[原创]某DRM解密流程简单分析
发表于: 2015-1-20 14:39 56463

[原创]某DRM解密流程简单分析

2015-1-20 14:39
56463

环境及工具
手机        :小米手机 MI 2A
系统版本: Android 4.1.1
工具        : IDA pro 6.6 、C32Asm 、VS2005
  帮朋友写了一个解密DRM视频的小软件,我把分析该播放器的调试步骤记录下来与大家一起学习,高手莫要见笑,仅供小菜玩乐,有不对或不足的地方还请多多指教,不胜感激!
一:第一次打开加密视频会出现如下验证:

输入用户名与密码登录成功后如下图

点击“支付并获取许可证”成功后就可以播放加密的视频了,并在安装包目录下生成了两个重要的文件,indiv3.key与V3.lic。
二:加密后视频大致结构如下:

1.        加密视频头中有加密标志,密钥等信息。
2.        32字节检验码是判断视频是否有被篡改。
3.        WMA文件的头16个字节是固定的,为十六进制的“30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C”,用来标识这个是否为WMA文件。
4.        接下来的8个字节为一个整数,表示整个WMA文件头部的大小,(定位到加密数时会用到)。
三:动态调试播放器分析解密流程,分为如下步骤。
通过反编译分析APK包发现主要逻辑是在.so中实现的,所以我们主要是调试分析.so。
第1步:运行播放器,调试器附加上,对如下函数时行下断点:

open_stream
demux_open
av_base64_decode
av_sha_init
av_rc4_init
av_aes_init
libmplayer.so:5EB594C4
libmplayer.so:5EB594C4 loc_5EB594C4                            ; CODE XREF: sub_5EB5922C+93Cj
libmplayer.so:5EB594C4 LDR             LR, =(aHarrydebug6666 - 0x5EB594D8)
libmplayer.so:5EB594C8 MOV             R0, #1
libmplayer.so:5EB594CC MOV             R1, #0
libmplayer.so:5EB594D0 ADD             R2, PC, LR              ; "harrydebug6666.\n"
libmplayer.so:5EB594D4 BL              mp_msg
libmplayer.so:5EB594D8 LDRB            R2, [SP,#0xDF0+var_D10]
libmplayer.so:5EB594DC CMP             R2, #'X'                ; 判断是否有XDRM头标志
libmplayer.so:5EB594E0 BEQ             loc_5EB5995C
libmplayer.so:5EB5995C loc_5EB5995C                            ; CODE XREF: sub_5EB5922C+2B4j
libmplayer.so:5EB5995C LDRB            R0, [SP,#0xDF0+var_D0F]
libmplayer.so:5EB59960 CMP             R0, #'D'
libmplayer.so:5EB59964 BNE             loc_5EB594E4
libmplayer.so:5EB59968 LDRB            R3, [SP,#0xDF0+var_D0E]
libmplayer.so:5EB5996C CMP             R3, #'R'
libmplayer.so:5EB59970 BNE             loc_5EB594E4
libmplayer.so:5EB59974 LDRB            R1, [SP,#0xDF0+var_D0D]
libmplayer.so:5EB59978 CMP             R1, #'M'
libmplayer.so:5EB5997C BNE             loc_5EB594E4

libmplayer.so:5EB5A704 STRB            R6, [R4],#1
libmplayer.so:5EB5A708 BL              av_base64_decode        ; 解码yJ3pPh4RItrcgckEtqjS+Q==

C8 9D E9 3E 1E 11 22 DA  DC 81 C9 04 B6 A8 D2 F9
C8 9D E9 3E 1E 11 22 DA  DC 81 C9 04 B6 A8 D2 F9
65 35 30 65 66 63 65 31  33 36 63 35 34 31 38 38(字符形式e50efce136c54188)
39 34 53 B6 DE B8 AF B9  D7 2B 14 25 85 1C B9 D2
D2 79 B3 B2 28 B7 BA 82  F0 49 07 9E 71 6A 5E BF

libmplayer.so:5EB5ABB0 ADD             R1, PC, R4 ; unk_5F591AD4
libmplayer.so:5EB5ABB4 BL              fopen ;打开/data/data/com.huplayer.neon/files/V3.lic
libmplayer.so:5EB5ABB8 SUBS            R5, R0, #0
libmplayer.so:5EB5ABBC BEQ             loc_5EB5BE04
libmplayer.so:5EB5ABC0 LDR             R4, =(aHarrydebug805_ - 0x5EB5ABD8)
libmplayer.so:5EB5ABC4 MOV             R0, R8
libmplayer.so:5EB5ABC8 BL              free
libmplayer.so:5EB5ABCC MOV             R0, #1
libmplayer.so:5EB5ABD0 ADD             R2, PC, R4              ; "harrydebug805.\n"
libmplayer.so:5EB5ABD4 MOV             R1, R6
libmplayer.so:5EB5ABD8 BL              mp_msg
libmplayer.so:5EB5ABDC MOV             R1, R6
libmplayer.so:5EB5ABE0 MOV             R2, #2
libmplayer.so:5EB5ABE4 MOV             R0, R5
libmplayer.so:5EB5ABE8 BL              fseek
libmplayer.so:5EB5ABEC MOV             R0, R5
libmplayer.so:5EB5ABF0 BL              ftell
libmplayer.so:5EB5ABF4 LDR             R7, =(aHarrydebug807_ - 0x5EB5AC5C)
libmplayer.so:5EB5ABF8 STR             R0, [SP,#0xDF0+var_D20]
libmplayer.so:5EB5ABFC BL              malloc
libmplayer.so:5EB5AC00 LDR             R12, =(aHarrydebug806_ - 0x5EB5AC10)
libmplayer.so:5EB5AC04 MOV             R1, R6
libmplayer.so:5EB5AC08 ADD             R2, PC, R12             ; "harrydebug806.\n"
libmplayer.so:5EB5AC0C STR             R0, [SP,#0xDF0+var_D84]
libmplayer.so:5EB5AC10 MOV             R0, #1
libmplayer.so:5EB5AC14 BL              mp_msg
libmplayer.so:5EB5AC18 MOV             R1, R6
libmplayer.so:5EB5AC1C LDR             R2, [SP,#0xDF0+var_D20]
libmplayer.so:5EB5AC20 LDR             R0, [SP,#0xDF0+var_D84]
libmplayer.so:5EB5AC24 BL              memset_0
libmplayer.so:5EB5AC28 MOV             R0, R5
libmplayer.so:5EB5AC2C MOV             R1, R6
libmplayer.so:5EB5AC30 MOV             R2, R6
libmplayer.so:5EB5AC34 BL              fseek
libmplayer.so:5EB5AC38 MOV             R3, R5
libmplayer.so:5EB5AC3C MOV             R1, #1
libmplayer.so:5EB5AC40 LDR             R2, [SP,#0xDF0+var_D20]
libmplayer.so:5EB5AC44 LDR             R0, [SP,#0xDF0+var_D84]
libmplayer.so:5EB5AC48 BL              fread
libmplayer.so:5EB5AC4C MOV             R0, R5
libmplayer.so:5EB5AC50 BL              fclose
libmplayer.so:5EB5AC54 ADD             R2, PC, R7              ; "harrydebug807.

libmplayer.so:5EB5ACDC ADD             R1, PC, R1 ; unk_5F5AAFA4
libmplayer.so:5EB5ACE0 BL              sprintf
libmplayer.so:5EB5ACE4 MOV             R1, R4
libmplayer.so:5EB5ACE8 LDR             R0, [SP,#0xDF0+var_D84]
libmplayer.so:5EB5ACEC BL              strstr                  ; 查找<KID>yJ3pPh4RItrcgckEtqjS+Q==</KID>
libmplayer.so:5EB5ACF0 LDR             R2, =(aHarrydebug808_ - 0x5EB5AD00)
libmplayer.so:5EB5ACF4 MOV             R1, R6
libmplayer.so:5EB5ACF8 ADD             R2, PC, R2              ; "harrydebug808.\n"
libmplayer.so:5EB5ACFC STR             R0, [SP,#0xDF0+var_D1C]
libmplayer.so:5EB5AD00 MOV             R0, #1
libmplayer.so:5EB5AD04 BL              mp_msg
libmplayer.so:5EB5AD08 MOV             R1, R5
libmplayer.so:5EB5AD0C LDR             R0, [SP,#0xDF0+var_D84]
libmplayer.so:5EB5AD10 BL              strstr                  ; 查找<CID>nZjpa0hCd9vfh5oAt6nf9A==</CID>
libmplayer.so:5EB5AD14 MOV             R7, R0
libmplayer.so:5EB5AD18 MOV             R0, R4
libmplayer.so:5EB5AD1C LDR             R4, =(aHarrydebug809_ - 0x5EB5AD38)
libmplayer.so:5EB5AD20 BL              free
libmplayer.so:5EB5AD24 MOV             R0, R5
libmplayer.so:5EB5AD28 BL              free

2F 6F 52 32 5A 42 56 43  66 78 69 72 74 6F 41 4B  /oR2ZBVCfxirtoAK
30 75 5A 38 78 36 4B 34  76 5A 32 6E 37 47 57 4D  0uZ8x6K4vZ2n7GWM
77 68 70 57 65 75 61 31  31 4B 65 4D 6C 62 62 79  whpWeua11KeMlbby
55 61 50 6A 4C 76 39 7A  5A 35 7A 48 67 35 57 55  UaPjLv9zZ5zHg5WU
59 48 46 46 45 75 4D 78  72 51 79 64 49 74 58 47  YHFFEuMxrQydItXG
33 53 7A 52 73 43 45 6E  62 61 30 79 47 4B 51 48  3SzRsCEnba0yGKQH
4D 71 36 50 6D 6A 36 6E  2B 49 75 56 7A 45 58 63  Mq6Pmj6n+IuVzEXc
45 37 38 76 32 6D 67 7A  71 6D 71 79 59 39 38 75  E78v2mgzqmqyY98u
6C 69 7A 73 73 53 67 51  30 4A 37 74 4C 4A 36 4C  lizssSgQ0J7tLJ6L
6E 53 61 73 54 4F 36 48  62 41 72 6D 69 4A 41 57  nSasTO6HbArmiJAW
6F 79 56 59 43 2F 4C 6C  63 75 6D 68 73 4D 30 2F  oyVYC/LlcumhsM0/
37 4F 48 32 79 2B 41 57  5A 62 66 76 66 45 43 53  7OH2y+AWZbfvfECS
37 62 31 34 6A 4E 36 58  6D 78 56 66 65 68 58 44  7b14jN6XmxVfehXD
68 67 52 6F 77 41 44 43  74 54 46 6B 42 6A 32 51  hgRowADCtTFkBj2Q
67 76 37 71 43 6C 46 7A  6B 34 71 4C 6C 72 77 38  gv7qClFzk4qLlrw8
37 52 46 55 2F 6E 74 30  39 31 79 5A 50 49 78 61  7RFU/nt091yZPIxa
64 64 42 4E 62 2F 6B 4C  69 4B 79 51 5A 2B 50 35  ddBNb/kLiKyQZ+P5
74 77 64 78 64 70 47 46  4C 4C 77 54 73 46 35 59  twdxdpGFLLwTsF5Y
4B 58 63 39 51 73 71 45  35 62 75 52 35 51 39 71  KXc9QsqE5buR5Q9q
69 5A 55 6B 69 68 31 30  34 6B 2B 30 39 33 7A 59  iZUkih104k+093zY
30 32 65 6B 41 77 72 6C  6A 6D 32 64 54 30 38 61  02ekAwrljm2dT08a
43 48 47 54 31 78 35 72  76 34 74 6D 50 4C 77 6D  CHGT1x5rv4tmPLwm
65 4B 38 75 56 43 75 75  6C 72 56 4D 57 45 4E 68  eK8uVCuulrVMWENh
39 75 4F 6F 62 63 75 41  2F 6C 73 67 47 53 48 30  9uOobcuA/lsgGSH0
58 42 78 58 4E 6C 35 72  31 79 52 44 71 79 4E 49  XBxXNl5r1yRDqyNI
38 78 51 37 6C 57 32 6A  79 35 2B 54 5A 32 66 36  8xQ7lW2jy5+TZ2f6
32 52 6E 6B 67 52 43 72  37 41 75 43 78 70 75 63  2RnkgRCr7AuCxpuc
58 75 5A 6D 6C 39 33 74  6A 55 4A 62 4C 76 48 63  XuZml93tjUJbLvHc
35 45 73 78 6B 5A 30 6B  4A 79 2B 6F 5A 69 35 6F  5EsxkZ0kJy+oZi5o
33 2B 53 6D 77 69 38 47  2F 6D 6C 55 6D 51 56 70  3+Smwi8G/mlUmQVp
46 35 76 2F 57 56 71 59  56 47 33 69 76 75 51 4E  F5v/WVqYVG3ivuQN
52 41 71 70 57 4C 63 74  6B 68 53 36 31 54 65 79  RAqpWLctkhS61Tey
42 6C 38 33 50 50 74 62  68 2F 74 33 32 50 5A 73  Bl83PPtbh/t32PZs
54 47 6F 75 35 6A 63 6A  6F 6B 54 2B 43 4A 65 52  TGou5jcjokT+CJeR
50 38 4C 2F 70 51 6A 57  36 46 42 44 31 6B 33 6E  P8L/pQjW6FBD1k3n
56 39 43 38 45 36 53 4E  43 33 38 6D 45 4D 65 4E  V9C8E6SNC38mEMeN
41 4A 52 55 72 4B 4F 5A  53 77 63 38 77 45 6A 38  AJRUrKOZSwc8wEj8
56 48 4A 44 46 66 47 54  57 48 48 54 6F 2F 47 41  VHJDFfGTWHHTo/GA
5A 68 73 76 35 2F 31 42  71 51 36 51 7A 68 4C 79  Zhsv5/1BqQ6QzhLy
6B 56 72 68 33 76 54 37  4F 45 59 36 30 47 4B 75  kVrh3vT7OEY60GKu
54 41 64 71 6A 38 71 49  75 62 72 39 4A 4E 35 71  TAdqj8qIubr9JN5q
64 4E 73 34 4E 37 44 67  41 34 66 39 4C 49 55 4E  dNs4N7DgA4f9LIUN
6E 54 36 74 59 66 37 71  44 69 41 7A 36 66 53 45  nT6tYf7qDiAz6fSE
50 74 65 44 62 78 35 75  34 50 72 66 66 63 67 75  PteDbx5u4Prffcgu
71 68 72 4C 4D 4F 4C 4D  61 6F 76 56 63 65 7A 48  qhrLMOLMaovVcezH
67 32 4F 73 30 67 6C 61  55 37 53 44 77 37 48 69  g2Os0glaU7SDw7Hi
66 73 6E 46 44 74 48 52  6B 2B 44 46 2B 6E 79 6F  fsnFDtHRk+DF+nyo
54 6A 43 51 51 2B 4E 74  43 2B 6F 56 36 36 49 5A  TjCQQ+NtC+oV66IZ
43 4B 72 42 39 7A 6F 35  37 54 73 6D 37 4C 4A 41  CKrB9zo57Tsm7LJA
4B 38 56 75 63 4B 7A 36  31 35 6E 4C 79 36 6B 5A  K8VucKz615nLy6kZ
6D 65 69 4E 64 42 4F 37  4F 52 50 66 56 33 70 58  meiNdBO7ORPfV3pX
4A 6F 4E 39 47 73 69 50  72 54 36 67 4F 30 6E 6C  JoN9GsiPrT6gO0nl
50 56 35 70 63 59 39 55  33 62 6A 63 39 64 79 75  PV5pcY9U3bjc9dyu
53 37 4E 7A 58 31 48 42  38 38 38 42 37 53 55 36  S7NzX1HB888B7SU6
38 70 56 47 36 6B 45 34  37 41 2B 53 79 65 46 64  8pVG6kE47A+SyeFd
4E 38 30 4C 33 31 38 6E  55 71 41 4A 6F 77 47 44  N80L318nUqAJowGD
4C 4A 46 6A 5A 6F 51 41  77 39 6C 31 53 45 2B 57  LJFjZoQAw9l1SE+W
75 6F 37 5A 4A 6E 50 30  4A 54 4C 6D 2B 68 75 51  uo7ZJnP0JTLm+huQ
4D 4B 59 4C 63 6F 56 56  6B 32 41 47 39 2F 4E 5A  MKYLcoVVk2AG9/NZ
51 4C 42 48 54 57 6F 63  55 79 41 32 67 45 43 73  QLBHTWocUyA2gECs
38 30 63 6E 62 38 34 30  38 41 53 34 56 4E 57 4A  80cnb8408AS4VNWJ
6C 6D 34 79 68 31 62 72  4A 34 35 62 37 64 53 4E  lm4yh1brJ45b7dSN
51 42 33 2F 68 67 48 45  47 64 43 71 71 6A 30 4A  QB3/hgHEGdCqqj0J
58 6B 48 67 64 7A 63 72  6B 39 4F 77 6C 44 58 53  XkHgdzcrk9OwlDXS
70 31 38 35 64 68 75 79  50 68 44 7A 61 6F 63 4B  p185dhuyPhDzaocK
41 5A 4C 72 75 6C 62 34  36 74 69 51 32 49 69 36  AZLrulb46tiQ2Ii6
53 33 70 32 6E 50 39 55  59 52 37 53 34 76 6E 36  S3p2nP9UYR7S4vn6
57 5A 2F 7A 36 71 6E 55  41 53 34 30 45 66 33 67  WZ/z6qnUAS40Ef3g
4F 56 61 44 77 43 5A 64  57 43 32 36 36 4B 33 33  OVaDwCZdWC266K33
2F 6E 6C 65 73 35 58 72  42 49 7A 34 4D 34 55 71  /nles5XrBIz4M4Uq
6A 6C 6D 48 38 57 48 31  47 47 70 64 72 31 7A 70  jlmH8WH1GGpdr1zp
39 41 30 55 64 49 66 44  58 4A 55 52 4C 67 65 32  9A0UdIfDXJURLge2
6D 33 66 2B 52 43 52 76  37 42 6F 68 4A 6C 77 2F  m3f+RCRv7BohJlw/
31 69 61 59 61 6E 73 48  47 7A 41 4F 6C 54 34 76  1iaYansHGzAOlT4v
33 62 70 4D 39 51 47 79  55 46 5A 63 68 39 64 78  3bpM9QGyUFZch9dx
34 52 32 6E 65 38 57 54  43 6E 79 49 77 58 78 2F  4R2ne8WTCnyIwXx/
74 4B 46 41 45 5A 66 57  39 61 79 78 6B 61 66 58  tKFAEZfW9ayxkafX
52 64 4B 50 7A 74 6A 63  78 64 2B 6A 51 34 38 6C  RdKPztjcxd+jQ48l
45 75 48 38 4E 68 46 6A  7A 39 59 79 34 38 5A 66  EuH8NhFjz9Yy48Zf
77 53 45 6C 53 36 70 4E  51 5A 30 4E 31 35 50 45  wSElS6pNQZ0N15PE
68 33 53 72 55 55 63 44  35 39 6A 77 52 75 4C 4F  h3SrUUcD59jwRuLO
35 6E 4B 6F 6B 72 54 38  48 2B 61 53 4F 71 56 6D  5nKokrT8H+aSOqVm
39 47 2B 6C 5A 67 4E 7A  73 65 2F 30 75 4F 4C 42  9G+lZgNzse/0uOLB
74 4F 59 37 61 30 35 5A  69 4F 70 59 65 4D 55 47  tOY7a05ZiOpYeMUG
66 64 64 79 66 73 47 65  47 4C 63 6E 59 79 64 34  fddyfsGeGLcnYyd4
34 69 77 65 78 5A 69 50  63 43 72 34 2B 68 2B 36  4iwexZiPcCr4+h+6
32 6E 74 36 54 7A 58 73  61 35 62 67 34 2B 6D 71  2nt6TzXsa5bg4+mq
2F 62 54 64 55 72 72 33  37 74 6F 79 6E 41 68 78  /bTdUrr37toynAhx
44 48 35 64 44 47 63 5A  33 6E 47 6E 50 4A 68 63  DH5dDGcZ3nGnPJhc
4E 46 58 4F 67 61 46 4B  54 43 72 65 68 37 78 30  NFXOgaFKTCreh7x0
43 32 4F 62 6A 2B 43 32  53 33 52 73 47 68 55 67  C2Obj+C2S3RsGhUg
48 6A 64 4E 33 7A 4D 44  4B 63 68 50 62 36 6F 49  HjdN3zMDKchPb6oI
57 6C 38 47 58 44 2B 71  6B 39 6D 62 6C 58 33 43  Wl8GXD+qk9mblX3C
30 6C 59 38 7A 50 54 6E  66 4E 4A 54 5A 4B 52 75  0lY8zPTnfNJTZKRu
74 70 47 57 7A 79 48 50  73 68 2F 37 6D 63 4E 44  tpGWzyHPsh/7mcND
55 53 74 45 4D 4A 6F 58  2F 52 66 75 58 5A 63 75  UStEMJoX/RfuXZcu
36 65 5A 65 57 4A 71 70  2F 32 4A 6F 33 4A 6F 79  6eZeWJqp/2Jo3Joy
79 6B 66 47 39 4E 42 75  77 50 42 68 36 66 4D 72  ykfG9NBuwPBh6fMr
31 43 30 79 58 30 59 34  50 6B 47 43 30 50 72 72  1C0yX0Y4PkGC0Prr
78 2B 66 30 63 4F 42 41  58 67 61 72 34 2B 76 51  x+f0cOBAXgar4+vQ
5A 5A 2B 75 52 65 39 75  66 73 37 43 4A 5A 72 36  ZZ+uRe9ufs7CJZr6
6F 6E 4D 50 43 57 57 62  5A 47 78 35 78 42 53 47  onMPCWWbZGx5xBSG
76 73 51 4F 65 55 52 6F  75 4C 6B 78 30 57 4F 55  vsQOeURouLkx0WOU
4B 7A 62 47 64 32 65 72  74 61 37 79 4B 4A 6E 6D  KzbGd2erta7yKJnm
6F 33 54 77 4B 57 6B 58  41 4C 52 6D 78 70 46 78  o3TwKWkXALRmxpFx
73 6A 76 76 65 47 6F 32  36 37 59 2F 61 47 4C 44  sjvveGo267Y/aGLD
35 38 4D 6F 63 5A 2B 42  4A 50 78 75 34 6C 56 36  58MocZ+BJPxu4lV6
71 4A 6F 5A 59 65 78 5A  51 50 34 51 2B 6B 2B 51  qJoZYexZQP4Q+k+Q
4B 77 68 67 58 36 47 42  6D 51 38 78 62 33 58 63  KwhgX6GBmQ8xb3Xc
65 61 53 70 38 50 42 4A  32 6A 6C 2F 35 4E 63 46  eaSp8PBJ2jl/5NcF
36 39 4E 6E 43 66 58 6C  37 57 66 54 78 45 5A 6F  69NnCfXl7WfTxEZo
78 78 52 39 61 76 64 52  75 50 44 56 6F 68 61 49  xxR9avdRuPDVohaI
62 30 67 58 67 2F 4E 52  38 6D 66 35 61 6D 71 4B  b0gXg/NR8mf5amqK
52 46 43 53 63 74 54 42  33 4C 54 56 6C 75 7A 36  RFCSctTB3LTVluz6
57 70 53 4F 73 51 35 77  30 72 45 47 32 37 39 50  WpSOsQ5w0rEG279P
62 45 62 4E 41 7A 4D 49  33 63 4A 62 58 69 65 76  bEbNAzMI3cJbXiev
2B 44 68 6E 2B 58 63 6D  77 69 38 4F 36 4E 68 37  +Dhn+Xcmwi8O6Nh7
72 2B 7A 6D 39 34 53 35  4A 4A 74 47 78 47 6A 6C  r+zm94S5JJtGxGjl
2B 30 69 7A 53 5A 54 57  43 71 72 46 6E 70 47 66  +0izSZTWCqrFnpGf
55 50 4F 45 4B 65 31 59  58 46 34 2F 70 65 62 54  UPOEKe1YXF4/pebT
35 66 37 6A 36 6E 46 6D  4A 56 51 77 55 53 70 77  5f7j6nFmJVQwUSpw
35 57 36 4A 64 2F 6E 71  65 73 48 46 6C 4F 31 6D  5W6Jd/nqesHFlO1m
61 49 70 37 74 55 37 51  46 74 59 47 2B 56 6C 6D  aIp7tU7QFtYG+Vlm
4F 79 54 5A 7A 4B 47 76  58 78 74 62 4F 50 2F 4E  OyTZzKGvXxtbOP/N
43 6E 6D 47 6E 6D 51 56  35 34 4F 32 70 37 69 78  CnmGnmQV54O2p7ix
72 42 2B 59 6C 2F 73 62  4E 36 32 6B 7A 68 5A 6C  rB+Yl/sbN62kzhZl
39 53 30 4D 63 33 42 4B  51 6F 51 38 36 37 46 71  9S0Mc3BKQoQ867Fq
42 51 71 74 6C 51 62 53  6C 52 45 5A 46 70 43 72  BQqtlQbSlREZFpCr
6B 6D 6A 49 61 68 53 4F  6F 48 70 75 36 70 49 6F  kmjIahSOoHpu6pIo
77 6D 4A 4C 43 4B 44 4B  62 51 66 65 71 6A 54 59  wmJLCKDKbQfeqjTY
6B 52 78 2F 6E 71 4D 62  6E 2F 58 61 64 42 50 43  kRx/nqMbn/XadBPC
4D 6D 72 6C 38 6F 33 35  38 4F 4E 75 7A 56 2B 47  Mmrl8o358ONuzV+G
43 47 58 37 50 34 31 47  45 31 6B 73 2B 48 32 6D  CGX7P41GE1ks+H2m
73 34 41 6C 71 78 54 39  45 6E 76 43 79 2B 6A 50  s4AlqxT9EnvCy+jP
32 7A 58 6D 44 46 71 76  42 36 39 74 42 75 74 32  2zXmDFqvB69tBut2
57 46 44 6A 61 39 59 63  79 58 49 4D 49 38 4F 64  WFDja9YcyXIMI8Od
77 4F 56 33 4D 30 74 76  73 30 2F 35 77 68 35 78  wOV3M0tvs0/5wh5x
64 67 55 75 4A 78 4E 76  74 7A 7A 35 6A 38 46 64  dgUuJxNvtzz5j8Fd
6D 4C 6D 37 41 53 54 75  48 69 52 49 41 47 68 36  mLm7ASTuHiRIAGh6
36 7A 4C 46 47 41 76 69  5A 48 53 4F 79 52 58 64  6zLFGAviZHSOyRXd
62 68 6A 47 4E 35 65 49  4D 36 6E 62 71 6D 72 38  bhjGN5eIM6nbqmr8
56 4E 32 37 61 33 58 49  61 2B 43 7A 32 59 48 35  VN27a3XIa+Cz2YH5
5A 6F 67 36 78 69 43 61  74 4C 4D 63 6B 30 68 68  Zog6xiCatLMck0hh
75 73 41 6C 4F 66 6B 30  46 54 69 64 48 69 37 4B  usAlOfk0FTidHi7K
51 75 51 50 41 74 4B 55  46 4B 63 4A 2B 30 38 70  QuQPAtKUFKcJ+08p
36 64 6F 7A 41 72 69 38  54 4F 6F 76 78 30 34 53  6dozAri8TOovx04S
2F 36 69 50 63 4F 72 48  53 68 58 6A 77 67 5A 32  /6iPcOrHShXjwgZ2
69 55 50 5A 4A 30 47 7A  32 45 7A 57 78 39 43 51  iUPZJ0Gz2EzWx9CQ
7A 4B 46 6A 4E 46 46 4F  33 6A 35 36 6C 4D 6E 7A  zKFjNFFO3j56lMnz
42 59 6F 67 73 4E 61 4E  64 69 51 4C 6B 57 74 44  BYogsNaNdiQLkWtD
44 4D 35 73 6B 6F 78 57  4A 53 6B 3D 00 00 00 00  DM5skoxWJSk=

libmplayer.so:5EB5AE54 BL              av_base64_decode
FE 84 76 64 15 42 7F 18  AB B6 80 0A D2 E6 7C C7
A2 B8 BD 9D A7 EC 65 8C  C2 1A 56 7A E6 B5 D4 A7
8C 95 B6 F2 51 A3 E3 2E  FF 73 67 9C C7 83 95 94
60 71 45 12 E3 31 AD 0C  9D 22 D5 C6 DD 2C D1 B0
21 27 6D AD 32 18 A4 07  32 AE 8F 9A 3E A7 F8 8B
95 CC 45 DC 13 BF 2F DA  68 33 AA 6A B2 63 DF 2E
96 2C EC B1 28 10 D0 9E  ED 2C 9E 8B 9D 26 AC 4C
EE 87 6C 0A E6 88 90 16  A3 25 58 0B F2 E5 72 E9
A1 B0 CD 3F EC E1 F6 CB  E0 16 65 B7 EF 7C 40 92
ED BD 78 8C DE 97 9B 15  5F 7A 15 C3 86 04 68 C0
00 C2 B5 31 64 06 3D 90  82 FE EA 0A 51 73 93 8A
8B 96 BC 3C ED 11 54 FE  7B 74 F7 5C 99 3C 8C 5A
75 D0 4D 6F F9 0B 88 AC  90 67 E3 F9 B7 07 71 76
91 85 2C BC 13 B0 5E 58  29 77 3D 42 CA 84 E5 BB
91 E5 0F 6A 89 95 24 8A  1D 74 E2 4F B4 F7 7C D8
D3 67 A4 03 0A E5 8E 6D  9D 4F 4F 1A 08 71 93 D7
1E 6B BF 8B 66 3C BC 26  78 AF 2E 54 2B AE 96 B5
4C 58 43 61 F6 E3 A8 6D  CB 80 FE 5B 20 19 21 F4
5C 1C 57 36 5E 6B D7 24  43 AB 23 48 F3 14 3B 95
6D A3 CB 9F 93 67 67 FA  D9 19 E4 81 10 AB EC 0B
82 C6 9B 9C 5E E6 66 97  DD ED 8D 42 5B 2E F1 DC
E4 4B 31 91 9D 24 27 2F  A8 66 2E 68 DF E4 A6 C2
2F 06 FE 69 54 99 05 69  17 9B FF 59 5A 98 54 6D
E2 BE E4 0D 44 0A A9 58  B7 2D 92 14 BA D5 37 B2
06 5F 37 3C FB 5B 87 FB  77 D8 F6 6C 4C 6A 2E E6
37 23 A2 44 FE 08 97 91  3F C2 FF A5 08 D6 E8 50
43 D6 4D E7 57 D0 BC 13  A4 8D 0B 7F 26 10 C7 8D
00 94 54 AC A3 99 4B 07  3C C0 48 FC 54 72 43 15
F1 93 58 71 D3 A3 F1 80  66 1B 2F E7 FD 41 A9 0E
90 CE 12 F2 91 5A E1 DE  F4 FB 38 46 3A D0 62 AE
4C 07 6A 8F CA 88 B9 BA  FD 24 DE 6A 74 DB 38 37
B0 E0 03 87 FD 2C 85 0D  9D 3E AD 61 FE EA 0E 20
33 E9 F4 84 3E D7 83 6F  1E 6E E0 FA DF 7D C8 2E
AA 1A CB 30 E2 CC 6A 8B  D5 71 EC C7 83 63 AC D2
09 5A 53 B4 83 C3 B1 E2  7E C9 C5 0E D1 D1 93 E0
C5 FA 7C A8 4E 30 90 43  E3 6D 0B EA 15 EB A2 19
08 AA C1 F7 3A 39 ED 3B  26 EC B2 40 2B C5 6E 70
AC FA D7 99 CB CB A9 19  99 E8 8D 74 13 BB 39 13
DF 57 7A 57 26 83 7D 1A  C8 8F AD 3E A0 3B 49 E5
3D 5E 69 71 8F 54 DD B8  DC F5 DC AE 4B B3 73 5F
51 C1 F3 CF 01 ED 25 3A  F2 95 46 EA 41 38 EC 0F
92 C9 E1 5D 37 CD 0B DF  5F 27 52 A0 09 A3 01 83
2C 91 63 66 84 00 C3 D9  75 48 4F 96 BA 8E D9 26
73 F4 25 32 E6 FA 1B 90  30 A6 0B 72 85 55 93 60
06 F7 F3 59 40 B0 47 4D  6A 1C 53 20 36 80 40 AC
F3 47 27 6F CE 34 F0 04  B8 54 D5 89 96 6E 32 87
56 EB 27 8E 5B ED D4 8D  40 1D FF 86 01 C4 19 D0
AA AA 3D 09 5E 41 E0 77  37 2B 93 D3 B0 94 35 D2
A7 5F 39 76 1B B2 3E 10  F3 6A 87 0A 01 92 EB BA
56 F8 EA D8 90 D8 88 BA  4B 7A 76 9C FF 54 61 1E
D2 E2 F9 FA 59 9F F3 EA  A9 D4 01 2E 34 11 FD E0
39 56 83 C0 26 5D 58 2D  BA E8 AD F7 FE 79 5E B3
95 EB 04 8C F8 33 85 2A  8E 59 87 F1 61 F5 18 6A
5D AF 5C E9 F4 0D 14 74  87 C3 5C 95 11 2E 07 B6
9B 77 FE 44 24 6F EC 1A  21 26 5C 3F D6 26 98 6A
7B 07 1B 30 0E 95 3E 2F  DD BA 4C F5 01 B2 50 56
5C 87 D7 71 E1 1D A7 7B  C5 93 0A 7C 88 C1 7C 7F
B4 A1 40 11 97 D6 F5 AC  B1 91 A7 D7 45 D2 8F CE
D8 DC C5 DF A3 43 8F 25  12 E1 FC 36 11 63 CF D6
32 E3 C6 5F C1 21 25 4B  AA 4D 41 9D 0D D7 93 C4
87 74 AB 51 47 03 E7 D8  F0 46 E2 CE E6 72 A8 92
B4 FC 1F E6 92 3A A5 66  F4 6F A5 66 03 73 B1 EF
F4 B8 E2 C1 B4 E6 3B 6B  4E 59 88 EA 58 78 C5 06
7D D7 72 7E C1 9E 18 B7  27 63 27 78 E2 2C 1E C5
98 8F 70 2A F8 FA 1F BA  DA 7B 7A 4F 35 EC 6B 96
E0 E3 E9 AA FD B4 DD 52  BA F7 EE DA 32 9C 08 71
0C 7E 5D 0C 67 19 DE 71  A7 3C 98 5C 34 55 CE 81
A1 4A 4C 2A DE 87 BC 74  0B 63 9B 8F E0 B6 4B 74
6C 1A 15 20 1E 37 4D DF  33 03 29 C8 4F 6F AA 08
5A 5F 06 5C 3F AA 93 D9  9B 95 7D C2 D2 56 3C CC
F4 E7 7C D2 53 64 A4 6E  B6 91 96 CF 21 CF B2 1F
FB 99 C3 43 51 2B 44 30  9A 17 FD 17 EE 5D 97 2E
E9 E6 5E 58 9A A9 FF 62  68 DC 9A 32 CA 47 C6 F4
D0 6E C0 F0 61 E9 F3 2B  D4 2D 32 5F 46 38 3E 41
82 D0 FA EB C7 E7 F4 70  E0 40 5E 06 AB E3 EB D0
65 9F AE 45 EF 6E 7E CE  C2 25 9A FA A2 73 0F 09
65 9B 64 6C 79 C4 14 86  BE C4 0E 79 44 68 B8 B9
31 D1 63 94 2B 36 C6 77  67 AB B5 AE F2 28 99 E6

D0 CA B2 55 C4 DA CC DA  00 2C 20 F2 7C 55 02 FF
BD 15 AF 45 A9 81 DD A3  2C F8 3D 85 9E BB D7 27
libmplayer.so:5EB5AF28 BL              fopen                   ; /data/data/com.huplayer.neon/files/indiv3.key
libmplayer.so:5EB5AF2C SUBS            R6, R0, #0
libmplayer.so:5EB5AF30 BEQ             loc_5EB5B860
libmplayer.so:5EB5AF34 MOV             R0, R7
libmplayer.so:5EB5AF38 MOV             R7, #1
libmplayer.so:5EB5AF3C BL              free
libmplayer.so:5EB5AF40 MOV             R1, R5
libmplayer.so:5EB5AF44 MOV             R2, #2
libmplayer.so:5EB5AF48 MOV             R0, R6
libmplayer.so:5EB5AF4C BL              fseek
libmplayer.so:5EB5AF50 MOV             R0, R6
libmplayer.so:5EB5AF54 BL              ftell
libmplayer.so:5EB5AF58 MOV             R10, #0x8000
libmplayer.so:5EB5AF5C MOV             R11, #0xB1DE
libmplayer.so:5EB5AF60 MOVT            R10, #0xD53E
libmplayer.so:5EB5AF64 MOVT            R11, #0x19D
libmplayer.so:5EB5AF68 MOV             R4, R0
libmplayer.so:5EB5AF6C BL              malloc
libmplayer.so:5EB5AF70 MOV             R1, R5
libmplayer.so:5EB5AF74 MOV             R2, R5
libmplayer.so:5EB5AF78 STR             R0, [SP,#0xDF0+var_DA4]
libmplayer.so:5EB5AF7C MOV             R0, R6
libmplayer.so:5EB5AF80 BL              fseek
libmplayer.so:5EB5AF84 MOV             R3, R6
libmplayer.so:5EB5AF88 MOV             R2, R4
libmplayer.so:5EB5AF8C MOV             R1, R7
libmplayer.so:5EB5AF90 LDR             R0, [SP,#0xDF0+var_DA4]
libmplayer.so:5EB5AF94 STRD            R10, [SP,#0xDF0+var_D80]
libmplayer.so:5EB5AF98 BL              fread
libmplayer.so:5EB5AF9C MOV             R0, R6
libmplayer.so:5EB5AFA0 ADD             R10, SP, #0xDF0+var_C68
libmplayer.so:5EB5AFA4 BL              fclose


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 9
支持
分享
最新回复 (28)
雪    币: 222
活跃值: (1905)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
膜拜加密视频提取牛~V5。
2015-1-20 14:51
0
雪    币: 10885
活跃值: (3288)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
3
感谢楼主分享!
2015-1-20 15:17
0
雪    币: 218
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常给力的分析解密,终于看到这个网络验证的加密也搞掉了,谢谢。
2015-1-20 15:23
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
貌似是WMDRM
2015-1-20 15:26
0
雪    币: 178
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
先顶后看
2015-1-20 15:42
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主厉害,该帖貌似要火。
2015-1-20 15:59
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
仔细看,应该不是WMDRM。
加解密算法上,看上去确实很像WMDRM,但是架构和流程还是很不一样。
WMDRM的license被设备收到后,会存储于hds数据库,不会作为文件单独存储,更不可能还会有一个key文件。
WMDRM的内容密钥仅存储于license,是使用设备证书中的公钥用ECES加密的,设备证书及其匹配私钥是由微软签发。
使用内容密钥解密内容的流程也大不一样。内容的每一个payload都是用不同的rc4密钥,每个rc4密钥都是使用内容密钥做种子,综合使用sha1/aes等算法生成。

用DRM保护流媒体确实是没法做到安全。
2015-1-20 16:24
0
雪    币: 114
活跃值: (180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢分享
2015-1-20 18:03
0
雪    币: 341
活跃值: (138)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10
牛叉。。。。
2015-1-20 18:42
0
雪    币: 250
活跃值: (251)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
三哥威武啊!
2015-1-20 19:11
0
雪    币: 370
活跃值: (1180)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
12
前排支持楼主!
2015-1-20 19:32
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢,每次都是新的元素,
2015-1-20 20:31
0
雪    币: 1763
活跃值: (605)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错不错,学习了。。。
2015-1-21 10:04
0
雪    币: 55
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
三哥呀,在吾爱看到你的申请ID贴
2015-1-21 11:46
0
雪    币: 3901
活跃值: (6150)
能力值: ( LV13,RANK:550 )
在线值:
发帖
回帖
粉丝
16
多谢各位支持与鼓励。
2015-1-21 18:40
0
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
17
前排支持三爷!
2015-1-22 13:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
经典,测试不错

可以用于提取加密视频,前提是需要有密钥
2015-5-11 10:42
0
雪    币: 18
活跃值: (85)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
请教楼主用什么工具解密rc4和aes呢?我13、14步的rc4和aes解密都是乱码,另外这两个解码的密钥和密文都是用十六进制的代码吗?
2015-5-14 14:13
0
雪    币: 21
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
您好,感谢和膜拜先~
门外汉求教,要提取huplayer才能播放的mp4视频,已有key和lic,用您提供的程序提示:获取wma文件头出错。请问把您写的程序中getwmahead等命令改成getmp4head等能行吗?不然怎么提
(发现每个mp4视频32字节检验码后面的16个字节头部和8字节头部大小都一样)
2015-6-25 22:13
0
雪    币: 10
活跃值: (109)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
除了膜拜还是膜拜啊!!!!!!!!!!!
2015-9-9 10:54
0
雪    币: 90
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
这个要好好读读,膜拜~~~~~~~
2015-10-1 23:54
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
貌似这种方法不具有通用性啊,我用楼主的方法就是破解不了
2016-7-4 13:42
0
雪    币: 106
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
感谢楼主分享!
2017-5-25 14:21
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
有几点疑惑:
1.userload的android一般是没有权限运行调试器的,楼主是如何做到的?
2.这种纯sw的drm保护是最低等级的,严格的drm保护是会结合ARM的trustzone实作drm部分和SVP(secure  video  path),除非找到漏洞,不然是没办法破解的
2017-6-3 10:37
0
游客
登录 | 注册 方可回帖
返回
//