有誰能名將它完全破解了 (5千字)

看雪資料發表於2000-08-26

我現在已經將這個程式破解了,但是註冊碼人的姓名卻不是我,所以如果大家有興趣的話,可以研究一下。


                    AudioSphere V1.3
                                程式獵人
【英文版】(390KB,版本:1.3 for Win9x/NT)
簡介:這個軟體可以讓你更加隨意地控制你的 PC 的聲音系統的音量、平衡、高音以及低音。該軟體製作非常緊湊,介面
很漂亮而易用,比起 Win中自帶的那個音量控制要好得多。還允許使用者將不同的音量設定儲存在軟體中。其他特
性還包括:介面顏色可選,梯度風格、多設定預設。
追蹤:RN:01234567
  今天追蹤這個軟體是有一定的運氣在裡面的,但是這也是建立在一定的知識基礎上的,好了就不多說了,開始破解這個軟體了。
  首先這個程式有一個註冊的地方,但是在這裡我使用bpx hmemcpy無法得到正確的結果,所以有就開始想其它的方法,看一看能夠破解它不。
1 使用W32DASM反彙編它,從中可以得到下面的關鍵地方,
* Possible StringData Ref from Code Obj ->"SOFTWARE\Svetlana Software\Audiosphere"
  看到程式呼叫登錄檔值,所以就進入登錄檔的相應位置,查詢需要的值,在這裡你可以發現它有這樣一個值FirstRunDate,當然如果你稍稍懂英語的話,就知道它是什麼意思了。這裡就是記錄你第一次行的時間,我就將它給刪除了,下面就開始破解它的。
2 在W32中還發現到這裡比較重要
:0044B51A 8B55FC                  mov edx, dword ptr [ebp-04]
:0044B51D 8B831C020000            mov eax, dword ptr [ebx+0000021C]
:0044B523 E84C0DFDFF              call 0041C274

* Possible StringData Ref from Code Obj ->"The 30 days evaluation period: "
                                  |
:0044B528 6898B54400              push 0044B598
:0044B52D 8D55F8                  lea edx, dword ptr [ebp-08]
:0044B530 B81E000000              mov eax, 0000001E
:0044B535 2BC6                    sub eax, esi
:0044B537 E8D4B8FBFF              call 00406E10
:0044B53C FF75F8                  push [ebp-08]

* Possible StringData Ref from Code Obj ->" days left"
                                  |
:0044B53F 68C0B54400              push 0044B5C0
:0044B544 8D45FC                  lea eax, dword ptr [ebp-04]
:0044B547 BA03000000              mov edx, 00000003
  程式提示你已經過期多長時間了,那麼這個程式是在那裡呼叫它的呢?向上看可以看到是這裡呼叫它的
* Referenced by a CALL at Address:
|:00452BFA 
  查詢它的位置如下:
* Referenced by a CALL at Address:
|:0045255E 
|
:00452B94 55                      push ebp
:00452B95 8BEC                    mov ebp, esp
:00452B97 8B8038020000            mov eax, dword ptr [eax+00000238]
:00452B9D 83780C0A                cmp dword ptr [eax+0C], 0000000A      ***

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00452B31(C)
|
:00452BA1 755C                    jne 00452BFF
:00452BA3 E8204FFBFF              call 00407AC8
:00452BA8 DB05047D4500            fild dword ptr [00457D04]
:00452BAE DEE9                    fsubp st(1), st(0)
:00452BB0 D81D042C4500            fcomp dword ptr [00452C04]
:00452BB6 DFE0                    fstsw ax
:00452BB8 9E                      sahf
:00452BB9 760E                    jbe 00452BC9
:00452BBB A1506D4500              mov eax, dword ptr [00456D50]
:00452BC0 8B00                    mov eax, dword ptr [eax]
:00452BC2 E82D93FDFF              call 0042BEF4
:00452BC7 EB36                    jmp 00452BFF

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00452BB9(C)
|
:00452BC9 E8FA4EFBFF              call 00407AC8
:00452BCE DB05047D4500            fild dword ptr [00457D04]
:00452BD4 DEE9                    fsubp st(1), st(0)
:00452BD6 D81D082C4500            fcomp dword ptr [00452C08]
:00452BDC DFE0                    fstsw ax
:00452BDE 9E                      sahf
:00452BDF 761E                    jbe 00452BFF
:00452BE1 E8E24EFBFF              call 00407AC8
:00452BE6 DB05047D4500            fild dword ptr [00457D04]
:00452BEC DEE9                    fsubp st(1), st(0)
:00452BEE E839FDFAFF              call 0040292C
:00452BF3 8BD0                    mov edx, eax
:00452BF5 A1D47C4500              mov eax, dword ptr [00457CD4]
:00452BFA E8C188FFFF              call 0044B4C0    這裡呼叫call

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00452BA1(C), :00452BC7(U), :00452BDF(C)
|
:00452BFF 5D                      pop ebp
:00452C00 C3                      ret
好了,在這裡你可以看到程式的執行情況了,在上面有三處可以跳躍過這裡的地方,那麼到底是哪一處呢。我們可以一試,因為我在前面已經將首次執行時間刪除掉了,所以當程式重新執行時,已經無法正常執行了,但是如果你在***處設斷的話,程式將在這裡中斷,如果你在這裡強迫程式在jne 00452BFF處跳躍的話,它將能夠正常執行了,並且在主畫面中也沒有要求註冊的字樣了,可是在about項中還要求註冊。如果大家使用這個軟體的話,時間過了話,就可以將上面的地方改掉就可以無限期的使用它的。但是它依然沒有註冊,那麼我還沒有完全成功,所以繼續破解它。
  這回我使用filemon來跟蹤程式呼叫的什麼檔案(這個可是今天的關鍵地方)。透過跟蹤,發現程式在我點選about時,它呼叫它的目錄下一個audiosphere.key檔案,我於是就查詢目錄是否有這個檔案,發現沒有。那麼我們通常的作法就是建立一個這樣檔案,於是就建立了一個這樣的檔案,內容嗎就是隨便寫的,但是我發現程式如果重新執行的話,在about選項中已經再也沒有提示30天的限制了。現在已經變成完全註冊了,因為在about中你可以發現這個軟體註冊給:?????,這個由你輸入的值決定的。但是它是經過轉換的,到這裡這個程式算是破解完了。好了再整理一下。

    1  查詢:75 5c e8 20 4f
      替換:eb -- -- -- --
  --表示不用換的值
    2  在它的目錄下建立一個audiosphere.key檔案,內容自己定,一定要大於20個字元。  現在你再執行改後程式,你會發現它已經註冊了。

相關文章