-----------------HEIBOW01_TXT-----------------

 请各位用ARCHIE找  BOOKMM.ZIP
 是一个 NETSCAPE 的 BOOKMARK 和IE 的我的最爱转换的程式
 不注策只能用十次
 解开後    BOOKMM.EXE   217,600 BYTE

这是小弟的一篇拙文...但也花满多心思. ERROR FREE 大哥说过 要破解软体就要
花时间  有耐心  不怕烦   还要会一点组合语言...没学过赶快买本书来学吧!
小弟才学会玩 SOFTICE 一个多月 ,要学的仍然很多

或许有人会问...我POST 此篇目的??

我只是想和大家分享经验...  TW.CRACK.CRACK 又关了
ERROR FREE 大哥 大概太忙...好久没看到他的破解文件了

此软体很好破...对高手根本不算什麽...
但对像我这种 HACKER 新生...就要花时间了

我只是抛砖引玉...
希望各位高手破了什麽软体...也POST 出来...造福世人

但现在越来越多的 CRACKER HACKER 站都关了...不知我有无犯法....
没意外...我大概一个礼拜 POST 一篇我的破解心得...但春假 ...考试就不行了
请大家包涵

  用ERROR FREE大哥的 " 78787878大法 " 记住喔!
  (1) 用 winice 载入 Win95
  (2) 执行  BOOKMM.EXE 先选择注册
  (3) 先填 NAME : 随意  CODE : 78787878(习惯)
  (4) 按 Ctrl_D 进入 winice
  (5) 下指令 S 30:0 L FFFFFFFF '78787878'
       WINICE 会搜出一个位址 ss:ssssssss

  (6) BPM ss:ssssssss   <- 设断点的方法  ( 用法: BPM  [ADDRESS], 此法很好用 )
  (7) 按 F5 把控制权还给 BOOKMM
  (8) 在 BOOKMM 下按 OK ! 被 WINICE 拦截, 如下
  (9) 用 BD * 暂停以前的断点
 (10) 用 BPM ES:EDI-8 设另外一个. ; <- 因为你打 8 个字, 所以减 8
 (11) 按 F5 返回 BOOKMM 一下子又被拦了下来
      ( 以後此点简称"  二拦 "  因为拦两次嘛)
 (12) 二拦 後按四次 F12 到了 (F12 是 跳离这个 CALL )
        (按五次就跑出失败视窗了 就从四次开始 TRACE )
        0137:00401643   CALL .....
        0137:00401649   TEST  EAX , EAX  <-- 从此开始
          请在此设断点 知到如何设了吧!
        0137:0040164B   JNZ  0040167D
        ^^^^ ^^^^^^^^
          ∧    ∧
          丨     |___ offset     应该和我一样
          丨
      SEGMENT
        可能和我不一样
(13) 按F10 (单步执行)...一直按  走到了

         0137:004016a5 call ...
         用 F10 带过此call必完蛋
      看有无方法可避开此 call
      按 F6 让游标上去 按page up 或上下观察
      ( 若游标 在上面...按F9 可设断点... 断点 的那行颜色不太一样,看到了吧!
       BPM [ADDRESS] 也可设断点  看各位喜欢那一种 )

(14)  xxxx:0040167b  jmp 004016aa
       可跳开   xxxx:004016a5
       但刚才没走到  why??
       因为  xxxx:00401649   TEST  EAX , EAX
             xxxx:0040164b jnz 0040167d 那行   有跳跃
(15)
     xxxx:0040164b jnz 0040167d
    上面两行 xxxx:00401643 call 必有问题
    刚刚有设断点吧 !再注册一次 到 此call 按f8进入观察
    目标  让eax = 0
(16)

    xxxx:bff772ec  push ebx <-- 从此开始
    按f10 .....    走到了

    xxxx:bff71310 call  bff71247

    用f10带过此call必完蛋  , 设断,再注册一次,用f8进入

(17)
  xxxx:bff71247  push ebx <-- 从此开始
    按f10 .....    走到了
  xxxx:bff71277  call bff71215
  xxxx:bff7127c  leave
  xxxx:bff7127d  ret   <-- 出来了
  eax 当然不是 0
(18)
  相信大家都知道如何做了吧
  xxxx:bff71277  call bff71215 设断,再注册一次,用f8进入

(19)
  xxxx:bff71215  push  ebp   <-- 从此开始
   按f10 .....    走到了

 xxxx:bff7121a  mov esi,[ebp+8]
 xxxx:bff7121d  mov edi,[ebp+c]
 xxxx:bff71220  xor eax,eax
 xxxx:bff71222  mov ah,[esi]
