• 标 题:一个游戏的破解,SolSuite 2002。破文处女篇 (3千字)
  • 作 者:huboo
  • 时 间:2002-3-26 15:00:29
  • 链 接:http://bbs.pediy.com

一个游戏的破解,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