= 38、Roland VSC-88软体音源 解除50秒限制 ====================================== 其实本篇破解教学, 於昨天已经完成, 但为何我不发呢? 当时我不知 道在想什么? 在用 UEDIT 想 Save 时, 弹出了一个窗子, 滑鼠也很 顺手, 移过去 No 按下去! 天啊! 画面怎么不见了? 哇! 那个小图钮是 Close 啦! 刚刚的窗子, 是 Close 之後自动提 醒的 Save 窗啦! 其实我该按的是 "Cancel" 啦! 因为我要改档名, 所以我必须先回到刚刚的画面再改, 想暂时先不存, 所以顺手就给按 了 No , 然後就....! 应该先看看黄历的.... > "幻龙" say ... > 谁知道ROLAND VSC-88音源器,如何解除50秒限制 其实这个 VSC-88 的破解方式, 在我刚预告要发破解教学不久, 本区 的 Hacker 大侠 "阿a" 就把 Hacking code 发出来, 就已经造福群 众了! 因为我还未动手写稿, 所以原本想偷懒说.. 但是本区内, 有位能力不错的 Hacker - 网中魔 yhq 大侠, 等了几 天, 看我没发, 竟然来信催稿! 这下子就偷懒不成了. 也好! 反正我 有预告在先, 不发, 也有点说不过去. 在进入手术房示范刀法之前, 我先说说对这类程式的看法: 我第一次动手下去追之前, 其实我也想了几天; 因为它播放 50 秒的 计时终了, 使 User 不能继续聆听的手法, 并不是跳出一个窗子警告 中断, 而是慢慢的渐弱缩尾; 也就是说 50.00 秒和 50.00+ 秒的表 面状况差异不明显, 这会造成 Hacker 在设断上的困扰. 那个 50 秒的临界点, 前後差异因为太不明显, 所以想要在刚好 50 秒渐弱之刹那断下来, 不容易吧! 那怎么办? 没辄就是看天吃饭! 在 Win 起始後, 其第一次使用 VSC-88 的开头, 会跑出一个日裔的 窗子来警告嘛! 那我们就先把这个窗子决解掉再说. 至於那个 50 秒 的计时, 顺其自然. 1.用 winice 载入 95 , 执行 VSC-88 . 它会弹出一个 50 秒的警告 窗子. 有没有忘记我以前曾讲的拦窗子的点 lockmytask ? 只要用 这个设断成功, 依经验, 约有八成的程式不是很难解的. 2.注意哦! 这次的窗子, 若没把握到, 就得重开机了哦! 在窗子中, 按下 Ctrl-d 切入 winice . 3.打 BPX LOCKMYTASK 设断, 压 F5 返回 VSC-88 的画面. 4.按下窗内的 "确定" , 一收窗, 就会被 winice 拦下来, 如下: USER!LOCKMYTASK CS:636C ENTER 0004,00 ; <- 在这里拦下来. PUSH SI : : 5.就开始用 F12 键, 往外层的常式跳! 注意按! 一按到了 VSC 的 地盘, 就要马上停下来! 如下: 1E07:4D00 CMP WORD PTR[005C],0 ; JZ 4D27 ; <- JZ CMP WORD PTR[00D4],0 ; JZ 4D27 ; <- JZ : : 4D1C CALL USER!MESSAGEBOX ; MOV WORD PTR[00D4],0 ; <- 返回至此, 由此可知, 上 CMP : : ; 面的 CALL 与窗子有关. --- VSC(1) --- 往上一看, 有两个 JZ 会飞越这个 MESSAGEBOX ! 有两个 JZ , 通常 我会先试第一个. 那要强迫第一个跳至 4D27 , 有几种方式可行. 如 下: 一、把 JZ 改成 JMP . 二、把第一个 CMP 那行最後的 0, 改成 [005C] 相同的资料. 三、把 [005C] 内填零. 通常我会用第三种. 因为在 WINICE 中, 用 E Addr 比较方便. 上两 种必须用 A Addr 来组译, 必须注意组译出来的 Bytes 数. 6.用 E DS:005C, 此时的资料栏如下: --- VSC(2) --- DS:005C 01 00 05 00 01 00 ^^^^^ 有没有注意到第一个 CMP 後面的 "WORD" 字眼? 那个 WORD 就是指 使用的资料长度是一个 Word , 也就是两个 Bytes, 因此就是把上面 画底线的两个 Bytes 填零就可以了. 7.把 DS:005C 的地方填零後, 按 F5 再返回 VSC-88 试看看. 结果, 试听时发现 "老天爷居然给饭吃" ! 50 秒的限制不见了? 有 没有注意到资料栏的地盘是 VSC ? 那表示东西不是在 VSC.DLL, 就 是在 VSC.EXE 罗! 其实还没完, 因为我改了把上头的 01 改成 00 之後, 再进入 Win95 时, 会弹出一个视窗, 说 "波形的资料毁损" ! 天啊! 那我只好再改程式段再试试看吧! 也就是第一个 CMP 那个地 方. 因为资料段和程式段不同, 说不定它只检查资料段. 8.我们再看一下那一段, 如下: 1E07:4D00 CMP WORD PTR[005C],0 JZ 4D27 是不是改成如下就好了? 1E07:4D00 MOV WORD PTR[005C],0 JMP 4D27 但是改成如上会多出一个 BYTE , 因为第二个 BYTE 是 0, 所以只要 改一个 BYTE 的叙述就好了, 你可以用 BYTE PTR 的叙述来改. 也许你会想, 最好连那个 JZ 都不要改; 正在想办法把 [005C] 放 0 , 又可使 Zero 旗标举起来的叙述. 答案是有的, 那就是 AND ! 其它的, 就留给 Hacker 新生自己去练习罗! 下课... -- 喜欢破解注册资料者, 请接如下 Group, 保证让你一路爽到底 alt.crackers alt.cracks alt.binaries.warez.ibm-pc