• 标 题:★破解WinBoost2001 Standard Edion实录 (3千字)
  • 作 者:AirHolder
  • 时 间:2001-7-31 21:24:12
  • 链 接:http://bbs.pediy.com

软件简介:功能强大的系统工具,有着金属质感的操作界面。能帮你设定一百多种 Win95/98 隐藏设定,每个独立的选项都有至少十五种以上的参数可以设置:包括系统、开始选单、Explorer、桌面、Internet 及其它等等,让你的 Win95/98 有特别感觉,并将Win98性能和效率发挥到最大。
破解工具:TRW2000v1.22
难度级别: 简单

破解步骤:
1.用TRW2000载入WinBoost2001,F5返回后按Register.....按钮,弹出注册对话框。
  在弹出的注册对话框中填写:
    注册名:AirHolder
    注册码:111111
2.Ctrl+M弹出TRW主界面,下断点bpx hmemcpy后,F5返回WinBoost2001,按OK确定,这时被TRW2000拦截到。
3.下指令bc *,pmodule到达程序代码区。
4.一直不停按F10,到达如下区域:
  ------
  016F:004BF654 CALL  00403C2C
  016F:004BF659 XOR    EBX,EBX
  016F:004BF65B LEA    ECX,[EBP+FFFFFE90]
  016F:004BF661 MOVSX  EDX,BX
  016F:004BF664 MOV    EAX,[004C1E7C]
  016F:004BF669 MOV    EAX,[EAX]
  016F:004BF66B MOV    EAX,[EAX+48]
  016F:004BF66E MOV    EAX,[EAX+24]
  016F:004BF671 MOV    ESI,[EAX]
  016F:004BF673 NEAR  [ESI+0C]
  016F:004BF676 MOV    EDX,[EBP+FFFFFE90]
  016F:004BF67C MOV    EAX,[EBP-18]
  016F:004BF67F CALL  00403D98
  016F:004BF684 JNZ    004BF690
  ------
  EBP+FFFFFE90有点可疑,在004BF67C处下指令:D EDX,看到一连串的数字与字母的混合序列,怀疑是正确的注册码,赶紧抄下来。不过此时下指令D,你会看到在连续的内存空间中存有很多个注册码(具体多少个我没数,至少30个以上)。奇怪了,怎么会有这么多个注册码?
  先不管,随便抄一个,然后X退出TRW2000。
  重新输入:
    注册名:AirHolder
    注册码:1X2K1-T562F-U087C-6R4U8
  注册成功!!!         
 
破解后记:
1.还是用TRW2000,到达步骤四后,看到
  ------
  016F:004BF67F CALL  00403D98
  016F:004BF684 JNZ    004BF690
  ------ 
  正确的注册码存在EDX中,那接下来的CALL 00403D98语句应该是调用判断输入的注册码是否正确的子程序。到达JNZ 004BF690(如果不为0则跳转至004BF690)程序跳转至004BF690,那么改为JZ 004BF690会怎样呢?即改为不跳转至004BF690,返回程序你会发现弹出注册成功的消息框!!!刚才我们仅仅是改了内存中的程序,下次启动程序时会不会说你没注册呢?
2.我们发现第二次启动程序后,程序仍然是注册过的,这表明什么呢?说明该程序判断注册成功只判断一次。第一次注册成功的结果程序肯定保存在什么地方了,第二次启动后直接读取其中的信息。假若注册不成功则不会保存注册结果,第二次启动后也不会读取其中的信息。
  于是用RegShot和FileMon查看该程序注册成功前后对系统的注册表和哪些文件进行了读写操作。发现WinBoost2001有大量的注册表和文件读写动作,经分析得到了如下更为简捷的注册方法:
    在注册表里HKEY_LOCAL_MACHINE\Software\Magellass\WinBoost 2001下
      新建一个字符串值Registered="True"。
    找到Windows目录下的Win.ini,在其中加入如下信息:
      [WB]
      Owner=AirHolder(这里随便填吧,想填啥就填啥)
      Registered=True
   
      [Settings]
      Min=1
3.暴力破解:
  紧接着后记1,在016F:004BF684 JNZ 004BF690处看到机器码为75 0A C7 05 74 3A 4C 00,改为JZ 004BF690实际上是将机器码75改为74,退出TRW2000和WinBoost2001,用UltraEdit打开WinBoost2001,查找75 0A C7 05 74 3A 4C 00,结果???查了半天告诉我没有。肯定是加壳了,用FileInfo对其一验真身,发现原来其主程序wb2k1s.exe用了AsProtect的壳,怪不得直接找找不到了。用caspr对其脱壳,脱完壳后再按上述改完程序后存盘。好了,现在启动WinBoost2001,按Register.....按钮,无论你输入什么注册名和注册码,程序都告诉你注册成功!!!

                                              文:AirHolder
                                                  2001.7.31.