对天敏电视精灵I老版播放器的修改和分析

原来的台式机上用的是天敏电视精灵I电视卡看电视的. 后来用了其 UT800 的播放程序, 觉得有些快捷功能操作还是可以的, 但 TVBABYI 的老版播放程序并没有提供, 而新版的播放器又将暂停功能 (暂停画面, 声音还在, 而且 cpu 占用率降为 0) 给取消了, 播放窗口也有些累赘. 所以还是对老版的播放程序做些简单的修改. 由于其原来程序结构的限制, 只能有 3 个键可以使用, 即 "+-*", 都是数字小键盘上的. 所以, 将它们分别赋给 "画面暂停", "返回刚才的频道" 和 "最顶端显示" 等三个功能.
下面是些相关的简单的代码分析和修改:

VideoPlayer.exe, 10Moons TV Baby 8.7, 258048 Bytes

0041F9C3  |. 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
0041F9C6  |. 8B42 08        MOV EAX,DWORD PTR DS:[EDX+8]
0041F9C9  |. 8945 E4        MOV DWORD PTR SS:[EBP-1C],EAX
0041F9CC  |. 8B4D E4        MOV ECX,DWORD PTR SS:[EBP-1C]
0041F9CF  |. 83E9 60        SUB ECX,60    ; 数字小键盘 '0' 开始
0041F9D2  |. 894D E4        MOV DWORD PTR SS:[EBP-1C],ECX
0041F9D5  |. 837D E4 0E     CMP DWORD PTR SS:[EBP-1C],0E ; '0'-'9', '*+/-.'
0041F9D9  |. 0F87 96020000  JA VIDEOPLA.0041FC75
0041F9DF  |. 8B55 E4        MOV EDX,DWORD PTR SS:[EBP-1C]
0041F9E2  |. FF2495 7EFD410>JMP DWORD PTR DS:[EDX*4+41FD7E]
....
0041FC75  |> 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
0041FC78  |. 817A 04 000100>CMP DWORD PTR DS:[EDX+4],100 ; WM_KEYDOWN ?
0041FC7F  |. 0F85 E4000000  JNZ VIDEOPLA.0041FD69
0041FC85  |. 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
0041FC88  |. 8B48 08        MOV ECX,DWORD PTR DS:[EAX+8]
0041FC8B  |. 894D E0        MOV DWORD PTR SS:[EBP-20],ECX
0041FC8E  |. 8B55 E0        MOV EDX,DWORD PTR SS:[EBP-20]
0041FC91  |. 83EA 25        SUB EDX,25    ; VK_LEFT 开始
0041FC94  |. 8955 E0        MOV DWORD PTR SS:[EBP-20],EDX
0041FC97  |. 837D E0 03     CMP DWORD PTR SS:[EBP-20],3  ; 四个方向键: <Left>,<Up>,<Right>,<Down>
0041FC9B  |. 0F87 C8000000  JA VIDEOPLA.0041FD69
0041FCA1  |. 8B45 E0        MOV EAX,DWORD PTR SS:[EBP-20]
0041FCA4  |. FF2485 BAFD410>JMP DWORD PTR DS:[EAX*4+41FDBA]
....
0041FD69  |> 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
0041FD6C  |. 52             PUSH EDX
0041FD6D  |. 8B4D FC        MOV ECX,DWORD PTR SS:[EBP-4]
0041FD70  |. E8 89C90000    CALL <JMP.&MFC42D.#4208>
0041FD75  |. 5F             POP EDI
0041FD76  |. 5E             POP ESI
0041FD77  |. 5B             POP EBX
0041FD78  |. 8BE5           MOV ESP,EBP
0041FD7A  |. 5D             POP EBP
0041FD7B  /. C2 0400        RETN 4
0041FD7E   . E9F94100       DD VIDEOPLA.0041F9E9  ; '0'
0041FD82   . 24FA4100       DD VIDEOPLA.0041FA24  ; '1'
0041FD86   . 61FA4100       DD VIDEOPLA.0041FA61  ; '2'
0041FD8A   . 9EFA4100       DD VIDEOPLA.0041FA9E  ; '3'
0041FD8E   . D9FA4100       DD VIDEOPLA.0041FAD9  ; '4'
0041FD92   . 16FB4100       DD VIDEOPLA.0041FB16  ; '5'
0041FD96   . 53FB4100       DD VIDEOPLA.0041FB53  ; '6'
0041FD9A   . 8EFB4100       DD VIDEOPLA.0041FB8E  ; '7'
0041FD9E   . CBFB4100       DD VIDEOPLA.0041FBCB  ; '8'
0041FDA2   . 05FC4100       DD VIDEOPLA.0041FC05  ; '9'
0041FDA6   . 75FC4100       DD VIDEOPLA.0041FC75  ; '*'  ;
0041FDAA   . 75FC4100       DD VIDEOPLA.0041FC75  ; '+'  ;这四个键其实无效
0041FDAE   . 75FC4100       DD VIDEOPLA.0041FC75  ;      ;  保留着只是编码的方便
0041FDB2   . 75FC4100       DD VIDEOPLA.0041FC75  ; '-'  ;
0041FDB6   . 3DFC4100       DD VIDEOPLA.0041FC3D  ; '.'
0041FDBA   . C5FC4100       DD VIDEOPLA.0041FCC5  ; <Left>
0041FDBE   . ABFC4100       DD VIDEOPLA.0041FCAB  ; <Up>
0041FDC2   . 17FD4100       DD VIDEOPLA.0041FD17  ; <Right>
0041FDC6   . B8FC4100       DD VIDEOPLA.0041FCB8  ; <Down>
; 下面这个子程主要对上面的按键进行处理
00414520  /. 55             PUSH EBP
00414521  |. 8BEC           MOV EBP,ESP
00414523  |. 6A FF          PUSH -1
00414525  |. 68 49F04200    PUSH VIDEOPLA.0042F049
0041452A  |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00414530  |. 50             PUSH EAX
00414531  |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00414538  |. 83EC 64        SUB ESP,64
0041453B  |. 53             PUSH EBX
0041453C  |. 56             PUSH ESI
0041453D  |. 57             PUSH EDI
0041453E  |. 894D F0        MOV DWORD PTR SS:[EBP-10],ECX
00414541  |. 817D 08 110100>CMP DWORD PTR SS:[EBP+8],111
00414548  |. 0F85 62020000  JNZ VIDEOPLA.004147B0
0041454E  |. 8B45 0C        MOV EAX,DWORD PTR SS:[EBP+C]
00414551  |. 8945 DC        MOV DWORD PTR SS:[EBP-24],EAX
00414554  |. 8B4D DC        MOV ECX,DWORD PTR SS:[EBP-24]
00414557  |. 81E9 14040000  SUB ECX,414
0041455D  |. 894D DC        MOV DWORD PTR SS:[EBP-24],ECX
00414560  |. 837D DC 0B     CMP DWORD PTR SS:[EBP-24],0B
00414564  |. 0F87 46020000  JA VIDEOPLA.004147B0
0041456A  |. 8B45 DC        MOV EAX,DWORD PTR SS:[EBP-24]
0041456D  |. 33D2           XOR EDX,EDX
0041456F  |. 8A90 E3474100  MOV DL,BYTE PTR DS:[EAX+4147E3]
00414575  |. FF2495 D747410>JMP DWORD PTR DS:[EDX*4+4147D7]
0041457C  |> E8 3F370100    CALL VIDEOPLA.00427CC0
00414581  |. 833D 702B4500 >CMP DWORD PTR DS:[452B70],0  ; 此 dword 为单位数频道标记
00414588  |. 74 24          JE SHORT VIDEOPLA.004145AE
0041458A  |. 8B4D 0C        MOV ECX,DWORD PTR SS:[EBP+C]
0041458D  |. 81E9 14040000  SUB ECX,414
00414593  |. 51             PUSH ECX
00414594  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00414597  |. E8 D4020000    CALL VIDEOPLA.00414870  ; 该子程进行频道设置
0041459C  |. 8B55 F0        MOV EDX,DWORD PTR SS:[EBP-10]
....

