初學者(8) (4千字)

看雪資料發表於2000-05-07

軟體名稱:  CD Bar
軟體版本:  1.03
軟體大小:  673KB
軟體授權:  共享軟體
使用平臺:  Win95/98/NT
釋出公司:  http://www.mindspring.com/~bytor/cdbar/cdbar.htm
軟體簡介:  是一個相容效能很好的CD音訊播放軟體,它可以做為一個taskbar(工作列)之中的選項,同時可以詳細的顯示出CD的資訊,包括曲名,作者等等,最新支援
windows2000。
軟體下載:  cdbar.zip

使用工具:W32dasm
破解難易度:易

該軟體無註冊碼輸入畫面,只有information選單顯示有關注冊步驟及軟體剩餘使用天數.
因此,使用W32dasm,反編譯後很容易地找到了線索
* Possible StringData Ref from Data Obj ->"Built on %s"<---在information選單中顯示的內容
                                  |
:0040D3EC 68704B4400              push 00444B70
:0040D3F1 50                      push eax
:0040D3F2 E85F850100              call 00425956
:0040D3F7 8B4C2410                mov ecx, dword ptr [esp+10]
:0040D3FB 83C40C                  add esp, 0000000C
:0040D3FE 51                      push ecx
:0040D3FF 8D8E4C010000            lea ecx, dword ptr [esi+0000014C]
:0040D405 E8AED00100              call 0042A4B8
:0040D40A A088704400              mov al, byte ptr [00447088]
:0040D40F 6A00                    push 00000000
:0040D411 84C0                    test al, al
:0040D413 743E                    je 0040D453<---未經授權的轉40D453,將次743E改為9090(即2個NOP)
:0040D415 8D8E98000000            lea ecx, dword ptr [esi+00000098]
:0040D41B E899D10100              call 0042A5B9
:0040D420 6A00                    push 00000000
:0040D422 8D8E10010000            lea ecx, dword ptr [esi+00000110]
:0040D428 E88CD10100              call 0042A5B9
:0040D42D 8B1568704400            mov edx, dword ptr [00447068]
:0040D433 8D442404                lea eax, dword ptr [esp+04]
:0040D437 52                      push edx

* Possible StringData Ref from Data Obj ->"Registered to: %s"<----顯示授權資訊
                                  |
:0040D438 685C4B4400              push 00444B5C
:0040D43D 50                      push eax
:0040D43E E813850100              call 00425956
:0040D443 8B4C2410                mov ecx, dword ptr [esp+10]
:0040D447 83C40C                  add esp, 0000000C
:0040D44A 51                      push ecx
:0040D44B 8D8ED4000000            lea ecx, dword ptr [esi+000000D4]
:0040D451 EB64                    jmp 0040D4B7

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040D413(C)
|
:0040D453 E868AA0000              call 00417EC0
:0040D458 8B0D84704400            mov ecx, dword ptr [00447084]
:0040D45E 83C404                  add esp, 00000004
:0040D461 2BC1                    sub eax, ecx
:0040D463 8BC8                    mov ecx, eax
:0040D465 B807452EC2              mov eax, C22E4507
:0040D46A F7E1                    mul ecx
:0040D46C C1EA10                  shr edx, 10
:0040D46F B80F000000              mov eax, 0000000F
:0040D474 2BC2                    sub eax, edx
:0040D476 83F801                  cmp eax, 00000001
:0040D479 750D                    jne 0040D488
:0040D47B 50                      push eax
:0040D47C 8D542408                lea edx, dword ptr [esp+08]

* Possible StringData Ref from Data Obj ->"Expires in %ld day"
                                  |
:0040D480 68484B4400              push 00444B48
:0040D485 52                      push edx
:0040D486 EB1C                    jmp 0040D4A4
上面的這段只是顯示對程式判斷是否過期無影響,判斷在下面
* Possible StringData Ref from Data Obj ->"%s\"
                                  |
:0040EFE6 68984E4400              push 00444E98
:0040EFEB 6874704400              push 00447074
:0040EFF0 E861690100              call 00425956
:0040EFF5 83C40C                  add esp, 0000000C
:0040EFF8 E8F3F8FFFF              call 0040E8F0
:0040EFFD 84C0                    test al, al
:0040EFFF 752F                    jne 0040F030 <--未過期轉40F030
:0040F001 E8AAFBFFFF              call 0040EBB0
:0040F006 84C0                    test al, al
:0040F008 7426                    je 0040F030 <--未過期轉40F030,在上面轉和在此轉好象沒有區別
:0040F00A 6A00                    push 00000000
:0040F00C 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"Your copy of CDBar has expired. "
                                        ->" Please visit " <---過期提示
                                  |
:0040F00E 68184E4400              push 00444E18
:0040F013 E826FD0100              call 0042ED3E
:0040F018 33C0                    xor eax, eax
:0040F01A 5D                      pop ebp
:0040F01B 8B8C2464020000          mov ecx, dword ptr [esp+00000264]
:0040F022 64890D00000000          mov dword ptr fs:[00000000], ecx
:0040F029 81C470020000            add esp, 00000270
:0040F02F C3                      ret



* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040EFFF(C), :0040F008(C)
|
:0040F030 56                      push esi

到此,軟體15天后仍可正常使用,由於本人水平有限,在information選單顯示畫面中register to一項仍
是空白,不知如何處理,

相關文章