xxxx:bff71224   mov al,[edi]
xxxx:bff71226   cmp ah,alM
xxxx:bff71228   jb  bff71235
xxxx:bff7122a   ja  bff71235
xxxx:bff7122c   or ax,ax
xxxx:bff7122f   jz  bff71241
xxxx:bff71231   inc esi
xxxx:bff71232   inc edi
xxxx:bff71233   jmp bff71222  ( 比较下一个字元)

 这就是比较的核心

 当程式走到了  xxxx:bff71226   cmp ah,al
 下指令  d esi  可查看记忆体 看到刚才输入的字了吧
 下指令  d edi  可查看记忆体 看到 五个数字吧
 那五个数字就是注册码了
 就这样  破解了 ...

-----------------HEIBOW02_TXT-----------------

 
 用ERROR FREE大哥的 " 78787878大法 "

  (1) 用 winice 载入 Win95
  (2) 执行  WINZIP 先选择注册
  (3) 先填 NAME : 随意  CODE : 78787878(习惯)
  (4) 按 Ctrl_D 进入 winice
  (5) S 30:0 L FFFFFFFF '78787878'

       WINICE 会搜出一个位址 ss:ssssssss

  (6) BPM ss:ssssssss   <- 设断点
  (7) 按 F5 把控制权还给 WINZIP
  (8) 在 WINZIP 下按 OK ! 被 WINICE 拦截, 如下
  (9) 用 BD * 暂停以前的断点
 (10) 用 BPM ES:EDI-8 设另外一个. ; <- 因为你打 8 个字, 所以减 8
 (11) 按 F5 返回 WINZIP 一下子又被拦了下来
      ( 以後此点简称二拦  因为拦两次嘛)

 二栏後在
  XXXX:0040B434  TEST  EAX , EAX   <- 由此开始
  XXXX:0040B436  JZ    XXXXXXXX
  XXXX:0040B43C  CALL  XXXXXXXX
  XXXX:0040B441  TEST  EAX , EAX
  XXXX:0040B443  JNZ   0040B48E

  按 F10 开始 TRACE 吧

  走到了
  XXXX:0040B461  CALL XXXXXXXX
  按 F10 就出现错误讯息了

  往上一看

  XXXX:0040B443  JNZ   0040B48E
  可跳过
  XXXX:0040B461  CALL XXXXXXXX

  所以 在
 XXXX:0040B43C  CALL  XXXXXXXX
  设断...再注册一次 , 在此被拦截 , 按 F8 进入观察

  XXXX:0040AC37 PUSH  EBP  <-  由此开始
  按 F10 开始 TRACE

  走到了
  XXXX:0040ADA0  LEA  EAX , [EBP+FFFFFDF8]
  按 一下 F10  ,下 D EAX 的指令
  看记忆体会看到一行英文字母和数字
  就是注册码了

  这软体很好破...不熟SOFTICE的网友可试试!对高手是不成问题的!

  我以前说过要每礼拜POST一封破解心得...因最近考试...SORRY
  现在比较有空了!
  希望各位高手破了什麽软体...也POST出心德...
  使的用SOFTICE的初学者 ...例如我...
  能够功力一天天进步!  谢谢!


-----------------HEIBOW03_TXT-----------------

本来应该早点post 的
但因敝人最近电脑中毒, 中了3783 的病毒
我恨死这只病毒了...害我 好几天 win95 进不了
format fdisk 再重灌都无效
因为开机片也中毒了
後来总算解毒了
win95 也灌了 20~30次了
敝人到 金帅的网页看
才知  3783 是病毒十大之一...
唉!希望大家都不要中毒!

Midi  Master 7.0 是一个播放 midi 的软体..
功能还不错...但有日期限制...

没地方输入注册码!
先把日期调後...如调到2000年...就不让你执行了

请用 archie 找 mm7.zip
把日期调後 ...看有无出现 不让你执行的画面
 用soft-ice loader      载入

再  xxxx:00457564   <--  开始
按一下 F8
到了     xxxx:00457565  MOV  EBP , ESP
按 F 10 数下...
到了     xxxx:00428eb2  call [esi+24]   按 f8 进入

到了    xxxx:00424530  invalid  按一下 F8
到了    xxxx:00424531  MOV  EBP , ESP
按 F 10 数下...
到了     xxxx:00424615  call  xxxx   按 f8 进入

到了    xxxx:00451198  invalid  按一下 F8
到了    xxxx:00451199  push  esi
按 F 10 数下...
到了     xxxx:004511ad  call xxxxxx   按 f8 进入

到了     xxxx:00453e9c invalid  按一下 F8
到了    xxxx:00453e9d  MOV  EBP , ESP
按 F 10 数下...

