• 标 题:智能五笔 v5.0版的破解文章, (4千字)
  • 作 者:jance
  • 时 间:2001-4-20 17:08:54
  • 链 接:http://bbs.pediy.com

智能五笔注册器(适用于5.0及以前版本)

  这是我做的最后一个关于智能五笔的破解!之后我不会接受对智能五笔的破解
请求,请大家能谅解!

你可以通过以后两种方法注册智能五笔:

一.自动注册法
1.拷贝本程序到智能五笔的安装目录下
2.运行本程序,按“注册码”按钮这时本程序将
自动产生注册文件,同时把注册码显示在编辑框里。

二.手动输入信息码
1.把本程序拷贝到一个空的目录下,运行!
2.打开记事本,把输入法切换到智能五笔5.0下,右击智能五笔输入区
在弹出的菜单里选择“用户注册”,然后再选择“注册信息表”!
3.你可以在这个文件的底部看到一些注册信息内容,如我的电脑上是:

YTY567RQPN4DUSZUV19; NIJKL6TUVQRSFE234SA
CABC1H1J5IJK45682IR; 79RTYSEF6HIY7WXYB12
JUVCPCPN2OQRSCUPWEK; E14HOM89T73G5WMMOJK
NOPQIKTUVWXYZ1NK5I0

4.以上是原始的注册信息内容,以下我把需要的内容打'*',你要把这些内容复制
到注册器的信息码框里

YTY567RQPN4DUSZUV19; NIJKL6TUVQRSFE234SA
CABC1H1J5IJK45682IR; 79RTYSEF6HIY7WXYB12
JUVCPCPN2OQRSCUPWEK; E14HOM89T73G5WMMOJK
    **                  **
NOPQIKTUVWXYZ1NK5I0
    **
如我的就是PCOMIK,总共6个字符,然后按注册码按钮,这时本程序将自动产生注册
文件chenyhzc.chu,拷贝到智能五笔的安装目录下,覆盖原来的就可以!


备注:一般你总是用第一种方法,第二种方法只有当第一种方法注册不成功时才用!
一般在4.5和5.0上,第一种方法总是可以的!其它版本我没测试过!本注册器可以
用在智能五笔5.0及以前的版本,对于以后的版本我想陈虎先生一定会在程序中增加
检查注册码的位数,很可能会使原来的注册码失效!

另:
    最近在开发一个文本编辑器,在功能及性能上除了要向流行的文本编辑器看齐
外,我还想在源程序编辑方面有所突破!等过段时间推出Beta版,如果大家有什么
意思,请给我来信,同时如果你觉得这个程序还可以的话,请帮我推广一下!

    jance
    2000.12.23
    http://jance.on.net.cn
  http://jance.363.net
    jancelin@263.net


附:

;******************智能五笔的注册码验证片断******************************
;
;注册码为8个字节,第1~4字节到目前的5.0版还没校验,所以你可以取些合适的字符
;如:0~9大写的A~Z等等。相信陈虎先生在我公布注册器后会检查第1~4字节。接下来
;的3个字节由注册提取的6个信息码而得。最后一个字节的值由前7个字节的经过一种
;运算得到!
;jance 2000-12-23
;

0167:10005473  MOV      ECX,[1001F7F4]
0167:10005479  MOV      EDX,[1001E4F0]
0167:1000547F  CMP      ECX,EDX
0167:10005481  JZ      1000548C
0167:10005483  MOV      DL,[EAX+0B]
0167:10005486  MOV      [1001F932],DL
0167:1000548C  PUSH    EAX
0167:1000548D  CALL    10004DA0    ;验证第8字节
0167:10005492  MOV      BL,AL        ;AL为0,则为正确,并保存结果到BL,以下的验证过程同此
0167:10005494  MOV      EAX,[1001FA14]
0167:10005499  ADD      ESP,BYTE +04
0167:1000549C  CMP      EAX,C8        ;测试输入汉字的个数,如果大于C8即200个,则验证注册码
0167:100054A1  JNG      10005518
0167:100054A3  MOV      EAX,[1001E43C]
0167:100054A8  MOV      ECX,[1001E48C]
0167:100054AE  ADD      EAX,ECX
0167:100054B0  PUSH    EAX
0167:100054B1  PUSH    EBP
0167:100054B2  CALL    10004F40
0167:100054B7  ADD      ESP,BYTE +04
0167:100054BA  PUSH    EAX
0167:100054BB  PUSH    BYTE +05
0167:100054BD  CALL    10004EA0    ;验证第5字节
0167:100054C2  MOV      EDX,[1001E48C]
0167:100054C8  ADD      BL,AL        ;保存结果
0167:100054CA  MOV      EAX,[1001E43C]
0167:100054CF  ADD      ESP,BYTE +0C
0167:100054D2  ADD      EAX,EDX
0167:100054D4  PUSH    EAX
0167:100054D5  PUSH    BYTE +01
0167:100054D7  CALL    10004F40
0167:100054DC  ADD      ESP,BYTE +04
0167:100054DF  PUSH    EAX
0167:100054E0  PUSH    BYTE +06
0167:100054E2  CALL    10004EA0    ;验证第6字节
0167:100054E7  MOV      ECX,[1001E48C]
0167:100054ED  MOV      EDX,[1001E43C]
0167:100054F3  ADD      ESP,BYTE +0C
0167:100054F6  ADD      EDX,ECX
0167:100054F8  ADD      BL,AL        ;保存结果
0167:100054FA  PUSH    EDX
0167:100054FB  PUSH    BYTE +02
0167:100054FD  CALL    10004F40
0167:10005502  ADD      ESP,BYTE +04
0167:10005505  PUSH    EAX
0167:10005506  PUSH    BYTE +07
0167:10005508  CALL    10004EA0    ;验证第7字节
0167:1000550D  ADD      ESP,BYTE +0C
0167:10005510  ADD      BL,AL        ;保存结果
0167:10005512  MOV      [ESP+13],BL    ;保存结果到[ESP+13],程序在以后会检查这个值,
                    ;如果为0,则不会显示注册提示框