我現在已經將這個程式破解了,但是註冊碼人的姓名卻不是我,所以如果大家有興趣的話,可以研究一下。
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個字元。 現在你再執行改後程式,你會發現它已經註冊了。