到了     xxxx:00453fa1  call xxxxxx   按一下 F10
又跑出了叫你注册的视窗...
往上一看...
            xxxx:00453f88  jae 00453fba
  可跳过  xxxx:00453fa1  call xxxxxx
 大家该知道如何做了吧!
 改机械码 罗!  把 jae 改成 jmp
 下code on 的指令  找 midimast.exe (500736 byte)
 找  dfe0 9e 7330 c683a003
             ^^
          把73 改eb

如此就没有时间的限制了..
但执行仍有 unregistered 的字样
好像破的不太完全喔 !
但已达到我的目的了  没有时间的限制

若不喜欢  用 ultraedit 找 unregistered 改成喜欢的字吧
但别改太多字喔 ! 记得作备分!

这软体对高手来说...不算什麽...
但对初学者...例如我
就要一点时间了
希望各位高手破了什麽软体...
也能把破解心得 psot 出来
大家一起学习...

各位高手...对我的方法有何意见的...应改进的
也请post 出来...谢谢!




-----------------HEIBOW04_TXT-----------------
   请用 ARCHIE 找CAT95.ZIP
  CAT95 是一个小猫随着游标跑的小程式
   没多大用处 但很可爱  很有趣的
   但一执行就 跑出了提醒注册视窗
   且只能用30天
   我尝试用 78787878 大法TRACE
   但发现有个困难...
   我何时失败不知道 ...因注册失败没有出现失败视窗
   所以有困难...   因为没有一个指标可让我寻的

   关於这点...请高手给我点意见...
   像这类软体 注册失败没有出现失败视窗...要何时才知注册失败呢??
   是不是等到程式不再受SOFTICE 控制时 就是失败的时候??
   THANKS!
   所以我用另一个方法

1: 用wldr 载入cat95.exe   385024  byte

2: xxxx:0040FA40  invalid  <- 由此进入
      按一下F8

     XXXX:0040FA46  PUSH  EBP  <- 由此进入
     XXXX:0040FA47  MOV  EBP , ESP
    走到了  XXXX:0040FB8B  CALL  004194D6 <- 按F8进入

3: XXXX:004194D6  PUSH  EBP   <- 由此进入
   按F10  .....
   到了  XXXX:004194E6  CALL  0042231B   <- 按F8进入

4: xxxx:0042231B  invalid  <- 由此进入
      按一下F8
  到了 XXXX:0042231C  MOV  EBP , ESP  <- 由此进入
     按F10  .....
  到了  XXXX:00422353  CALL  [EBX+54]   <- 按F8进入

5: XXXX:004023A0  MOV  EAX , FS:[00000000]  <- 由此进入
   按F10  .....
   不知走到哪里会有喵喵叫...没关系,把喇叭关掉就行了
   到了  XXXX:00402847  CALL  00402FE0
   跑出了提醒注册视窗
   往上一看...

   XXXX:0040283E  CMP  [ECX+000000DC] ,00
   XXXX:00402845  JNZ  00402862
   可跳过  XXXX:00402847  CALL  00402FE0
   所以此跳跃就行了
   为和我知道行了呢??

  因为我到了  XXXX:0040283E  CMP  [ECX+000000DC] ,00

  这行时 下 E ECX+000000DC 的指令
  此时游标跑到上面去了 那个值肯定是00
  随便改一下吧...不等於00即可...我是改01

  果然注册成功了...因为 提醒注册视窗没出来了

  也没有只用30天的限制了.

  所以下CODE ON的指令  就可看出机械码了

  找 751B E894 070000 85C0
     ^^
   改EB

   这样就行了!
 这个程式满容易破的...小弟希望各位高手破了什麽软体

 也把他 POST 出来   跟大家一起分享
 谢谢!
.................................................................



-----------------HEIBOW05_TXT-----------------

clockz v1.1
请用 ARCHIE 找 clockz.zip
这是一个可显示世界各地的时间

(1) 输入名字,注册码...任意填(但这次注册码不要
       填78787878了 ,可填中文 但不能太长)
    按 ctrl-d 切入 winice
    下 bpx hmemcpy
(2) 按F5返回WIN95
    按下OK
(3) 被拦截,下 BD* 暂停中断
    按F12 数下 到了  XXXX:0040BD6D
(4) 按F10 数下 XXXX:0040BDD7  CALL [00413328]
    再按一下F10,就跑出错误视窗
    按一下F6,使游标跑到程式区,按PAGE UP
    往上一看   XXXX:0040BDC2  JMP  0040BDDD
    可跳过   XXXX:0040BDD7  CALL [00413328]
    但程式没走到这一行, WHY??
    再往上一看,
    XXXX:0040BDA2  CMP [EBP-4],1
    XXXX:0040BDA6  JNZ 0040BDC7
    因此时有跳跃,所以啦!
    按上下键调整使游标停在 XXXX:0040BDA2 按F9,就是设断
    按F5,离开WINICE,再注册一次
