初學者作品(6) (1千字)

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

Magic Note Desktop utility V2.6b的破解

該軟體是在計算機中加便條的小工具.
破解使用工具:SoftIce 3.23
軟體註冊需要輸入名字和註冊號
任意輸入後,CTRL+D進入SICE設定中斷點:bpx hmemcpy
回到Magic Note按OK,被中斷後按F12鍵12次(第13次出現錯誤資訊)
然後若干次按F10後,找到下面的語句:
call ...
test ax,ax
jnz ....
進入CALL檢視,軟體是比較了兩個碼後,根據結果對ax置位或復位
其中一個程式碼是由註冊號生成的,而另一個程式碼猜測是由名字
生成的,於是重複上面的操作,找到生成這個程式碼的CALL,
發現了該程式碼的生成過程(見下面).
到此再找到另一個程式碼生成的過程,這個軟體就徹底被破解了.
於是追蹤由註冊號產生程式碼的過程,可惜本人水平有限,未查出來(後來發現其實很簡單)
但是不能氣餒,繼續想辦法:
因為我已經知道比較程式碼的位置,所以我在那兒下了斷點.
然後任意輸入註冊碼,然後比較生成的程式碼,希望找到一些線索.
我在註冊碼中只輸入一個數字,然後按OK,被中斷下來後發現,程式碼是輸入數字的HEX格式
Haha...好象被我找到了,趕緊把剛才記錄的資料找出來,比較,果然.
在我努力的結果下,該軟體被破解了.
由名字生成程式碼的過程如下:
第一個字母的ASCII碼左移四位,與第二個字母的ASCII碼相加,結果左移四位,再與第三個
字母的ASCII碼相加,以此類推.最後的結果再與0FF0FFF0相與,再轉為十進位制即是註冊號.
舉例說明:
輸入名字:Killer (ASCII碼為:4B 69 6C 6C 65 72)
4B0
69
5190
  6C
51FC0
  6C
5202C0
    65
5203250
    72
52032C2

52032C2 & 0FF0FFF0 =52032C0

(52032C0)HEX=(85996224)Decimal
註冊號: 85996224

知道了整個過程,編寫序號產生器就很簡單了.
本人剛剛學習破解,此軟體是作品第六號
網上太多的註冊碼,經驗和教程太少.
liutongwu@yahoo.com

相關文章