00452B18  CurTune  (所有频道数-1) ?
00452B1C           当前频道号
00452B20  FurTune  刚才的频道号
00452B24  TotalTV  所有频道数
00452B28           可能是 "喜好频道" 数

; 预想的快捷键增添:
; * "最顶端" 切换
; + "暂停/运行" 切换
; / 控制面板的显示切换
; - "返回前一频道"
; 这四个功能被调用时的 ECX, 内容在 00442570 和 00442598 处存在
;   应该从 00442570 处获取, 因为竟然没有搜索到对 00442598 的引用
;
; 代码大致可以设计为:
;   00430070  dd  00420F80, 00422D60, 004211B0, 00429670
;   00430080: 833DC000430000        cmp       d,[000452BC0],000
;   00430087: 7518                  jne      .0004300A1
;   00430089: 83EA0A                sub       edx,00A
;   0043008C: 8B0D70254400          mov       ecx,[000452BC0]
;   00430092: FF149570004300        call      d,[000430070][edx]*4
;   00430099: FF05C0004300          inc       d,[000452BC0]
;   0043009F: EB0A                  jmps     .0004300AB
;   004300A1: C705C000430000000000  mov       d,[000452BC0],000000000
;   004300AB: E9B9FCFEFF            jmp      .00041FD69
;
; 开始时是以 004300c0 双字单元作为标记的, 虽然在 OllyDbg 中是正常的, 但在独立
;   运行时, 发生异常, 播放器退出. 看了 DrWatson 的些记录, 很是不解. 想想也是
;   的, 不应该啊. 停了几天, 终于还是安装了 WinICE, 才发现是 004300C0 这里是不
;   可写入的. 所以, 就只有暂借 VK_DECIMAL (频道位数切换功能键) 的标记单元了
;   从这个也可以看出 vc 的异常处理是多么的不堪!

