= 39、More Space 2.7  !  减肥示范教材! =======================================



哇! 这篇 More Space 2.7 一定让 Tommy  这一位新时代的大侠等了很

  久. 因为这些日子都在搞 95 字型的问题, 所以比较没时间来构思破解

  教材. 

  说到这个 More Space 这个东西, 我从 2.4  就开始追了! 但是流程很

  复杂 (有点像在追 VB 的 Appz), 所以没有追到手; 2.5 的程式流程一

  样没变, 所以也没追到要害. 

  在网上的破解注册机, 也是没看到 for More Space 的... 唉..! 曾几

  何时, 在 alt.cracks 看到「More Space」这个字, 爽了老半天! 赶快

  抓下来试试看... 哇! 不行! 在 alt.crack  也看有一堆人喊不行!

  在某天, 在软体介绍站看见 More Space 2.6 ! 哇! 出新版了. 即使没

  砍到要害, 不能使用全部功能, 也要抓新版的来用; 因为起码还有部份

  功能可以用. 

  快马加鞭, 冲到 More Space 的主页 www.contactplus.com! 天啊! 居

  然看到 2.7 !  搞不好当你们看完本信後, 正冲到它的主页时, 就变成

  2.8 啦! 不过本追纵示范, 可不一定能适用别的版本, 不相信你拿去追

  2.4 or 2.5  的试试看...



  O.K ! 进入正题...

  通常在追一个软体之前, 就是要找一个 "明显变化" and  "即时可试"

  的事件出来. 要找这个, 就是要多操作你的目标软体. 像是要砍之前的

  先玩玩看. 先熟目标软体的操作特性, 是有助於设断的 Sense  的! 对



  啦! 再问你们一次! Sense 是不是念做 "先死" ? 

  不过这一点我很放心, 因为会主动去砍的软体, 想必也对它唾涎有一阵

  子罗! 是不是有点像追女孩子一样? 还没有说过一句话, 对方的一切周

  遭, 老早就都背得滚瓜烂熟了! 至是否闭著眼睛, 就可以走到她的房间

  ? 那等以後追上了, 再去求证吧! 太早求证, 会被人家骂 "猪哥" 哦!



  经过对目标软体 More Space 2.7 的熟悉, 我知道在 Duplicate Files

  的视窗中, 点右上角的磁碟机选择栏时, 会跳出一个小窗子来告诉你要

  注册罗! 且履试不爽, 故这个小窗子就是我们的第一据点.



  以前我讲过 lockmytask 有没有忘记? ..什么! 忘光啦! .. O.K! 没关

  系, 反正它在今天是英雄无用武之地, 发挥不出来. 我们再换一招, 试

  试 destroywindow  看看.



  1.进入 More Space 2.7 的 Duplicate Files  的地盘.

  2.点一下磁碟机选择栏的其中一个方格, 此时会跳出一个小窗子.

  3.按 Ctrl-d , 切入 sice .

  4.打 bpx destroywindow, 按 F5 返回.

  5.当点一下 "OK" 时, 会被 sice 拦下来. 如下: 

  

  14F:BFF62391  MOV     CL,B4           ; <- 在此拦下

                JMP     BFF623D7



  6.按一下 F12 , 居然就到了目标领空! 如下:



  14F:417BB4    RET     ; <- 返回至此.



  7.再按一下 F12 , 如下:



  14F:423C6B    CALL    [EDX+68]

                MOV     EDX,[EBP-04] ; <- 返回至此.

  有没有注意到上行有个 CALL ? 通常有 CALL 时, 你就要先看看上面有

  没有判断式. 有的话, 你先暂停所有的断点, 在那个 CALL 设断. 返回

  程式之後, 点一下磁碟机选择栏, 被 sice 拦下来之後, 再用 F10  带

  过那个 CALL , 看是不是小窗子的整个领域之 CALL .

  如果不是, 则必须暂停所有的断点, 再跳到 "步骤-5" , 再按 "OK" 前

  , 再把 DestroyWindow  打开. 按 "OK" 断下来後, 再一直按 F12, 直

  到返回此地的上一层 CALL 为止.



  8.就这样不断的重来按 F12  的往回跳, 最终你会反返回到..如下:

  14F:4C079C    CALL    470FF8  ; <- 在此设断试带 F10  看看.

                JMP             ; <- 返回至此.  



  9.当然这个 CALL 470FF8  就是小窗子的总领空罗! 往上看有..如下:

  14F:4C078E    CALL    4B9378  ; <- 想必是核对总部, 进入观查.

                TEST    AL,AL   ; <- 在此设断试之..

                JNZ     4C97A3



 10.把先前的所有断点再暂停一次. 在 TEST  AL,AL  那一行设断, 压

     F5 , 回目标程式. 一点磁碟机小格, 又会被 SICE 拦下. 



 11.把 AL 改成 1, 试之. 试的结果, 不会跑出小窗子了, 最重要最重

    要的是, 你点的磁碟机, 居然出现打勾! 



 12.那我们就进入那个 CALL 看看..如下:

  :u 4b9378 l 80

  014F:004B9378  PUSH    EBX

                 PUSH    ESI

                 XOR     EBX,EBX

        :                       :



 13.等一等. 我们进来要干嘛? 

  因为我们 <步骤-9> 试 AL 时, 知道 AL=0 返回不利! 所以我们要分

  析此地的 routine, 在什么情况下 , AL 才不会带 0  返回... 继续

  , 如下:

  014F:004B937C  PUSH    00008000

                 CALL    KERNEL32!SetErrorMode

                 MOV     ESI,EAX

                 PUSH    004B93EC               ; <- 此位址 Dump 出来看

                 CALL    KERNEL32!LoadLibraryA  ; <- 载 .DLL 档时, 大多

                                                ;    会用到此函式. 看一

                                                ;    此软体 Help 的注册

                                                ;    章节.

  014F:004B9392  MOV     [004C2C00],EAX

                 MOVZX   EAX,SI

                 PUSH    EAX

                 CALL    KERNEL32!SetErrorMode

                 CMP     DWORD PTR [004C2C00],20

                 JL      004B93E4               ; <- 这里有一个判断.

  014F:004B93A9  PUSH    004B93F8

                 MOV     EAX,[004C2C00]

                 PUSH    EAX

                 CALL    KERNEL32!GetProcAddress

  014F:004B93B9  MOV     ESI,EAX

                 MOV     [004C3964],ESI

                 TEST    ESI,ESI

                 JZ      004B93D9       ; <- 这里也有一个判断..

  014F:004B93C5  MOV     EAX,000004D2

                 CALL    [004C3964]

                 CMP     EAX,000004D2

                 JNZ     004B93D9       ; <- 这里又是一个判断.

  014F:004B93D7  MOV     BL,01          ; <- 01 ? 生命之泉!

         4B93D9  MOV     EAX,[004C2C00] 

                 PUSH    EAX

                 CALL    KERNEL32!FreeLibrary ; 把 .DLL 放掉.

  014F:004B93E4  MOV     EAX,EBX        ; 哦! 原来 EAX  是用 EBX  的

                 POP     ESI

                 POP     EBX

                 RET

  好啦! 就讲到此为止. 要玩, 就自己看著办! 要害的总部, 已经告诉你

  们了; 高手不要说答案, 留给 Hacker 新生自行单步执行练习吧! 也让

  他们多啃一些组合语言的书! O.K ?...下课....



--

喜欢破解注册资料者, 请接如下 Group, 保证让你一路爽到底

alt.crackers  alt.cracks  alt.binaries.warez.ibm-pc