一個遊戲的破解,SolSuite 2002。破文處女篇 (3千字)

看雪資料發表於2002-03-26

一個遊戲的破解,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

相關文章