免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 谁遥控了我的电视?—中兴机顶盒IPTV安全(6)

谁遥控了我的电视?—中兴机顶盒IPTV安全(6)

时间:2011-12-06 22:20来源:未知 整理:寂涯网络 点击:


$00#$02”命令,程序跳转到loc_405508,代码如下: 

loc_405508:
mov.l off_4055C4, r8 ; printf
mov.w word_4055BC, r6 ; h'530
mov.l off_4055C8, r7 ; aRemotesetcfg ; "RemoteSetCfg"
mov.l off_405604, r4 ; aSDSCheck2 ; "%s[%d]{%s}Check 2\n"
mov.l off_4055D0, r5 ; aRemotestbcfg_c ; "RemoteStbCfg.c"
jsr @r8 ; printf
nop
mov.l off_4055D4, r0 ; sub_40424C
mov.l off_4055D8, r10 ; unk_42B2C0
mov.l off_405608, r11 ; unk_42C258
mov r10, r4
jsr @r0 ; sub_40424C //sub_40D324C 获得 stbcfg配置
mov r11, r5
mov.l off_40560C, r4 ; aVVDKilenD ; "发送自检信息长度为 iLen=%d\n"
mov r0, r9 //自检信息长度
jsr @r8 ; printf  //输出“发送自检信息长度为iLen=”,数值为r5
mov r0, r5
cmp/pl r9 //长度大于0,跳转loc_405534
bt/s loc_405534
mov r10, r4
loc_405576:

mov.l off_405618, r0 ; sub_408554
mov.l off_40561C, r1 ; unk_42C644
mov.l off_4055F0, r5 ; unk_42B2B8
mov.l @r1, r4   //Scoket 套接字描述符
mov.w word_4055BE, r7 ; h'100
jsr @r0 ; sub_408554  //向客户端发送自检信息,长度为r10
mov r10, r6
mov.l off_4055C4, r9 ; printf
mov r0, r8
mov.l off_405620, r4 ; unk_4140A8 

jsr @r9 ; printf
mov r10, r5
cmp/pl r8 

利用此命令,可以远程获取机顶盒的配置参数,需要注意的是:B600V4机顶盒发送未
加密数据,而其它型号如B600V4A、B600V4C、B700V2等发送加密数据。
4、“Coreup command”命令。当客户端提交的命令数据值为“h'1000”,执行“Coreup
command.”代码后,继续接收的客户端提交的数据,长度为命令参数所指定的数值。 

loc_4056DA:
mov.l off_4057D0, r3 ; unk_42B2B8 //客户端提交的8 字节命令。
mov.w word_4057C2, r1 ; h'1000 
mov.w @r3, r2
cmp/eq r1, r2
bf loc_405774 //提交的命令值是否h'1000,是则不跳转,否则跳转。
mov.l off_4057D4, r11 ; printf
mov.l off_40580C, r4 ; aCoreupCommand_ ; "Coreup command.\n"
mov.l off_405804, r13 ; unk_42C644
jsr @r11 ; printf //超级终端输出“Coreup command.”
mov r3, r10  //即unk_42B2B8
mov.l off_405810, r0 ; memset
mov r10, r4
mov.l  @(4,r10), r8 //unk_42B2B的后 4个字节(即命令参数)
mov.w word_4057C4, r6 ; h'1388
jsr @r0 ; memset  //初始化指向 unk_42B2B 的内存空间为“00”,长度为
h’1388
mov #0, r5
mov.l off_405814, r0 ; sub_408670 

mov r8, r6   //命令参数指定接收数据的长度
mov.w word_4057C0, r12 ; h'100
mov r10, r5
mov.l  @r13, r4
jsr @r0 ; sub_408670 //接收数据到指向unk_42B2B 的内存空间,长度为h’1388
mov r12, r7
cmp/pl r0
mov.l  off_405818, r4 ; aReceiveCoreupI ; "Receive Coreup Informatin Failed\n"
bt loc_405712  //接收到数据,即r0>0时,跳转
bra loc_40486A
nop
loc_405712:
…… 

当机顶盒再次接收到数据后,跳转到loc_405712继续执行,调用sub_40443C过程,代码如
下:

sub_40443C:
...
tst r4, r4  //接收到的数据
mov r4, r8
mov #-1, r0
...
bt/s loc_404484
add #-h'C, r15
mov #0, r1
mov r15, r2
mov.l off_404544, r0 ; strncasecmp
add #4, r2
mov.l r1, @(4,r2)
mov r4, r5
mov.l off_404548, r1 ; aCoreup_sh ; "coreup.sh"
mov.l off_40454C, r4 ; aHttp ; "http://"
mov.l r1, @r2
jsr @r0 ; strncasecmp //比较r4和 r5前 7个字符,相同则返回0,忽略大小写  

mov #7, r6
tst r0, r0
mov.l off_404550, r4 ; aUpdateUrlTypeE ; "Update URL Type Error!\n"
bf/s loc_40447C //r0为 0,即接收数据的前7 个字符不为“http://”,则跳转
mov #8, r1
mov.w word_40453C, r9 ; h'FC
add r8, r9
mov.l @(4,r9), r2
cmp/hi r1, r2
bf loc_404488
mov.l  off_404554, r4 ; aUpdateMtdBlock ; "Update MTD Block Number Error!\n"
loc_40447C:
...(略)
bra loc_40452A //退出
nop
loc_404488:
mov.l off_40455C, r0 ; malloc
mov.w word_40453E, r10 ; h'184
jsr @r0 ; malloc //申请新内存空间,长度h'184
mov r10, r4
tst r0, r0 

bf/s loc_4044A4
mov r0, r4

本页地址 http://www.jybase.net/xitonganquan/20111206699.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com