初學者(7) (4千字)
軟體名稱:AmazimgMIDI 1.60
軟體大小:839KB
軟體型別:共享
適用環境:Win95/98
軟體介紹:
可以將您現有的WAV檔案轉換成為MIDI檔案,WAV可能會有人聲或者其它非樂器聲音的部
分,這個部分可就無能為力了,AmazingMIDI會將這一部分的聲音資料轉換成為類比的訊
號,不過仍然還是以MIDI的格式儲存,您可以在稍後與MIDI編輯軟體中一起編輯使用。雖
然AmazingMIDI在轉檔案方面的功能已經相當強大了,不過它還是有所限制的,目前版本
的AmazingMIDI並無法直接在眾多的樂器聲音中只對某一種取樣,相信這方面的功能限制
應該很快有所改善的。如果對WAV音樂素材直接取樣使用的話,AmazingMIDI是個絕佳的轉
換工具。
軟體來源:<<軟體世界>>第5期
保護型別:固定註冊碼
所用工具:S-ICE, W32Dasm
破解過程:
在help選單中選擇registration,任意輸入12345678,CTRL+D轉到S-ICE,設斷點bpx
hmemcpy,
返回軟體畫面,點OK.程式被中斷後,按F12 42次(第43次出錯誤畫面)後,按F10若干次,找到
下面程式
|:00405DEA(U)
|
:00405D5D 8D4C2410 lea
ecx, dword ptr [esp+10]
:00405D61 E8C8780100 call 0041D62E
:00405D66 83F801
cmp eax, 00000001
:00405D69 0F85B6000000 jne 00405E25
:00405D6F 51
push ecx
:00405D70 8D442470 lea
eax, dword ptr [esp+70]
:00405D74 8BCC
mov ecx, esp
:00405D76 89642410 mov
dword ptr [esp+10], esp
:00405D7A 50
push eax
:00405D7B E887B50100 call 00421307
:00405D80 8D4C240C lea
ecx, dword ptr [esp+0C]
:00405D84 C644247C00 mov [esp+7C],
00
:00405D89 51
push ecx
:00405D8A E861010000 call 00405EF0
:00405D8F 8BC8
mov ecx, eax
:00405D91 E8AA180000 call 00407640
<----將輸入碼變形
:00405D96 8B00
mov eax, dword ptr [eax]
* Possible StringData Ref from Data Obj ->"<<@::5<720"<-----(變形後的)註冊碼
|
:00405D98 BE58054400 mov esi,
00440558
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DBF(C)
|
:00405D9D 8A10
mov dl, byte ptr [eax]<-----取出變形後的輸入碼
:00405D9F 8A1E
mov bl, byte ptr [esi]<-----取出變形後的註冊碼
:00405DA1 8ACA
mov cl, dl
:00405DA3 3AD3
cmp dl, bl
:00405DA5 751E
jne 00405DC5<-----錯誤資訊
:00405DA7 84C9
test cl, cl
:00405DA9 7416
je 00405DC1
:00405DAB 8A5001
mov dl, byte ptr [eax+01]
:00405DAE 8A5E01
mov bl, byte ptr [esi+01]
:00405DB1 8ACA
mov cl, dl
:00405DB3 3AD3
cmp dl, bl
:00405DB5 750E
jne 00405DC5<-----錯誤資訊
:00405DB7 83C002
add eax, 00000002
:00405DBA 83C602
add esi, 00000002
:00405DBD 84C9
test cl, cl
:00405DBF 75DC
jne 00405D9D<------未完,繼續比較
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DA9(C)
|
:00405DC1 33C0
xor eax, eax<-----比較正確eax清零
:00405DC3 EB05
jmp 00405DCA
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00405DA5(C), :00405DB5(C)
|
:00405DC5 1BC0
sbb eax, eax
:00405DC7 83D8FF
sbb eax, FFFFFFFF<-----比較錯誤eax置位
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405DC3(U)
|
:00405DCA 85C0
test eax, eax
:00405DCC 8D4C2408 lea
ecx, dword ptr [esp+08]
:00405DD0 0F94C3
sete bl <-----若eax為零,bl置位
:00405DD3 E8BAB70100 call 00421592
:00405DD8 84DB
test bl, bl
:00405DDA 7513
jne 00405DEF <-----bl不為零,顯示"Thank you for your
registration"
:00405DDC 6AFF
push FFFFFFFF
:00405DDE 6A00
push 00000000
* Possible Reference to String Resource ID=61212: "Incomplete or incorrect information."
|
:00405DE0 681CEF0000 push 0000EF1C
:00405DE5 E8DB180200 call 004276C5
:00405DEA E96EFFFFFF jmp 00405D5D
分析將輸入碼變形的CALL,便可知道程式是如何處理輸入碼的.
處理過程如下:
將輸入碼調頭,將其ASCII碼與序號相加.
那麼我們根據已知的變形後的註冊碼反推出註冊碼
序號 9 8 7
6 5 4 3 2 1
0
變形的註冊碼 < < @ :
: 5 < 7 2
0
ASCII碼 3C 3C 40 3A 3A
35 3C 37 32 30
減序號後 33 34 39 34 35 31
39 35 31 30
註冊碼應為: 0159154943
相關文章
- 初學者(22) (7千字)2000-08-09
- 初學者(23) (7千字)2000-08-13
- 初學者(8) (4千字)2000-05-07
- 初學者(19) (4千字)2000-07-10
- 給初學者,因為我就是個初學者(4) (1千字)2000-05-03
- 初學者(9) (3千字)2000-05-07
- 初學者(10) (8千字)2000-05-14
- 初學者(11) (2千字)2000-05-18
- 初學者(12) (1千字)2000-06-09
- 初學者(13) (2千字)2000-06-09
- 初學者(14) (5千字)2000-06-10
- 初學者(15) (3千字)2000-07-04
- 初學者(16) (2千字)2000-07-04
- 初學者(17) (1千字)2000-07-04
- 初學者(18) (2千字)2000-07-05
- 初學者(20) (3千字)2000-07-15
- 初學者(20) (1千字)2000-08-08
- 初學者(26) (9千字)2000-08-17
- 初學者(27) (1千字)2000-08-25
- 演算法分析:
<獻給初學者> 之二 (7千字)2002-06-07演算法
- 給初學者,因為我就是個初學者(1) (3千字)2000-05-03
- 給初學者,因為我就是個初學者(2) (1千字)2000-05-03
- 演算法分析: <獻給初學者>
之一 (4千字)2002-06-06演算法
- 初學者請看! (2千字)2000-12-28
- 初學者作品(6) (1千字)2000-05-04
- 初學者請進,看far.exe的註冊碼! (7千字)2001-04-24
- Oracle初學者問題7(轉)2007-08-06Oracle
- Oracle初學者問題4(轉)2007-08-06Oracle
- Internet Maniac ver 1.2b 破解過程(適合初學者)
(7千字)2000-09-13
- 一篇破解教程-----面向初學者 (15千字)2001-04-01
- 貼個教學,初學者請進! (11千字)2001-04-20
- 飛馬魔法桌布V3.0註冊演算法(適合初學者) (7千字)2001-11-25演算法
- 破解badcat21---真正的初學者 (5千字)2001-05-19
- 寫給Git初學者的7個建議2013-10-31Git
- 演算法分析: <獻給初學者>
之四 (9千字)2002-06-06演算法
- 獻給初學者(高手也看看) 破解 Cpukiller 2.0 (1千字)2000-09-17
- 初學者指南2017-09-09
- 初學者 (轉)2007-10-31