= 18、ACDsee for win95 1.0 =================================================

ACDsee for win95 1.0

Error Free wrote:
> 
>   ACDsee for win95 1.0
> 
>   本版的注册核对 routine  和 beta10 的一模一样, ACDsee95 1.0 beta
>    10 我讲过了, 本篇就是完全 Copy beta10  的那篇示范, 再改了一下
>   小地方而已.
>   -----         -----           -----           -----
>   这个程式很好追, 比上次那个 IFA  难追一点点而已, 但是因为注册的
>   运算式蛮复杂的, 所以我就不分析了, 建议直接用强迫跳过去的.
> 
>   想练习破解的人, 此程式说难也不难, 你们不妨只看我的 (1)-(11) 的
>   基本动作, 其它的自己先练习看看. 追的到了, 那你在 Hacker 学院的
>   新生训练也就过啦!
> 
>   (1) 用 winice 载入 Win95 .
>   (2) 执行  acdsee version 1.0, 选择注册, 输入大名.
>   (3) 注册码先填 78787878 <- 用此数 (78787878) 是习惯问题.
>   (4) 按 Ctrl_D 进入 winice
>   (5) S 30:0 L FFFFFFFF '78787878'
> 
>        WINICE 会搜出一个位址 ss:ssssssss
> 
>   (6) BPM ss:ssssssss   <- 设断点
>   (7) 按 F5 把控制权还给 acdsee .
>   (8) 在 acdsee 下按 OK ! 被 WINICE 拦截, 如下
> 
> xxxx:9EAA  REPZ MOVSD
>                 POP     ECX    ; <- b此点拦下, 你就开始按 F10
>                 AND     ECX,3
>            REPZ MOVSB
>                 XOR     DX,DX   ; <- 按到此, 先停下来
> 
>   (9) 用 BD * 暂停以前的断点
>  (10) 用 BPM ES:EDI-8 设另外一个.
>  (11) 按 F5 返回 acdsee, 一下子又被拦了下来, 如下:
> 
>                 MOV     EDI,EBX
> 14F:40363C      REPNZ   SCASB   ; <- 在此点拦下
>                 NOT     ECX
>                 DEC     ECX
> 
>  (12) 再用 BD * 暂停以前的断点, 用 F10  一直走到如下:
> 
>  注: 你会经过许多判别, B算的 Loop , 自己用眼睛分析一下
>      , 利用游标的上下及 F7 键, 来缩简追踪的时间哦!
> 
> 14F:4035C9      CALL    403620          ; <- 你会从此 Subroutine
>                 LEA     EAX,[ESP+48]    ; <- 返回至此
> 
>                 LEA     ECX,[ESP+74]    ;    想用 '排列组合' 来猜码,
>                 ADD     ESP,10          ; <- 可以把断点设在此.
>                                         ; 用 "d eax" 或 "d ecx" 来看资料.
> 
> ; 不过此软体用 Username 来顺著猜 '注册码' 并不好猜; 不过你可以牵
> ; N它产生的名字, 就是先选注册码, 再用 '排列组合' 反推可注册成功
> ; 的 Username , 就比较容易多了.
> 
>                 MOV     DL,[EAX]        ;
>                 CMP     DL,[ECX]        ; <- 比较奇数字符*
>     4035DD      JNZ     $Error          ; -> 跳到 4035F9 就玩完了
> 
>                 OR      DL,DL
>                 JZ      $Yes            ; <- 是零, 就是比较完了.
> 
>                 MOV     DL,[EAX+1]
>                 CMP     DL,[ECX+1]      ; <- 比较偶数字符*
>                 JNZ     $Error          ; -> 让 CPU  走到 $Error 就寿了.
>                 OR      DL,DL
>                 JNZ     $next..         ; 不是零, 就是比较还没完
> 
>     $Yes        XOR     EAX,EAX         ; <-- Yes!
>                 JMP     $Ret_Rdy
>                                         ; 最後的提示:
>     $Error      SBB     EAX,EAX         ; <- 绝对不能让 cpu  走到这一行
>                 SBB     EAX,-01         ;
>                 :       :
>     $Ret_Rdy    :       :
> 
>  (13) 重点就是在 4035DD , 要害我已经告诉你们了, 其它的自己想办
>       法改. 会的人不要说答案, 我一定要强迫想入门 Hacker 的线上
>        "魔友" 去看组语的书.
> 
>  一个 Soft-ICE  的指令说明: 当你想看机械码时, 可以用 code on ..
> --
> 喜欢破解注册资料者, 请接如下 Group, 保证让你一路爽到底
> alt.crackers  alt.cracks  alt.binaries.warez.ibm-pc