聽力之友1.0破解 (3千字)

看雪資料發表於2002-02-28

聽力之友1.0破解
Crack by fwnl
軟體說明:
“聽力之友”是一款側重於練習英語聽力的電腦復讀軟體。它絕不同於一般的電子復讀機的功能,
透過對波形語音檔案的智慧斷句,滿足英語學習者透過聽寫、讀背突破聽力的功能。
此軟體為作者在用"逆向法"學習英語的過程中根據自己的體會和現在市面上的軟體的不足而設計的。
方便的單句模式,特別適合於用”逆向法“練習英語聽力的初級、中級英語愛好者。
下載:http://cnfatcat.6to23.com/elf.zip
破解工具:TRW2000 w32dasm8.93

用w32dasm8.93反編後發現程式是透過判斷註冊碼是否符合7個不同的條件以決定是否註冊成功
第一個條件判斷處:
:0040AC83 83BDF0FEFFFF08          cmp dword ptr [ebp+FFFFFEF0], 00000008
:0040AC8A 0F84E0000000            je 0040AD70    //不跳就失敗                   
:0040AC90 66C7850CFFFFFF8000      mov word ptr [ebp+FFFFFF0C], 0080

* Possible StringData Ref from Data Obj ->"註冊碼不正確"
                                  |
:0040AC99 BA6C024400              mov edx, 0044026C
:0040AC9E 8D45D8                  lea eax, dword ptr [ebp-28]
:0040ACA1 E8DECD0100              call 00427A84

第二個條件判斷處:
:0040B029 59                      pop ecx
:0040B02A 84C9                    test cl, cl
:0040B02C 0F84E0000000            je 0040B112    //不跳就失敗
:0040B032 66C7850CFFFFFFE000      mov word ptr [ebp+FFFFFF0C], 00E0

* Possible StringData Ref from Data Obj ->"註冊碼不正確"
                                  |
:0040B03B BA81024400              mov edx, 00440281
:0040B040 8D45AC                  lea eax, dword ptr [ebp-54]
:0040B043 E83CCA0100              call 00427A84
第三個條件判斷處:
:0040B1D3 E808CA0100              call 00427BE0
:0040B1D8 59                      pop ecx
:0040B1D9 84C9                    test cl, cl
:0040B1DB 0F84E0000000            je 0040B2C1  //不跳就失敗
:0040B1E1 66C7850CFFFFFFF800      mov word ptr [ebp+FFFFFF0C], 00F8

* Possible StringData Ref from Data Obj ->"註冊碼不正確"
                                  |
:0040B1EA BA94024400              mov edx, 00440294
:0040B1EF 8D459C                  lea eax, dword ptr [ebp-64]
:0040B1F2 E88DC80100              call 00427A84
:0040B1F7 FF8518FFFFFF            inc dword ptr [ebp+FFFFFF18]

四到六和前面都差不多,所以略過

第七個條件判斷處:
:0040BA12 59                      pop ecx
:0040BA13 84C9                    test cl, cl
:0040BA15 0F84E6000000            je 0040BB01    //這裡跳註冊便成功了
:0040BA1B 66C7850CFFFFFF5801      mov word ptr [ebp+FFFFFF0C], 0158

* Possible StringData Ref from Data Obj ->"註冊碼不正確"
                                  |
:0040BA24 BAE8024400              mov edx, 004402E8
:0040BA29 8D854CFFFFFF            lea eax, dword ptr [ebp+FFFFFF4C]
:0040BA2F E850C00100              call 00427A84

綜合看出如果要註冊成功,程式必需跳到0040bb01處,用TRW2000載入後bpx 0040AC8A(第一個跳轉處)
填入註冊碼點確定中斷後 a 40ac8a,然後寫 jmp 40bb01(注意補一個nop),F5返回程式發現註冊成功,
重新執行程式發現還是註冊了.於是在登錄檔中找到註冊標記如下:
REGEDIT4

[HKEY_CURRENT_USER\Software\elf]
"init"="30"
把這個檔案做成個登錄檔檔案就可當序號產生器用了,哈哈
      ******                        ***                        fwnl     
      ***                            **                    2002.2.28         
  ********  **** ** ***  ******    **                        長沙         
      **      *** * **    **  **    **                               
    ***      *******    ***  **    ***                             
    **      ** **      **  ***    ****                               
  ***

相關文章