用W23DASM,查詢字串:regnum
查到一個,不理它,再往下查。
停住後,可以看到一個經典對比:
* Possible StringData Ref from Code Obj ->"RegNum"
|
:00474455 B8FC444700 mov eax,
004744FC
:0047445A E8DDF6FFFF call 00473B3C
:0047445F 3BD8
cmp ebx, eax <--呵呵。
:00474461 750A
jne 0047446D <--只改這裡為9090不行,後面還有暗樁。
:00474463 B801000000 mov eax,
00000001
:00474468 E983000000 jmp 004744F0
用CRACKCODE2000,寫CRACKCODE.INI內容:
[Options]
CommandLine=smenu.exe
Mode=1 //因為註冊碼是16進位制放在記憶體,所以用1
First_Break_Address=47445f
First_Break_Address_Code=3B
First_Break_Address_Code_Lenth=2
Save_Code_Address=EBX
搞定。
不知道為什麼美萍從2.0開始就一直用這種註冊碼對比方法?雖然美萍不斷變換演算法,對了,新版的網管大師學永珍加入了“You are big pig”這種無聊的字元進入運算,你們猜是什麼?是“TRW”“SICE”還有一個好象是“NTSICE”。但對比卻一成不變,所以我一直用上面的方法破。不知道為什麼美萍一直用aspack1.07壓縮?可能他們不知道有unaspack1091,呵。
美萍檢測SICE的方法是執行時檢查C:\AUTOEXEC.BAT裡有沒有SICE的命令列。我就備份了一個空白的AUTOEXEC.BAT,裝載了SICE後,備份原AUTOEXEC.BAT,把空白的AUTOEXEC.BAT放在C盤下,再執行美萍啥事都沒。檢測TRW是檢查TRW是否裝載在記憶體。脫殼後用ULTRAEDIT32等軟體查詢字串"TRW",會找到兩個,把前幾個字元是RAM的那個改為000或其他,另一個是用來加入運算的,改不改無所謂。
另:我是情狼。呵呵。