(5) 在XXXX:0040BDA2 被拦,下 E EBP-4 1 的指令
    就是改记忆体的值, 按F5
    跑出了注册成功的画面了...
    嗯 ! 有点爽了!
    但依惯例,可能还没注册成功
    只知此比较有问题而已
(6) 离开程式,再注册一次
    在   XXXX:0040BDA2 被拦
    分析以下几行

    XXXX:0040BD9A  CALL 0040CB2E
    XXXX:0040BD9F  MOV  [EBP-4],EAX
    XXXX:0040BDA2  CMP DWORD PTR [EBP-4],1
    XXXX:0040BDA6  JNZ 0040BDC7

    可知要另 EAX=1 才不会跳跃,
    可知XXXX:0040BD9A  CALL 0040CB2E 有问题,设断点
(7) 再注册一次,XXXX:0040BD9A  CALL 0040CB2E 被拦下
    按F8进入观察  , 目标 使 EAX=1
(8) 按F10 开始TRACE,
    要按很久喔! 会上下来跑去,
    想偷懒可下 G 0040CC37
    可直接跳到 XXXX:0040CC37
    到了 XXXX:0040CC37 CMP [EBP-4],00
         XXXX:0040CC3B JNZ 0040CC8E   <- 设断
    跳到 0040CC8E 就GAME OVER 了,
    WHY? 看看程式就知
(9) 再注册一次,被拦截
    若不是在XXXX:0040CC3B,可能是停在以前的断点
    按F5, 到了  XXXX:0040CC3B
    按一下 A 在按ENTER
    A 就是 组译的意思
    XXXX:0040CC3B 要确定是在这个位址喔
    JNZ 0040CC8E 的长度是六个BYTE,知道如何看吧...

    我想让它不跳跃...
    所以改成六个 NOP
    XXXX:0040CC3B NOP (按ENTER)
    XXXX:0040CC3C NOP (按ENTER)
    XXXX:0040CC3D NOP (按ENTER)
    XXXX:0040CC3E NOP (按ENTER)
    XXXX:0040CC3F NOP (按ENTER)
    XXXX:0040CC40 NOP (按ENTER)
    XXXX:0040CC41    不下任何指令,直接按ENTER
    按F5,可执行了
    画面左下角有个地球...按一下,选ABOUT
    看到自已的名字了吧 注册码也看到了吧
    如果刚才填78787878就...

    由此可知刚才改城市是对的,可注册又不会影响程式执行

    所以离开,重新注册,到了
    0040CC3B 的地方, 下CODE ON 的指令
    观察机械码...
 所以用 ULTRAEDIT 编辑CLOCKZ.EXE  177152 BYTE
 把  837DFC00 0F854D000000
 改  -------- 909090909090
          ------- 是不变的意思
就 OK啦!

这个软体也满好破解的 还在敝人的能力范围
希望大家破解了什麽软体...
能post出来和大家一起分享...
大家彼此交流...
thanks

我是习惯改机械码...因我比较懒嘛...
我很欣赏能把注册码算出来的人...




-----------------HEIBOW06_TXT-----------------
嗨! yhq
最近我又写一篇了...如下
----------------------------------------------------------------

      CD WIZZARD 4.21
(1)       请用 ARCHIE找 CDW421.ZIP 解开後 CDW.EXE 432128 BYTE

                 FIRST   INITIAL     LAST NAME    PASSWORD   先任意填
            如   交大    资科      骇客版       12345

            按 CTRL-D 切入 WINICE       ,下  BPX HMEMCPY
        按F5返回WIN95 , 按下 Register
(2)     被拦後,按数下F12到了
        xxxx:004140C6   LEA  EAX,[EBP+FFFFFF78]
        开始TRACE....按数下F10到了
        xxxx:004143F2  CALL XXXXXXXX  出现了注册失败视窗
        往上找看有无可跳离此 CALL 的跳跃
            在 xxxx:0041431A  CALL  004150CB
             xxxx:0041431F   ADD  ESP,0C
             xxxx:00414322   TEST  EAX  EAX
             xxxx:00414324   JZ  00414342
            因为这个判断有跳跃
        奇怪,这中间有很多判断,为何我知到这个!
        因为我试过很多个,所以我知到
        ERROR FREE      大哥(或许可叫他叔叔了,他32岁了!

    嗯 ! 好像还是大哥好听一点...  ^_^)
        说过 , 当HACKER要多试!
            计得上次 TIPPY 叫我们试码...那时我大概试了几十次
            这次没那麽多判断好试...网友可试试!
