一個遊戲的破解,SolSuite 2002。
工具:TRW2000(or Ollydbg), UltraEdit(or HexWorkshop)
目標:SolSuite 2002(版本:10.0)
SolSuite 2002是一個紙牌類遊戲的大集合,裡面含有了不少的牌類遊戲,大家有興趣的話可以到華軍軟體園下載。下載地址:http://gwbn.onlinedown.net/down/solsuite.exe
首先宣告我是個初學者,這是我的第一篇破文,其中難免不會有疏漏,請大家指正。
這個軟體只需要一個註冊碼,來啟用軟體成為正式無限制版,在後面需要輸入註冊名時可以任意輸入(只能是英文的且要超過5個字元)。
首先來爆破軟體(炸了它?):
用TRW載入SolSuite.exe,按F5回到程式介面點選Help->RegistrationCode輸入9876543210,按Ctrl+N回到TRW視窗,下萬能斷點bpx
hmemcpy,回車,返回SolSuite介面點OK,被攔下了。按F12十五次即出錯,二攔,下斷點,第二次按F12十四次,然後按F10來到這裡:
004AEFCB |. E8 38BBF5F>CALL SOLSUITE.0040AB08
004AEFD0 |. 8B55
E4 MOV EDX,DWORD PTR SS:[EBP-1C]
004AEFD3 |. 58
POP EAX――――――――――――在這裡用d eax檢視真正的註冊碼(看不到的話按Alt+PaUp三下就可以看到1組十位數的號碼在這串號後面還有一個“1/4”符號可惜是用來升級的,輸入完後它還要問你要你以前安裝的的註冊碼。我哪有哇,才第一次裝呢。不過我們有的是辦法,嘿嘿,找他出來。是3208110309)
004AEFD4 |. E8 2B52F5F>CALL SOLSUITE.00404204
004AEFD9 |.
0F85 99000>JNZ SOLSUITE.004AF078
004AEFDF |. 6A 00
PUSH 0
004AEFE1 |. 8D4D F6 LEA ECX,DWORD PTR SS:[EBP-A]
004AEFE4 |. 8D55 F7 LEA EDX,DWORD PTR SS:[EBP-9]
004AEFE7 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
004AEFEA
|. E8 5DAD130>CALL SOLSUITE.005E9D4C
004AEFEF |. 807D F6 00 CMP BYTE
PTR SS:[EBP-A],0
004AEFF3 |. 0F85 2A010>JNZ SOLSUITE.004AF123
……
004AF089 |. 8D55 CC LEA EDX,DWORD PTR SS:[EBP-34]
004AF08C |. E8 F7F6FDF>CALL SOLSUITE.0048E788
004AF091 |.
8B45 CC MOV EAX,DWORD PTR SS:[EBP-34]
004AF094 |. 50
PUSH EAX
004AF095 |. 8D55 C0 LEA
EDX,DWORD PTR SS:[EBP-40]
004AF098 |. B0 01 MOV
AL,1
004AF09A |. E8 3DBE130>CALL SOLSUITE.005EAEDC
004AF09F
|. 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40]
004AF0A2 |. E8
71BCF5F>CALL SOLSUITE.0040AD18
004AF0A7 |. DB2D 14F34>FLD TBYTE PTR
DS:[4AF314]
004AF0AD |. DEE9 FSUBP ST(1),ST(0)
004AF0AF |. 83C4 F4 ADD ESP,-C
004AF0B2 |.
DB3C24 FSTP TBYTE PTR SS:[ESP]
004AF0B5 |. 9B
WAIT
004AF0B6 |. 8D45 C4 LEA EAX,DWORD PTR
SS:[EBP-3C]
004AF0B9 |. E8 4ABAF5F>CALL SOLSUITE.0040AB08
004AF0BE
|. 8B55 C4 MOV EDX,DWORD PTR SS:[EBP-3C]
004AF0C1 |. 58
POP EAX――――――――――――>在這裡用d eax檢視真正的註冊碼
004AF0C2
|. E8 3D51F5F>CALL SOLSUITE.00404204
004AF0C7 74 5A
JZ SHORT SOLSUITE.004AF123―――>這裡如不跳的話就死啦
004AF0C9 |.
B8 0200000>MOV EAX,2
004AF0CE |. E8 E5BC130>CALL SOLSUITE.005EADB8――――>出錯的地方
所以如果要爆破的話,就在004AF0C7處下code on,然後抄下機器碼,在UltraEdit或HexWorkshop開啟程式檔案查詢並改為:E83D51F5F745A
---------755A(或EB5A)然後重新註冊,隨意輸入什麼“數字”都可以註冊成功但如果你把E83D51F5F745A改成了E83D51F5F755A的話,那麼如果你輸入的是正確的註冊碼反到不能註冊成功,相反如果你把它改成了E83D51F5FEB5A的話,則不管正確與否都能註冊成功。
其次,我們來找註冊碼,即在004AF0C1 POP EAX下d eax檢視。
如果你用Ollydbg的話就更方便了。祝你取得成功。
再次感謝那些作出貢獻的人。謝謝。
Upgrade:1127851092->3208110309
RegCode:1021104190