; 下面的子程是 "返回前一频道"
00429670  /. 55             PUSH EBP
00429671  |. 8BEC           MOV EBP,ESP
00429673  |. 83EC 44        SUB ESP,44
00429676  |. 53             PUSH EBX
00429677  |. 56             PUSH ESI
00429678  |. 57             PUSH EDI
00429679  |. 894D FC        MOV DWORD PTR SS:[EBP-4],ECX
0042967C  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
0042967F  |. 83B8 801A0000 >CMP DWORD PTR DS:[EAX+1A80],0
00429686  |. 74 1C          JE SHORT VIDEOPLA.004296A4
00429688  |. 833D 242B4500 >CMP DWORD PTR DS:[452B24],0
0042968F  |. 74 13          JE SHORT VIDEOPLA.004296A4
00429691  |. 8B0D 3C2C4400  MOV ECX,DWORD PTR DS:[442C3C]
00429697  |. 51             PUSH ECX
00429698  |. 8B4D FC        MOV ECX,DWORD PTR SS:[EBP-4]
0042969B  |. E8 40200000    CALL VIDEOPLA.0042B6E0
004296A0  |. 85C0           TEST EAX,EAX
004296A2  |. 74 02          JE SHORT VIDEOPLA.004296A6
004296A4  |> EB 11          JMP SHORT VIDEOPLA.004296B7
004296A6  |> 8B15 202B4500  MOV EDX,DWORD PTR DS:[452B20]
004296AC  |. 52             PUSH EDX    ; 待设置的频道序号
004296AD  |. B9 78534400    MOV ECX,VIDEOPLA.00445378  ; ECX 指向...
004296B2  |. E8 B9B1FEFF    CALL VIDEOPLA.00414870  ; 设置
004296B7  |> 5F             POP EDI
004296B8  |. 5E             POP ESI
004296B9  |. 5B             POP EBX
004296BA  |. 8BE5           MOV ESP,EBP
004296BC  |. 5D             POP EBP
004296BD  /. C3             RETN