(3)        xxxx:00414322   TEST  EAX  EAX
            在此下 R EAX 1
        即可注册成功了!
        所以  xxxx:0041431A  CALL  004150CB  设断点
        按F8进入观察
(4)     xxxx:004160CB  CMP  [ESP+8] , 8  <-- 由此进入
        开始TRACE....按数下F10到了
        xxxx:004150F2  CMP [ESP+C] , AX
        xxxx:004150F7  SETZ CL
        下 D ESP+C 的指令   在记忆体那栏可看到 39 30
        倒过来是 30 39     用工程计算机把3039的16进制
        转为10进制得 12345
        正好是刚才输入的 PASSWORD
        此时AX=263     用工程计算机把263的16进制
        转为10进制得 611
        就是注册码了!

        所以
           FIRST   INITIAL     LAST NAME    PASSWORD
            交大    资科        骇客版       611
----------------------------------------------------------------

唉!
最近好忙...常常熬夜!
我看这学期结束
寿命大概减少五年了...
加油吧!
对了,
请问你是用 softice for win95 v2.0 还是 v3.01啊
我trace某些软体常当机
有些就不会,真讨厌啊!
--

   空中云雀  是重金属狂热份子




-----------------HEIBOW07_TXT-----------------
发信人: heibow.bbs@bbs.cis.nctu.edu.tw (空中云雀), 信区: hacker
标  题: 破ClipMate 4。26
发信站: 交大资科_BBS (Mon Jun 23 17:33:47 1997)
转信站: csmcbbs!news.cis.nctu!cis_nctu
Origin: 140.129.42.108

Clip mate  4.26
请用 ARCHIE 找  CM32_426.ZIP
解开安装完之後  clipmt42.exe   693760 byte

1: 先任意填名字,注册码
   如TRACY     12345678
2: 按ctrl-d 切入winice 下bpx hmemcpy
   按F5返回win95
3: 按下OK ,被winice拦下,下bc*  ,清除断点,按数下F12
   直到了clipmate的领空,也就是看到下面那条
   绿线写着clipmt42
   也就是  xxxx:0042cc81 pop ESI
   再按六下F12 就跑出了注册失败视窗了
4: 再下bpx hmemcpy , 再注册一次, (记得拦下之後,下bc *)
   到了 xxxx:0042cc81 pop ESI
   刚才按六下F12 就跑出了注册失败视窗了,
   这次按五下F12 就行了.
   到了 xxxx:0044b9e1  mov  eax , [ebp-0110]
        xxxx:0044b9e7  call  0040382c
5: 开始trace 吧 ! 按F10数下 到了
   xxxx:0044bb17   call  00406bcc
   xxxx:0044bb1c   cmp   eax, 0b
   xxxx:0044bb1f   jnz   0044bc8e
   xxxx:0041bb25   lea   eax,[ebp-0c]
   eax 和b比 ? b是16进位 转成十进位就是11
   此时eax=8  就是刚才输入的注册码的字数
   不然可在此设断点,再注册一次,
   当然注册码要多或少几个字来比较
   可知注册码要11个字
6: 走完这四行,下 D EAX  就可看到一个英文字母
   和一串数字 例如我是看到 F0110802924
   算算看共有11个字,正好和注册码的字数相同
   先把它抄下来 ,按F5离开winice
   填入刚才的抄到的注册码...
   好!注册成功了!

7: 整理一下   name: TRACY
      register key: F0110802924
   这软体很好破, 注册码直接写在记忆体上.
   满适合刚学softice的人
   例如我...
   希望各位高 手破了什麽软体,也能将心得post出来
   大家一起研究....谢谢!

後记: 期末考考完了 ,又可开始来玩破解了
      不过,我升上去就大四了
      暑假要补习...希望研究所能让我黑到一间
      至少要上本校的研究所(在台北市的)

--

   空中云雀  是重金属狂热份子
--
 * Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>



-----------------HEIBOW08_TXT-----------------
发信人: heibow.bbs@bbs.cis.nctu.edu.tw (空中云雀), 信区: hacker
标  题: 破Screens 95 V2。0
发信站: 交大资科_BBS (Thu Jun 26 16:17:52 1997)
转信站: csmcbbs!news.cis.nctu!cis_nctu
Origin: 140.129.42.94

请用archie找screens95
   安装好之後screens.exe 121344 byte
  注意,和screen95不一样喔
  这是一个虚拟桌面的软体
  类似xwindows的虚拟桌面
  此软体的保护和stiletto很像
  也就是注册码输入正确才能按下OK的软体
  好!开始吧做 hacker 爱做的事吧!

