• 标 题:初学者(9) (3千字)
  • 作 者:liutong
  • 时 间:2000-5-7 23:16:45
  • 链 接:http://bbs.pediy.com

软件名称:  vanBasco's Midi Player
软件版本:  2.03
软件大小:  557KB
软件授权:  共享软件
使用平台:  Win95/98/NT
发布公司:  http://www.vanbasco.com
软件简介:  是一套标准的MIDI和Karaoke播放软件。它的界面刻意地被设计成有效率和容易使用,有强大的功能和令人激赏的使用者界面,其叁层界面分别为:第一层为钢琴 显示器,第二层为播放界面,第三层为Karaoke设定,可设不同的音色演奏方式,或伴唱音乐,有等化器等。
软件下载:  vmidi32.exe
使用工具:W32dasm
破解难易度:易

由于没有输入密码的地方,只好用W32dasm,反编译后,很容易找到线索
双击"Registered Version"到此段程序.
* Reference To: USER32.SendMessageA, Ord:0214h
                                  |
:0041820D FF1584944300            Call dword ptr [00439484]
:00418213 FF75EC                  push [ebp-14]
:00418216 8D4E5C                  lea ecx, dword ptr [esi+5C]
:00418219 E8E4590100              call 0042DC02
:0041821E E8E8DCFEFF              call 00405F0B  <---关键CALL
:00418223 83F864                  cmp eax, 00000064
:00418226 7E69                    jle 00418291  <----小于等于100
                                                      转过期提示
:00418228 8D86DC000000            lea eax, dword ptr [esi+000000DC]
:0041822E 50                      push eax
:0041822F 8D45F0                  lea eax, dword ptr [ebp-10]

* Possible StringData Ref from Data Obj ->"Registered Version."
                                  |
:00418232 68EC794400              push 004479EC
:00418237 50                      push eax
:00418238 E858650100              call 0042E795
:0041823D 68CC794400              push 004479CC
:00418242 50                      push eax
:00418243 8D45E8                  lea eax, dword ptr [ebp-18]
:00418246 C645FC01                mov [ebp-04], 01
:0041824A 50                      push eax
:0041824B E8D1640100              call 0042E721
:00418250 FF30                    push dword ptr [eax]
:00418252 8D8E98000000            lea ecx, dword ptr [esi+00000098]
:00418258 C645FC02                mov [ebp-04], 02
:0041825C E8A1590100              call 0042DC02
:00418261 8D4DE8                  lea ecx, dword ptr [ebp-18]
:00418264 C645FC01                mov [ebp-04], 01
:00418268 E86B620100              call 0042E4D8
:0041826D 8D4DF0                  lea ecx, dword ptr [ebp-10]
:00418270 885DFC                  mov byte ptr [ebp-04], bl
:00418273 E860620100              call 0042E4D8
:00418278 53                      push ebx

调出关键CALL,可以看到有若干调用,要改当然改此处啦,否则1,2,3,4...32个
调用够你改一阵子的.
* Referenced by a CALL at Addresses:
|:0040ECA7  , :0040ED3A  , :0040EE49  , :0040F4FA  , :0040FA05 
|:0040FA0E  , :00410520  , :00410648  , :00410767  , :0041095B 
|:00410C15  , :00410CE8  , :00410EA5  , :00411B53  , :0041206A 
|:0041209F  , :004120DD  , :0041212F  , :00412857  , :00412FAF 
|:00413094  , :0041317A  , :00415AF0  , :004161B2  , :00416EF6 
|:00416FD9  , :00417454  , :00417F06  , :0041821E  , :004182AE 
|:004182C3  , :00418395 
|
:00405F0B A1C0644400              mov eax, dword ptr [004464C0]
:00405F10 C3                      ret
任意查看了上面的几个CALL,发现都是与100比较,因此考虑将此CALL的
mov eax, dword ptr [004464C0]改为mov eax, 00000065
机器码是B8 65 00 00 00