; 下面的子程是 "最顶端". 这个是由上面的 "返回前一频道" 返回在 msvcrt 中找到的
00420F80  /$ 55             PUSH EBP
00420F81  |. 8BEC           MOV EBP,ESP
00420F83  |. 6A FF          PUSH -1
00420F85  |. 68 59F94200    PUSH VIDEOPLA.0042F959                   ;  SE handler installation
00420F8A  |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00420F90  |. 50             PUSH EAX
00420F91  |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00420F98  |. 83EC 50        SUB ESP,50
00420F9B  |. 53             PUSH EBX
00420F9C  |. 56             PUSH ESI
00420F9D  |. 57             PUSH EDI
00420F9E  |. 894D F0        MOV DWORD PTR SS:[EBP-10],ECX
00420FA1  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00420FA4  |. E8 C9B80000    CALL <JMP.&MFC42D.#492>
00420FA9  |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00420FB0  |. 6A EC          PUSH -14                                 ; /Index = GWL_EXSTYLE
00420FB2  |. 8B45 F0        MOV EAX,DWORD PTR SS:[EBP-10]            ; |
00420FB5  |. 8B48 20        MOV ECX,DWORD PTR DS:[EAX+20]            ; |
00420FB8  |. 51             PUSH ECX                                 ; |hWnd
00420FB9  |. FF15 C0184300  CALL DWORD PTR DS:[<&USER32.GetWindowLon>; /GetWindowLongA
00420FBF  |. 8945 E8        MOV DWORD PTR SS:[EBP-18],EAX
00420FC2  |. 8B55 E8        MOV EDX,DWORD PTR SS:[EBP-18]
00420FC5  |. 83E2 08        AND EDX,8
00420FC8  |. 8955 E4        MOV DWORD PTR SS:[EBP-1C],EDX
00420FCB  |. 837D E4 00     CMP DWORD PTR SS:[EBP-1C],0
00420FCF  |. 74 75          JE SHORT VIDEOPLA.00421046
...
004210D2  |. 5F             POP EDI
004210D3  |. 5E             POP ESI
004210D4  |. 5B             POP EBX
004210D5  |. 8BE5           MOV ESP,EBP
004210D7  |. 5D             POP EBP
004210D8  /. C3             RETN

; 下面是 "显示/隐藏控制面板" 子程
004211B0  /$ 55             PUSH EBP
004211B1  |. 8BEC           MOV EBP,ESP
004211B3  |. 6A FF          PUSH -1
004211B5  |. 68 79F94200    PUSH VIDEOPLA.0042F979                   ;  SE handler installation
004211BA  |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
004211C0  |. 50             PUSH EAX
004211C1  |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
004211C8  |. 83EC 4C        SUB ESP,4C
004211CB  |. 53             PUSH EBX
004211CC  |. 56             PUSH ESI
004211CD  |. 57             PUSH EDI
004211CE  |. 894D F0        MOV DWORD PTR SS:[EBP-10],ECX
004211D1  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
004211D4  |. E8 99B60000    CALL <JMP.&MFC42D.#492>
004211D9  |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
004211E0  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
004211E3  |. 81C1 84000000  ADD ECX,84
004211E9  |. E8 90B90000    CALL <JMP.&MFC42D.#3393>
004211EE  |. 8945 E8        MOV DWORD PTR SS:[EBP-18],EAX
004211F1  |. 837D E8 00     CMP DWORD PTR SS:[EBP-18],0
004211F5  |. 74 48          JE SHORT VIDEOPLA.0042123F
004211F7  |. 6A 43          PUSH 43
004211F9  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
004211FC  |. E8 6BB60000    CALL <JMP.&MFC42D.#3447>
00421201  |. 6A 00          PUSH 0
00421203  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00421206  |. 81C1 84000000  ADD ECX,84
0042120C  |. E8 DDB80000    CALL <JMP.&MFC42D.#4951>
00421211  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00421214  |. E8 4DB60000    CALL <JMP.&MFC42D.#880>
00421219  |. 50             PUSH EAX
0042121A  |. 68 E9030000    PUSH 3E9
0042121F  |. 6A 00          PUSH 0
00421221  |. 68 E9030000    PUSH 3E9
00421226  |. 8B45 F0        MOV EAX,DWORD PTR SS:[EBP-10]
00421229  |. 8B48 7C        MOV ECX,DWORD PTR DS:[EAX+7C]
0042122C  |. E8 9BBC0000    CALL <JMP.&MFC42D.#3561>
00421231  |. 6A 00          PUSH 0
00421233  |. B9 78534400    MOV ECX,VIDEOPLA.00445378
00421238  |. E8 B1B80000    CALL <JMP.&MFC42D.#4951>
0042123D  |. EB 5B          JMP SHORT VIDEOPLA.0042129A
0042123F  |> 6A 44          PUSH 44
00421241  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00421244  |. E8 23B60000    CALL <JMP.&MFC42D.#3447>
00421249  |. 6A 05          PUSH 5
0042124B  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
0042124E  |. 81C1 84000000  ADD ECX,84
00421254  |. E8 95B80000    CALL <JMP.&MFC42D.#4951>
00421259  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
0042125C  |. E8 05B60000    CALL <JMP.&MFC42D.#880>
00421261  |. 50             PUSH EAX
00421262  |. 68 E9030000    PUSH 3E9
00421267  |. 6A 00          PUSH 0
00421269  |. 68 E9030000    PUSH 3E9
0042126E  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00421271  |. 8B49 7C        MOV ECX,DWORD PTR DS:[ECX+7C]
00421274  |. E8 53BC0000    CALL <JMP.&MFC42D.#3561>
00421279  |. 8B15 98534400  MOV EDX,DWORD PTR DS:[445398]
0042127F  |. 52             PUSH EDX                                 ; /hWnd => 00000474 (class='#32770',wndproc=5F490453,parent=000002F0)
00421280  |. FF15 E8184300  CALL DWORD PTR DS:[<&USER32.IsWindow>]   ; /IsWindow
00421286  |. 85C0           TEST EAX,EAX
00421288  |. 74 10          JE SHORT VIDEOPLA.0042129A
0042128A  |. A1 ACA54300    MOV EAX,DWORD PTR DS:[43A5AC]
0042128F  |. 50             PUSH EAX
00421290  |. B9 78534400    MOV ECX,VIDEOPLA.00445378
00421295  |. E8 54B80000    CALL <JMP.&MFC42D.#4951>
0042129A  |> C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
004212A1  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
004212A4  |. E8 B1B50000    CALL <JMP.&MFC42D.#684>
004212A9  |. 8B4D F4        MOV ECX,DWORD PTR SS:[EBP-C]
004212AC  |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
004212B3  |. 5F             POP EDI
004212B4  |. 5E             POP ESI
004212B5  |. 5B             POP EBX
004212B6  |. 8BE5           MOV ESP,EBP
004212B8  |. 5D             POP EBP
004212B9  /. C3             RETN
; 下面是 "暂停/运行" 切换功能
00422D60  /$ 55             PUSH EBP
00422D61  |. 8BEC           MOV EBP,ESP
00422D63  |. 6A FF          PUSH -1
00422D65  |. 68 99FA4200    PUSH VIDEOPLA.0042FA99                   ;  SE handler installation
00422D6A  |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00422D70  |. 50             PUSH EAX
00422D71  |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00422D78  |. 83EC 54        SUB ESP,54
00422D7B  |. 53             PUSH EBX
00422D7C  |. 56             PUSH ESI
00422D7D  |. 57             PUSH EDI
00422D7E  |. 894D F0        MOV DWORD PTR SS:[EBP-10],ECX
00422D81  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422D84  |. E8 E99A0000    CALL <JMP.&MFC42D.#492>
00422D89  |. C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00422D90  |. 8D45 E8        LEA EAX,DWORD PTR SS:[EBP-18]
00422D93  |. 50             PUSH EAX
00422D94  |. 8B0D 942B4500  MOV ECX,DWORD PTR DS:[452B94]
00422D9A  |. 51             PUSH ECX
00422D9B  |. E8 AC970000    CALL <JMP.&DSStream.DSStream_IsCapturing>
00422DA0  |. 83C4 08        ADD ESP,8
00422DA3  |. 837D E8 00     CMP DWORD PTR SS:[EBP-18],0
00422DA7  |. 74 14          JE SHORT VIDEOPLA.00422DBD
00422DA9  |. C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00422DB0  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422DB3  |. E8 A29A0000    CALL <JMP.&MFC42D.#684>
00422DB8  |. E9 BC000000    JMP VIDEOPLA.00422E79
00422DBD  |> 8D55 E4        LEA EDX,DWORD PTR SS:[EBP-1C]
00422DC0  |. 52             PUSH EDX
00422DC1  |. A1 942B4500    MOV EAX,DWORD PTR DS:[452B94]
00422DC6  |. 50             PUSH EAX
00422DC7  |. E8 FC960000    CALL <JMP.&DSStream.DSStream_GetStreamSt>
00422DCC  |. 83C4 08        ADD ESP,8
00422DCF  |. 8945 E0        MOV DWORD PTR SS:[EBP-20],EAX
00422DD2  |. 837D E0 00     CMP DWORD PTR SS:[EBP-20],0
00422DD6  |. 0F85 8E000000  JNZ VIDEOPLA.00422E6A
00422DDC  |. 837D E4 00     CMP DWORD PTR SS:[EBP-1C],0
00422DE0  |. 75 45          JNZ SHORT VIDEOPLA.00422E27
00422DE2  |. 6A 00          PUSH 0
00422DE4  |. 68 14800000    PUSH 8014
00422DE9  |. 68 11010000    PUSH 111
00422DEE  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00422DF1  |. E8 8E9A0000    CALL <JMP.&MFC42D.#4475>
00422DF6  |. 6A 4B          PUSH 4B
00422DF8  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422DFB  |. E8 6C9A0000    CALL <JMP.&MFC42D.#3447>
00422E00  |. 6A 00          PUSH 0
00422E02  |. 6A 00          PUSH 0
00422E04  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422E07  |. E8 5A9A0000    CALL <JMP.&MFC42D.#880>
00422E0C  |. 50             PUSH EAX
00422E0D  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00422E10  |. 81C1 04120000  ADD ECX,1204
00422E16  |. 51             PUSH ECX
00422E17  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00422E1A  |. 81C1 E8000000  ADD ECX,0E8
00422E20  |. E8 3B9A0000    CALL <JMP.&MFC42D.#1032>
00422E25  |. EB 43          JMP SHORT VIDEOPLA.00422E6A
00422E27  |> 6A 00          PUSH 0
00422E29  |. 68 13800000    PUSH 8013
00422E2E  |. 68 11010000    PUSH 111
00422E33  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00422E36  |. E8 499A0000    CALL <JMP.&MFC42D.#4475>
00422E3B  |. 6A 4A          PUSH 4A
00422E3D  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422E40  |. E8 279A0000    CALL <JMP.&MFC42D.#3447>
00422E45  |. 6A 00          PUSH 0
00422E47  |. 6A 00          PUSH 0
00422E49  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422E4C  |. E8 159A0000    CALL <JMP.&MFC42D.#880>
00422E51  |. 50             PUSH EAX
00422E52  |. 8B55 F0        MOV EDX,DWORD PTR SS:[EBP-10]
00422E55  |. 81C2 04120000  ADD EDX,1204
00422E5B  |. 52             PUSH EDX
00422E5C  |. 8B4D F0        MOV ECX,DWORD PTR SS:[EBP-10]
00422E5F  |. 81C1 E8000000  ADD ECX,0E8
00422E65  |. E8 F6990000    CALL <JMP.&MFC42D.#1032>
00422E6A  |> C745 FC FFFFFF>MOV DWORD PTR SS:[EBP-4],-1
00422E71  |. 8D4D EC        LEA ECX,DWORD PTR SS:[EBP-14]
00422E74  |. E8 E1990000    CALL <JMP.&MFC42D.#684>
00422E79  |> 8B4D F4        MOV ECX,DWORD PTR SS:[EBP-C]
00422E7C  |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
00422E83  |. 5F             POP EDI
00422E84  |. 5E             POP ESI
00422E85  |. 5B             POP EBX
00422E86  |. 8BE5           MOV ESP,EBP
00422E88  |. 5D             POP EBP
00422E89  /. C3             RETN
00424E80  /. 55             PUSH EBP
00424E81  |. 8BEC           MOV EBP,ESP
00424E83  |. 83EC 48        SUB ESP,48
00424E86  |. 53             PUSH EBX
00424E87  |. 56             PUSH ESI
00424E88  |. 57             PUSH EDI
00424E89  |. 894D FC        MOV DWORD PTR SS:[EBP-4],ECX
00424E8C  |. 8D45 F8        LEA EAX,DWORD PTR SS:[EBP-8]
00424E8F  |. 50             PUSH EAX
00424E90  |. 8B0D 942B4500  MOV ECX,DWORD PTR DS:[452B94]
00424E96  |. 51             PUSH ECX
00424E97  |. E8 B0760000    CALL <JMP.&DSStream.DSStream_IsCapturing>
00424E9C  |. 83C4 08        ADD ESP,8
00424E9F  |. 837D F8 00     CMP DWORD PTR SS:[EBP-8],0
00424EA3  |. 74 02          JE SHORT VIDEOPLA.00424EA7
00424EA5  |. EB 21          JMP SHORT VIDEOPLA.00424EC8
00424EA7  |> 6A 00          PUSH 0
00424EA9  |. 8B15 942B4500  MOV EDX,DWORD PTR DS:[452B94]
00424EAF  |. 52             PUSH EDX
00424EB0  |. E8 5B760000    CALL <JMP.&DSStream.DSStream_SetStreamSt>
00424EB5  |. 83C4 08        ADD ESP,8
00424EB8  |. 6A 00          PUSH 0                                   ; /Arg1 = 00000000
00424EBA  |. 8B4D FC        MOV ECX,DWORD PTR SS:[EBP-4]             ; |
00424EBD  |. 81C1 04120000  ADD ECX,1204                             ; |
00424EC3  |. E8 78D6FDFF    CALL VIDEOPLA.00402540                   ; /VIDEOPLA.00402540
00424EC8  |> 5F             POP EDI
00424EC9  |. 5E             POP ESI
00424ECA  |. 5B             POP EBX
00424ECB  |. 8BE5           MOV ESP,EBP
00424ECD  |. 5D             POP EBP
00424ECE  /. C3             RETN 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值