1: name 先任意填
2: 按ctrl-d 切入winice 下bpx hmemcpy
   按F5返回win95
3: 注册码先任意填一个字, 立刻被winice拦下
4: 按数下F12,  注意  winice画面下方那一条
   绿线跟screens95有关吗?是不是系统档案?

5: 果然到了  xxxx:10001be2  push  esi
   winice画面下方那一条绿线写着
   sutils....... 应该不是系统档案
   设断点,按数下F12,到了
   xxxx:10001bf8  mov  ecx , [10006c88]
   设断点,再按数下F12就又回到win95了

6: 按ctrl-d 切入winice ,下bc 0
   就是清除hmemcpy的断点
   按F5返回win95
   注册码再填一个字,立刻被winice拦下

7: 按F10数下,到了
   xxxx:10001C14  CALL  10001EB3

   走完了这行 eax=0 试探性的下 r eax 1
   按F5 返回win95
   竟然发现  OK 的按钮 可按了
   所以在 xxxx:10001C14  CALL  10001EB3
   设断点,在注册一次,被拦截,按F8进入观察

8: 进去之後...按F10数下,到了
   xxxx:10001ec0  call  [100082b8]
   xxxx:10001ec6  cmp   eax , 11
   xxxx:10001ec9  jnz   100020d3

   这是检查注册码的字数
   11是十六进制 换算成十进制是17
   也就是说code要17个字
   先下r eax 11吧
   跳到100020d3 就 game over了
  到了这边不妨重新注册一次
  先下 bd *
  注册时随意填吧
  如我是 name : TRACY
  注册码 : 111-1111-1111111
  注册码 先填16个字
  按ctrl-d 切入winice ,下be* 使所有的段点enable
  不过刚才 bpx hmemcpy 以清掉了 就没了
  刚才 xxxx:10001C14  CALL  10001EB3
  设断点,被拦截,按F8进入观察


9: 到了
   xxxx:10001ecf  cmp  [esi+3] , 2d
   xxxx:10001ed3  jnz  100020d3
   xxxx:10001ed9  cmp  [esi+8] , 2d
   xxxx:10001edd  jnz  100020d3
   下d esi+3 看看是什麽吧!
   这是检查注册码 的第四个字和第九个字是不是 " - "
   下 e esi+3 2d
      e esi+8 2d 吧
10:
   所以这注册码可分成三个区段
   此程式一段一段的检查
  走到了这边
  从 xxxx:10001f4x(那个x是我忘了记录 大概就在那附近)
  到 xxxx:10001fa0  是产生注册码第一段的字

  可下d 0066ed78  察看那附近的记忆体的变化
  就可知道会由name产生什麽字了
  以我而言, 会产生 UKE

  在此我先不讲, 因我下一篇要讲简单注册机的作法
  xxxx:10001fd1  call  [100082b4]
  xxxx:10001fd7  test  eax , eax
  xxxx:10001fd9  jnz  100020d3
  这是检查  注册码第一段的字是否和刚才产生的是否一样
  不一样就game over了

11:
   到了 xxxx:100020ba  cmp  si,[ebp+10]
        xxxx:100020be  jne  100020d3
        此时esi=11111111
        正好是注册码最後一段
        下d ebp+10 看到记忆体写着 ce6c
        和si比较 那也就是说si=6cce
        就行了
       所以 name: TRACY
       注册码是 UKE-1111-11116CCE
       各位可能觉得奇怪
       UKE-1111-11116CCE
           ^^^^ ^^^^
     这八个数目字难道不检查吗?
     有啊,会检查是不是数字还是英文
     只要是数字都可以
     如
     而6CCE是固定不变的
     只有前三个字会变, 依照输入的名字不同

     还有 name 一定要输入英文,数字好像不行
     至少要五个字 不能有空白

--

   空中云雀  是重金属狂热份子
--
 * Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>



-----------------HEIBOW09_TXT-----------------
发信人: heibow.bbs@bbs.cis.nctu.edu.tw (空中云雀), 信区: hacker
标  题: 破Screens 95 V2。0 之二
发信站: 交大资科_BBS (Thu Jun 26 16:45:14 1997)
转信站: csmcbbs!news.cis.nctu!cis_nctu
Origin: 140.129.42.94

