Last active
August 29, 2015 14:05
-
-
Save cdfmr/0515e9f2f63e77c4ac5b to your computer and use it in GitHub Desktop.
Replace RaidenII's background music playing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;跳过光盘检测 | |
0040692D E9 C5010000 JMP 00406AF7 | |
;初始化设备 | |
00402F20 60 PUSHAD ;保留作案现场 | |
00402F21 68 60324000 PUSH 00403260 ;回调函数 | |
00402F26 FF15 74E0CB00 CALL DWORD PTR DS:[fakecd_init] ;偷梁换柱 | |
00402F2C 83C4 04 ADD ESP,4 ;平衡堆栈 | |
00402F2F 61 POPAD ;恢复现场 | |
00402F30 33C0 XOR EAX,EAX ;返回值 | |
00402F32 C3 RETN | |
;暂停播放 | |
00403100 60 PUSHAD | |
00403101 FF15 78E0CB00 CALL DWORD PTR DS:[fakecd_pause] | |
00403107 61 POPAD | |
00403108 33C0 XOR EAX,EAX | |
0040310A C3 RETN | |
;播放 | |
00403040 33DB XOR EBX,EBX | |
00403042 8A5C24 04 MOV BL,BYTE PTR SS:[ESP+4] ;音轨编号 | |
00403046 4B DEC EBX ;校正,因为第一条轨道是数据轨 | |
00403047 60 PUSHAD | |
00403048 53 PUSH EBX | |
00403049 FF15 7CE0CB00 CALL DWORD PTR DS:[fakecd_play] | |
0040304F 83C4 04 ADD ESP,4 | |
00403052 61 POPAD | |
00403053 33C0 XOR EAX,EAX | |
00403055 C3 RETN | |
;恢复播放 | |
00403140 60 PUSHAD | |
00403141 FF15 80E0CB00 CALL DWORD PTR DS:[fakecd_resume] | |
00403147 61 POPAD | |
00403148 33C0 XOR EAX,EAX | |
0040314A C3 RETN | |
;设置音量 | |
004032C0 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4] ;音量参数 | |
004032C4 60 PUSHAD | |
004032C5 51 PUSH ECX | |
004032C6 FF15 84E0CB00 CALL DWORD PTR DS:[fakecd_set_volume] | |
004032CC 83C4 04 ADD ESP,4 | |
004032CF 61 POPAD | |
004032D0 33C0 XOR EAX,EAX | |
004032D2 C3 RETN | |
;停止播放 | |
00402FF0 60 PUSHAD | |
00402FF1 FF15 88E0CB00 CALL DWORD PTR DS:[fakecd_stop] | |
00402FF7 61 POPAD | |
00402FF8 33C0 XOR EAX,EAX | |
00402FFA A3 24174D00 MOV DWORD PTR DS:[4D1724],EAX ;下一条音轨,原有逻辑,下同 | |
00402FFF A3 20174D00 MOV DWORD PTR DS:[4D1720],EAX ;播放状态 | |
00403004 C3 RETN | |
00403005 90 NOP ;填充 | |
00403006 90 NOP ;防止破坏其它指令的正常显示 | |
00403007 90 NOP | |
00403008 90 NOP | |
;关闭设备 | |
00402FA0 60 PUSHAD | |
00402FA1 FF15 8CE0CB00 CALL DWORD PTR DS:[fakecd_uninit] | |
00402FA7 61 POPAD | |
00402FA8 33C0 XOR EAX,EAX | |
00402FAA C3 RETN | |
;回调函数(一首音乐播放完毕后触发),此函数基本未修改,只是去除了对消息参数的检测 | |
00403260 A1 20174D00 MOV EAX,DWORD PTR DS:[4D1720] | |
00403265 85C0 TEST EAX,EAX | |
00403267 74 10 JE SHORT 00403279 | |
00403269 60 PUSHAD | |
0040326A A1 24174D00 MOV EAX,DWORD PTR DS:[4D1724] | |
0040326F 50 PUSH EAX | |
00403270 E8 CBFDFFFF CALL 00403040 | |
00403275 83C4 04 ADD ESP,4 | |
00403278 61 POPAD | |
00403279 33C0 XOR EAX,EAX | |
0040327B C3 RETN |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment