= 22、Gif gif gif ==========================================================

Gif gif gif

Error Free wrote:
> 
>   Gif gif gif
> 
>   这个 ggg  可爱可爱的, 相信你们手上也都有了吧! 这咧 "死孩子补"
>   居然强迫取分? 不过他也太好运了, 好在我有找到重点, 让他给得逞了
>   . 下次不可以哦~ ... :)
> 
>   1.用 wice 辑载入 95 .
>   2.执行 ggg  , 选择注册, 打下大名
>   3.注册号码先填 78787878.
>   4.按 Ctrl-D , 进入 s-ice,
>   5.用 S 30:0 L FFFFFFFF '78787878'
> 
>   此时 sice 会搜到一个位址 30:004xxxxx . 唉! 以前不是都搜到
>   :8xxxxxxx 吗? 怎么这一次会搜到 004xxxxx ??
> 
>   管它的, 按照 hacker 以往的习性, 就在按一次 s  试之! 果然搜
>   到另一个位址 :8xxxxxxx. 常常用这个 :8xxxxxxx  来追也蛮烦的
>   , 这次就换一条新路走走看..
> 
>   6.用 bpm 30:4xxxxx 设断, 压 F5 返回 ggg .
>   7.按下 ok 後, 会被 sice 拦下来, 如下:
> 
> 14F:BFF780DC    MOV     [EAX+08],ESI    ; <- 在此拦下.
>                 MOV     [ESI+08],EDX
>                 MOV     [EDX+04],ESI
> 
> --- KERNEL32! ---
> 
>   8.按 F12  几下就到 ggg  的领空了, 如下:
> 
> 14F:4358F4      CALL    4504EC
>                 POP     EDI     ; <- 刚到时在此.
>                 POP     EBP
> --- GGG! ---
> 
>   9.若己进入射程范围, 接下我通常会按 F10  开始走.
> 
>   通常要 hack  (砍) 掉一个保护时, 你必须先了解原程式的走向; 用
>   F12 往往会跳的太快, 比较不容易看清楚程式是怎么走的. 必竟现在
>   已经登陆了, 还是小心一点好.
> 
>   走走走, 不久你就会走到....
> 
> 14F:00410F70    CALL    0043E26D
>                 ADD     ESP,P4    ; <- 你会跳回至此
>                 :       :
>         ###     CALL    00410C52  ; <- 可能有问题,
>                 ADD     ESP,08
>         ***     TEST    AL,AL     ; 强迫 AL=1 似乎没什么事
>                 JZ      00410FA1  ; 若是 0, 就注册失败了.
>                 :       :
> 14F:00410F9F    JMP     00410FD1  ; 跳开
> 14F:00410FA1    PUSH    38
>                 :       :
> 14F:00410FC9    CALL    0041E8E1  ; <-这里会跳出讯息的背框, 大
>                 ADD     ESP,1C    ;   小和 "失败窗" 一样, 因此
>                 :       :         ;   暂时猜测至此就危险了.
> 
>   这个地方和通`的情况不太一样, 因为在 ***  那里时, 若令 AL=1
>   并不会发生什么事, 只是会把注册窗收掉而已; 但若令 AL=0 就必定
>   失败. 手上没线其他线索, 所以只能用 F8 , 进入那个 "可能有问题
>   " 的 ### CALL .
> 
>  10.好吧! 那我们就进去看看吧! 如下:
> 
>         :       :       :
> 14F:410C5D      CALL    00410A40  ; <- 要害在此, 进去观摩一下.
>                 ADD     ESP,08
>                 MOVZX   EAX,AL
>                 TEST    EAX,EAX   ; <- 再做一次实验, 令 EAX=1
>                 JNZ     00410C70  ;    居然注册成功.*
>                 XOR     AL,AL     ; <- 在此又让 AL 填  0 了.*
>                 JMP     00410CA4
> 
>   有 "注册成功" 样子 (想当 hacker-乱砍者, 就自己找, 看看画面的
>   那里有注册成功的痕迹) , 那 410C5D 那个 CALL 保证有问题, 而且
>   问题可大了..呵呵! 这下子总部, 即在不远的前方..
> 
>  11.用 F8 进入 410C5D 那个 CALL . 如下:*
> 
>                 :       :
> 14F:00410A4A    CALL    00420785
>                 ADD     ESP,04
>                 CMP     EAX,10          ; 这个 10 ?
>                 JZ      00410A5B
>                 XOR     AL,AL           ; 若让 CPU  走至此, 会 AL=0
>                 JMP     Return_Ready    ; 返回, 那就完蛋了.
>                 :       :
> 
>   举例了那么多次的范例给你们看, 我倒要看看你们的樵夫触机 (Hacker
>   Sense ) 有没有变的更灵敏?
> 
>   在 CMP EAX,10 那行停下来, 看看此时的  EAX 为 8, 你们有没有联想
>   到什么? 试著猜猜看....哎啊! 再想想看! ....有人说啦! 对对对, 没
>   错! 很可能就是注册号码的字数.
> 
>   不过推断并不一定等於事   因为程式不是你写的, 所以一定要求证看
>   看, 这样比较不会被先入为主的观念套死, 而困在这个恐怖的迷宫中.
>   很多保护砍不掉, 通常就是 "太靠势" .
> 
>   实验很简单, 用 BD * 暂停以前的断点, 在 CMP EAX,10 那一行设断,
>   从新注册, 注册码填随便填两三个字, 按 OK , 当被 sice 拦下来时,
>   看一下 EAX  是不是你刚刚打字数. 对了! 可不要再打同样的字数 8,
>   否则若运气不好, 这下子你就追惨了.*
> 
>  12.好! CMP EAX,10  那个 10 就是十进位的 16 嘛! 刚刚那个断点还要
>     用, 按 F5 返回重新注册, 注册码暂时打 16 个数字. 按下 OK ! 被
>      sice 拦下在刚设断的地方, 此时你就继续用 F10  慢慢走, 分析一
>     下此戒备森严的路程. 走到....
> 
>   OK! 在谈之前, 我们必须再回忆一下我们主要的任务到底是什么? 不然
>   你来这边干嘛? 我们要分析此 Routine, 在什么条件下执行完毕时, 不
>   会让 AL=0 返回.
> 
>         :       :       :
> 14F:00410A7A    CALL    004108BB     ; <- 依下看, 此 CALL 很有看头.
>                 ADD     ESP,08
>                 PUSH    ESI
>                 MOV     [EBP-10],AL  ; 把 AL 存起来,
>                 CALL    004208CD     ; 先假设此 CALL 对返回的 AL 无关
>                 ADD     ESP,04
>                 MOV     AL,[EBP-10]  ; 把 AL 提回来
>                 POP     ESI
>                 POP     EDI
>                 LEAVE
>                 RET             ; <- 这个就是 x86 ASM  的 Return 指令哦!
> 
>   求证一下第二个 CALL 与 AL 是否於返回的 AL 值无关; 在 [EBP-10],AL
>   那一行之前, 令 AL=1 就知道, 自己实验试之.
> 
>  13.用 F8 再进入 410A7A 个行 CALL , 按 F10  没多久就...
> 
>                 :       :
> 14F:0041954     MOV     EDX,0046009C
>                 MOVZX   EAX,BYTE[EDX+EAX]
>                 MOV     AL,[EAX+EDI]    ; 拿一个 Byte
>                 CMP     AL,[EBP-14]     ; 比较一个 Byte
>                 JZ      $Next           ; 相等就比较下一个
> 
>                 XOR     AL,AL           ; <- 这个是令 AL=0 的指令.
>                 JMP     Return_Ready    ;    在此返回就...
> 
>          $Next  INC     SI              ; 指标 + 1
>                 CMP     SI,05           ; 比较 5  次
>                 JB      004108F6        ; 小於就跳到前面准备继续比
>                 MOV     AL,01           ; <- 有没有看到 AL=1
>                 :       :
> 
>   哇! 这里就是比较的核心了, 可惜啊! 这里的被比较之两个值, 居然是
>   被运算过的, 我懒的再分析前面的运算式了, 你们就看著办吧!
> 
>   重点已经告诉你们了, 要玩就自己想办法! 好, 下课! 等一下! 那位同
>   学, 再把你隔壁那个摇起来..... O.K ! 下课...
> --
> 喜欢破解注册资料者, 请接如下 Group, 保证让你一路爽到底
> alt.crackers  alt.cracks  alt.binaries.warez.ibm-pc