有一件事想请教高手
请问这用C/C++如何写呢?
这是用组语比较好写啦
那请问用C/C++呢?
如shl , shr ,rol, ror,EAX,EDI,
那些指令要如何用C/C++写呢
我以前基础不好
C/C++  组语  都只懂得皮毛而已
或有没有这类的书可叁考呢
访间一般的书好像都没有耶
请指导一下小弟吧
谢谢!
    再来我要讲的是screens 95 v2.0 的注册机制作
    这是承袭上一篇的文章
    已知道注册码有三段,只有第一段是依照name产生的
    以下就是如何产生第一段的那三个英文字

    例如说我  name 输入 TRACY
    name一定要输入中文,中间不能有空白,或数字

               MOV  EAX,[ebp-24H] ; 把T给eax, eax=00000054
cs:10001f4b    MOV  ECX,[ebp-20H] ; 把R给ecx, ecx=00000052
               SHL  ECX,4         ;  ecx=00000520
               SHL  EAX,10        ;  eax=00540000
               OR  ECX,[ebp-1C]   ;  ecx OR " A "
                                  ;  520 OR 41 = ecx=00000561
               SHL  ECX,4         ;  ecx=00005610
               OR  ECX,[ebp-18]   ;  ecx OR " C "
                                  ;  5610 OR 43 =ECX=00005653
               SHL  ECX,4         ;  ECX = 00056530
               OR  ECX,EAX        ;  ECX = 00556530
               OR  ECX,[ebp-14]   ;  ECX OR " Y "
                                  ;  ECX =00556579
               MOV  EAX,ECX       ;  EAX=ECX=00556579
               SHR  EAX ,10       ;  EAX=00000055
                                  ;  第一个字出来了  是 U
               MOV  [ebp-24],EAX  ;  使 T 变 U
               XOR  EAX,EAX       ;  eax=0
               MOV  AL,CH         ;  EAX=00000065
               AND  ECX,0000000FF ;  ECX=00000079
               MOV  [ebp-20],EAX
               MOV  [ebp-1C],ECX
cs:10011f80    LEA  ECX,[ebp-24]
cs:10011f83    LEA  EAX,[ebp-18]
               CMP  ECX,EAX
               JAE   10001fa0
               CMP DWORD  PTR [ECX],5AH
               JLE  10001f9b
cs:10001f8f    MOV  EAX,[ECX]
               SUB  EAX,1A
               MOV  [ECX],EAX
               CMP  EAX,5A        ; 5AH 是" Z " ,比Z大就减1AH
               JG    10001F8F
cs:10001f9b    ADD ECX,4
cs:10001f9e    JMP  10001F83
cs:10001fa0    push  4

此时[ebp-24],[ebp-20],[ebp-1C]
就是放注册码的前三个字了

以下就是我写的注册码仅供叁考

是因为算法还不会很复杂,我才有办法写
有些软体很复杂
我就写不出来了

        所以可如下组译
以下只是范例,不一定要如此写
=
=========================================================
==========================================================

..386
STACK  SEGMENT  STACK
       DW  1024 DUP(?)
STACK  ENDS
DATA  SEGMENT
NEWLINE  DB 0DH,0AH,'$'
MSG1   DB  '这是Screens 95 v2.0注册机,',0dh,0ah
MSG4   DB  'This program  can  show  Chinese. Do you see Chinese ?',0dh,0ah
msg2   db  '请输入您的英文名字,至少要五个字,不能有空白',0dh,0ah,'$'

NAME1  DB  'TabcRdefA   C   Y    FECDBA9876543210$'
MSG3   DB  '注册码是     '
CODE1 DB '111-1234-56786CCE$'
DATA  ENDS
CODE  SEGMENT  USE16
PROG  PROC  FAR
      ASSUME  CS:CODE , DS:DATA , SS:STACK
      PUSH  DS
      MOV AX,0
      PUSH  AX
      MOV  AX , DATA
      MOV  DS , AX
      MOV  ES , AX
        LEA DX,MSG1
        MOV AH,9
        int 21h
        CLD
        LEA ESI,NAME1
        MOV CX,25H
INITIAL:
        MOV BYTE PTR [ESI],0
        INC ESI
        LOOP INITIAL
        MOV AH,1
        LEA  EDI,NAME1
        MOV  BL,0
READ:
        INT 21H
        CMP AL,0DH
        JE  READ_OVER
        CMP AL,60H
        JB NOUPCASE
        SUB AL,20H
NOUPCASE:
        CMP BL,5
        JA READ
        STOSB
        INC  BL
        ADD  EDI,3
        JMP  READ
READ_OVER:
        CLD
        LEA  EDI,CODE1
        LEA  DX,NEWLINE
        MOV  AH,9
        INT  21H
        LEA  ESI,NAME1+24H
        MOV  EAX,[ESI-24H]
        MOV  ECX,[ESI-20H]
        SHL  ECX,4
        SHL  EAX,10H
        OR  ECX,[ESI-1CH]
        SHL  ECX,4
        OR  ECX,[ESI-18H]
       SHL  ECX,4
        OR  ECX,EAX
        OR  ECX,[ESI-14H]
        MOV  EAX,ECX
        SHR  EAX ,10H          ;  FIRST----------------------
        MOV  [ESI-24H],EAX
        XOR  EAX,EAX
        MOV  AL,CH
        AND  ECX,0000000FFH
        MOV  [ESI-20H],EAX
        MOV  [ESI-1CH],ECX
        LEA  ECX,[ESI-24H]
ANOTHER1:
        LEA  EAX,[ESI-18H]
        CMP  ECX,EAX
        JAE  FINISH
        CMP DWORD  PTR [ECX],5AH
        JLE ANOTHER
CHANGE:
        MOV  EAX,[ECX]
        SUB  EAX,1AH
        MOV  [ECX],EAX
        CMP  EAX,5AH
        JG  CHANGE
ANOTHER:
        ADD ECX,4
        JMP ANOTHER1
FINISH:
        LEA EAX,[ESI-10H]
        CLD
        LEA SI,NAME1
        LEA DI,CODE1
        MOV CL,3
LOAD1:
       LODSB
        STOSB
        ADD SI,3
        LOOP LOAD1
        MOV AH,9
        LEA EDX,MSG3
        INT 21H

OVER:
      RET

      PROG  ENDP
      CODE  ENDS
        END  PROG

==========================================================
==========================================================

--
 * Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>



-----------------HEIBOW010_TXT-----------------

From - Thu Jul 10 16:14:07 1997
X-POP3-Rcpt: s42049@mercury
Received: from bbs.csmc.edu.tw (bbs@bbs.csmc.edu.tw [140.128.136.11]) by mercury.csmc.edu.tw (8.6.12/8.6.12) with ESMTP id GAA11530 for <s42049@mercury.csmc.edu.tw>; Wed, 9 Jul 1997 06:54:34 +0800
From: yhq.bbs@bbs.csmc.edu.tw
Received: (from bbs@localhost) by bbs.csmc.edu.tw (8.7.5/8.6.9) id HAA21542 for s42049@mercury.csmc.edu.tw; Wed, 9 Jul 1997 07:23:01 +0800
Date: Wed, 9 Jul 1997 07:23:01 +0800
Message-Id: <199707082323.HAA21542@bbs.csmc.edu.tw>
X-Authentication-Warning: bbs.csmc.edu.tw: bbs set sender to yhq.bbs@bbs.csmc.edu.tw using -f
Reply-To: yhq.bbs@bbs.csmc.edu.tw
To: s42049@mercury.csmc.edu.tw
Subject: 破 UnMozify(转寄)
X-Forwarded-By: yhq (网中魔)
X-Disclaimer: 中山医学院BBS -- 絮情小站 对本信内容恕不负责。
Precedence: junk
X-Mozilla-Status: 2001

发信人: heibow.bbs@bbs.cis.nctu.edu.tw (空中云雀), 信区: hacker
标  题: 破 UnMozify
发信站: 交大资科_BBS (Tue Jul  8 23:21:20 1997)
转信站: csmcbbs!news.cis.nctu!cis_nctu
Origin: 140.129.42.94

破解UnMozify
这是可用来离线浏览一些站台
实际功能我也不是很清楚
请用archie找 unmoz_ns.exe

(1)先执行它->file->UnLock UnMozify
然後随意填入注册码
下ctrl-d 进入winice   然後下指令 bpx hmemcpy
(2)按F5返回win95再按下ok
然後会被winice拦截,再按数下F12
到了cs:004515c1 mov edx,[ebp-0104]
    cs:004515c7 lea eax,[ebp-0100]
(3)按数下F10到了cs:00451513   call 00433c10
按F8进入此副程式
(4)再按数下F10到了cs:00433c2f  call [ecx+8]
按 F8进入此副程式
(5))再按数下F10到了cs:0043415b  call xxxxxx
                   cs:00434160  cmp [esi+10c],0
                   cs:00434167  jz 0043416b
此时下d esi+10c 会看到记忆体显示零,所以此时会跳跃
会跳跃表示注册失败了,所以下 code on
然後改机械码,把 cmp [esi+10c],0
改成 inc byte ptr[esi+10c]

但少一buye ,改成nop即可
所以找UnMozify.exe
 找 80be0c01000000
 改 fe860c01000090
这样就行了
但选about
只看到 register to
空白的...
管他的...能用就好了

--

   空中云雀  是重金属狂热份子
--
 * Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>