飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: 蒙文输入法

[已解决] 输入法IME的注册方法(视频教程见7楼)

[复制链接]
  • TA的每日心情
    开心
    2020-11-18 08:13
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2007-1-5 17:03:58 | 显示全部楼层
    希望高手 分析一下     如何注册的
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-10 13:08:45 | 显示全部楼层
    等待高手搞定~!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-18 08:13
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2007-1-14 19:26:42 | 显示全部楼层

    学习 资料

    智能陈桥汉字输入平台5.5破解分析

    【破文标题】 智能陈桥汉字输入平台5.5破解分析

    【破文作者】 weiyi75[Dfcg][D.4s]

    【作者邮箱】 weiyi75@sohu.com

    【作者主页】 Dfcg官方大本营+龙族联盟论坛

    【使用工具】 Peid,OllyDbg,Resscope,W32DASM,Winhex

    【破解平台】 Win2000/XP

    【软件名称】 智能陈桥汉字输入平台5.5

    【下载地址】 http://www.znwb.com/

    【软件简介】 五笔字型是一种很好的型码汉字输入系统,它在我国被相当多的用户所采用,成为其用户群仅次于拼音的大众化输入法。但是,随着智能汉字输入法的产生,传统的五笔字型已难以满足现代广大用户的要求。因此传统的五笔字型必须与现代的智能处理输入技术相结合才能使其更为完美。本智能陈桥系统就是为传统的汉字输入法与计算机的智能输入技术处理之间搭上一座桥梁,使传统的汉字输入方法赶上时代的需要。智能五笔系统是把五笔字型与本智能陈桥系统的智能处理功能相结合,从而使其使用性能大大提高。本系统还可挂接多种类似于五笔字型的汉字输入方法,可用于汉字输入法的开发与使用。

    【软件大小】 5.38

    【破解目的】 为我的破解之路铺一块小石头

    【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

    --------------------------------------------------------------------------------

    【破解内容】

    智能陈桥输入法属于IME输入法,对IME输入法分析国内无分析文章很少,可以看看二哥的万能五笔 2004 6.0外挂子系列 IME内置5.1版防修改分析。

    IME输入法不同外挂输入法,它不在进程里面,而是作为类似动态链接库作为模块运行。典型就是Word,记事本,打开输入发就嵌入可执行文件模块里面了。

    首先打开输入法图标,看到智能陈桥输入平台。

    我们打开注册表搜索“智能陈桥输入平台”到这里。

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0780804

    Ime File

    CHENHU4.IME

    Layout Text

    智能陈桥输入平台  5.5

    原来核心调用就是CHENHU4.IME

    这个文件显然在Systeme32里面。

    要破解时候先要知道你要做什么,看看帮助文件未注册的限制。

    智能陈桥注册版本的软件可以自由复制和试用,但对于试用用户作了小小的限制:

    * 对正常使用的时间作了限制。能正常使用的时间长短不定,大约一个月左右。到期后智能陈桥系统将出现提示窗口向你提示有关注册的信息,但你仍然能继续使用,到期的软件不会对你的系统造成任何不良影响。

    主要是NAG注册提示。

    这个交给 Resscope,W32DASM 两个黄金搭档吧。

    W32Dasm虽然支持中文,但部分中文不知道是作者做过手脚还是软件的Bug,你找不到注册相关信息的中文。

    好了,先在Peid里面填入  F:\WINDOWS\System32\CHENHU4.IME

    获取编程语言,Microsoft Visual C++ 6.0 DLL,效率首屈一指的语言,由于过分追求程序效率,所以存在资源易修改,代码清晰简练的缺点,和Dephi和易语言不同,它追求的是速度和效率。

    我们修改系统时间,并没有看到NAG,首先肯定NAG是存在的,只是不定时出现。

    这个给Resscope

    我们展开Dialog

    看到 IMEVERB 标题 智能陈桥汉字输入平台(智能五笔)  5.5版注册提示

    暂不注册 //注意这句

    ID IMEVER 在W32Dasm必然会有这个。

    好,打开W32Dasm

    直接搜索 IMEVER

    找到第二处位置

    * Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
    |:10007FAF(C), :10007FCD(C), :1000808C(C)
    |
    :10007FFC 85C9                    test ecx, ecx
    :10007FFE 0F859F000000            jne 100080A3
    :10008004 8A442413                mov al, byte ptr [esp+13]
    :10008008 84C0                    test al, al
    :1000800A 0F86B2000000            jbe 100080C2
    :10008010 A17C560210              mov eax, dword ptr [1002567C]
    :10008015 8B0DF4560210            mov ecx, dword ptr [100256F4]
    :1000801B 03C8                    add ecx, eax
    :1000801D 51                      push ecx
    :1000801E E89DEFFFFF              call 10006FC0
    :10008023 83C404                  add esp, 00000004
    :10008026 84C0                    test al, al
    :10008028 7673                    jbe 1000809D
    :1000802A A056900210              mov al, byte ptr [10029056]
    :1000802F FEC0                    inc al
    :10008031 3C96                    cmp al, 96
    :10008033 A256900210              mov byte ptr [10029056], al
    :10008038 7663                    jbe 1000809D
    :1000803A 6A00                    push 00000000
    :1000803C 68C0800110              push 100180C0
    :10008041 C6053457021000          mov byte ptr [10025734], 00
    :10008048 C605906C021001          mov byte ptr [10026C90], 01

    * Reference To: USER32.GetActiveWindow, Ord:00DDh
                                      |
    :1000804F FF1534120210            Call dword ptr [10021234]
    :10008055 8B1578560210            mov edx, dword ptr [10025678]
    :1000805B 50                      push eax

    * Possible StringData Ref from Data Obj ->"IMEVERB" //NAG ID
                                      |
    :1000805C 68DC340210              push 100234DC
    :10008061 52                      push edx

    * Reference To: USER32.DialogBoxParamA, Ord:0093h //对话框产生API
                                      |
    :10008062 FF1530120210            Call dword ptr [10021230] //运行到这里程序就出现NAG,暂停。等你决定是注册还是暂不注册,暂不注册肯定继续继续往下运行。
    :10008068 C605906C021001          mov byte ptr [10026C90], 01
    :1000806F C6055690021000          mov byte ptr [10029056], 00
    :10008076 C7050470021000000000    mov dword ptr [10027004], 00000000
    :10008080 E99A0B0000              jmp 10008C1F
    ........................................................................................

    我们为了了解运行流程,看看实际情况。

    用OD载人动态分析一下,如何动态中断,二哥的万能五笔 2004 6.0外挂子系列 IME内置5.1版防修改分析很详细,不再重复。

    00C97FAF    /76 4B               jbe short CHENHU4.00C97FFC //挑选了一段,看清NAG的位置,修改Z标志,强行让它显示NAG
    00C97FB1    |85C9                test ecx,ecx
    00C97FB3    |0F8E CC000000       jle CHENHU4.00C98085
    00C97FB9    |8A15 5D90CB00       mov dl,byte ptr ds:[CB905D]
    00C97FBF    |66:0FB699 0770CB00  movzx bx,byte ptr ds:[ecx+CB7007]
    00C97FC7    |84D2                test dl,dl
    00C97FC9    |74 04               je short CHENHU4.00C97FCF
    00C97FCB    |3C 02               cmp al,2
    00C97FCD    |75 2D               jnz short CHENHU4.00C97FFC
    00C97FCF    |49                  dec ecx
    00C97FD0    |890D 0070CB00       mov dword ptr ds:[CB7000],ecx
    00C97FD6    |66:0FB699 0870CB00  movzx bx,byte ptr ds:[ecx+CB7008]
    00C97FDE    |C681 0870CB00 00    mov byte ptr ds:[ecx+CB7008],0
    00C97FE5    |8B0D 0070CB00       mov ecx,dword ptr ds:[CB7000]
    00C97FEB    |C605 4074CB00 00    mov byte ptr ds:[CB7440],0
    00C97FF2    |C705 0470CB00 00000>mov dword ptr ds:[CB7004],0
    00C97FFC    \85C9                test ecx,ecx
    00C97FFE     0F85 9F000000       jnz CHENHU4.00C980A3 //正常时候,这里就跳走了。

    因为我们不知道何时出现,NAG,如果这里修改为

    00CB7FFE    /E9 A0000000         jmp CHENHU4.00CB80A3
    00CB8003    |90                  nop

    保存后,输入法工作异常了,按键没有汉字显示。

    温馨提示,修改位置不能乱选,要多次测试。

    00C98004     8A4424 13           mov al,byte ptr ss:[esp+13]
    00C98008     84C0                test al,al
    00C9800A     0F86 B2000000       jbe CHENHU4.00C980C2  
    00C98010     A1 7C56CB00         mov eax,dword ptr ds:[CB567C]
    00C98015     8B0D F456CB00       mov ecx,dword ptr ds:[CB56F4]
    00C9801B     03C8                add ecx,eax
    00C9801D     51                  push ecx
    00C9801E     E8 9DEFFFFF         call CHENHU4.00C96FC0
    00C98023     83C4 04             add esp,4
    00C98026     84C0                test al,al
    00C98028     76 73               jbe short CHENHU4.00C9809D
    00C9802A     A0 5690CB00         mov al,byte ptr ds:[CB9056]
    00C9802F     FEC0                inc al
    00C98031     3C 96               cmp al,96
    00C98033     A2 5690CB00         mov byte ptr ds:[CB9056],al
    00C98038     76 63               jbe short CHENHU4.00C9809D //这里是最后一关,必须跳走。

    ***************************************************************************************

    00C9803A     6A 00               push 0 //安全模式只要跳过这里就可以保证继续使用。

    修改为

    00CB803A      /EB 2C             jmp short CHENHU4.00CB8068

    00C98041     C605 3457CB00 00    mov byte ptr ds:[CB5734],0
    00C98048     C605 906CCB00 01    mov byte ptr ds:[CB6C90],1
    00C9804F     FF15 3412CB00       call dword ptr ds:[<&USER32.GetAct>; USER32.GetActiveWindow
    00C98055     8B15 7856CB00       mov edx,dword ptr ds:[CB5678]      ; CHENHU4.00C90000
    00C9805B     50                  push eax
    00C9805C     68 DC34CB00         push CHENHU4.00CB34DC              ; ASCII "IMEVERB"
    00C98061     52                  push edx
    00C98062     FF15 3012CB00       call dword ptr ds:[<&USER32.Dialog>; USER32.DialogBoxParamA
    //终于看到,NAG。

    ***************************************************************************************

    00C98068     C605 906CCB00 01    mov byte ptr ds:[CB6C90],1 //点决定注册是告诉你如何注册,暂不注册都来到这里,往下正常继续运行。
    00C9806F     C605 5690CB00 00    mov byte ptr ds:[CB9056],0
    00C98076     C705 0470CB00 00000>mov dword ptr ds:[CB7004],0
    00C98080     E9 9A0B0000         jmp CHENHU4.00C98C1F
    .............................................................

    保存修改,运行还算正常。

    点右键看到注册菜单,既然决定不注册,当然是眼不见为净。

    Resscope载入菜单

    看到最下面两个菜单,一个是分界线,一个是注册菜单,全部删除。

    可怜的C++程序,如果是Dephi和易语言,想动菜单几乎是不可能的。

    经过测试,拼音功能正常,但五笔就没有了。

    这是怎么回事,Crc校验,不是,用Peid的Crc插件修复无效果。

    再试一试,即使修改一个字节都不行,修改资源却可以,好厉害的校验。

    怒!苦思近四个小时,Regmon,Filemon,注册表系列跟踪软件全用上了,使用了目前所有的分析技术,还是不行,究竟是哪里自校验?

    我们想想程序的文件名

    CHENHU4.IME

    会不会运行时候有个

    CHENHUX 和它对比呢?

    OD载入程序,老罗的插件分析AscII码,无意中看到一处地方

    1000F646   |.  68 78360210       push chenhu4.10023678              ;  ASCII "%s\chenhu4.imm"
    1000F64B   |.  51                push ecx
    1000F64C   |.  FFD7              call edi
    1000F64E   |.  83C4 0C           add esp,0C
    1000F651   |.  68 96000000       push 96                            ; /BufSize = 96 (150.)
    1000F656   |.  55                push ebp                           ; |Buffer
    1000F657   |.  FF15 00110210     call dword ptr ds:[<&KERNEL32.GetS>; \GetSystemDirectoryA
    //取系统路径
    1000F65D   |.  55                push ebp
    1000F65E   |.  8D5424 24         lea edx,dword ptr ss:[esp+24]
    1000F662   |.  68 68360210       push chenhu4.10023668              ;  ASCII "%s\chenhu4.ime"
    1000F667   |.  52                push edx
    1000F668   |.  FFD7              call edi
    1000F66A   |.  83C4 0C           add esp,0C
    1000F66D   |.  8D4424 20         lea eax,dword ptr ss:[esp+20]
    1000F671   |.  6A 00             push 0                             ; /OpenMode = OF_READ|OF_SHARE_COMPAT
    1000F673   |.  50                push eax                           ; |FileName
    1000F674   |.  FF15 04110210     call dword ptr ds:[<&KERNEL32._lop>; \_lopen
    ........................................................................................

    1000F74E   |.  8D4424 20         lea eax,dword ptr ss:[esp+20]
    1000F752   |.  55                push ebp                           ; /String2
    1000F753   |.  50                push eax                           ; |String1
    1000F754   |.  FF15 CC100210     call dword ptr ds:[<&KERNEL32.lstr>; \lstrcmpA //比较
    ....................................... //后面的代码我的水平还看不懂,但可以猜到是什么回事。

    去系统路径看看吧

    chenhu4.imm大小200k

    chenhu4.ime大小200k

    如何修改应该知道了

    1000F646   |.  68 78360210       push chenhu4.10023678              ;  ASCII "%s\chenhu4.imm"
    1000F64B   |.  51                push ecx
    1000F64C   |.  FFD7              call edi
    1000F64E   |.  83C4 0C           add esp,0C
    1000F651   |.  68 96000000       push 96                            ; /BufSize = 96 (150.)
    1000F656   |.  55                push ebp                           ; |Buffer
    1000F657   |.  FF15 00110210     call dword ptr ds:[<&KERNEL32.GetS>; \GetSystemDirectoryA
    //取系统路径
    1000F65D   |.  55                push ebp
    1000F65E   |.  8D5424 24         lea edx,dword ptr ss:[esp+24]
    1000F662   |.  68 68360210       push chenhu4.10023668              ;  ASCII "%s\chenhu4.ime"

    修改ASCII "%s\chenhu4.ime" 为 ASCII "%s\chenhu4.imm"

    OD命令行 D 10023668

    10023668  25 73 5C 63 68 65 6E 68  %s\chenh
    10023670  75 34 2E 69 6D 65 00 00  u4.ime..  //这里的e当然由65改为6D
    10023678  25 73 5C 63 68 65 6E 68  %s\chenh
    10023680  75 34 2E 69 6D 6D 00 00  u4.imm.. //下面m是6D

    保存修改,自己和自己比,校验自然通过。

    想想再Winhex写些标记,补偿我的四个小时,Winhex搜索作者陈虎

    修改为

    Crack David

    【破解总结】

    注意动态链接库的动静态地址变化

    静态是

    1000803A       6A 00             push 0

    动态变化多端,如

    00C9803A       6A 00             push 0

    后四位是不变的,而且汇编指令不会变化


    安全模式

    00C9803A     6A 00               push 0

    修改为

    00CB803A      /EB 2C             jmp short CHENHU4.00CB8068


    10023668  25 73 5C 63 68 65 6E 68  %s\chenh
    10023670  75 34 2E 69 6D 65 00 00  u4.ime..  //这里的e当然由65改为6D
    10023678  25 73 5C 63 68 65 6E 68  %s\chenh
    10023680  75 34 2E 69 6D 6D 00 00  u4.imm.. //下面m是6D

    加删除菜单资源
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-18 08:13
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2007-1-14 19:52:18 | 显示全部楼层
    龙文输入通 3.03 注册分析 作者: 来源:
    阅读 210 人次 , 2006-4-26 15:46:00  




    今天在001看到一个输入法设断点的方法,很是好用,立即开始工作.

    首先用Ollydbg加载一个记事本,输入法切换到龙文,到注册界面.然后回到Ollydbg界面里,查找到lwsrf.ime模块,进入后,搜索模块名称"ChatupperA".
    向上翻页,找到算法部分.

    ;取机器码的第一组
    10024B96 66:8B45 00 MOV AX,WORD PTR SS:[EBP]
    10024B9A C1E0 05 SHL EAX,5
    10024B9D 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024BA1 66:8945 00 MOV WORD PTR SS:[EBP],AX
    10024BA5 33C0 XOR EAX,EAX
    ;取机器码的第二组
    10024BA7 66:8B45 02 MOV AX,WORD PTR SS:[EBP+2]
    10024BAB 8D04C0 LEA EAX,DWORD PTR DS:[EAX+EAX*8]
    10024BAE C1E0 02 SHL EAX,2
    10024BB1 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024BB5 66:8945 02 MOV WORD PTR SS:[EBP+2],AX
    10024BB9 33C0 XOR EAX,EAX
    ;取机器码的第三组
    10024BBB 66:8B45 04 MOV AX,WORD PTR SS:[EBP+4]
    10024BBF 8D0C80 LEA ECX,DWORD PTR DS:[EAX+EAX*4]
    10024BC2 8D0448 LEA EAX,DWORD PTR DS:[EAX+ECX*2]
    10024BC5 33C9 XOR ECX,ECX
    10024BC7 8D0480 LEA EAX,DWORD PTR DS:[EAX+EAX*4]
    10024BCA 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    ;取机器码的第四组
    10024BCE 66:8B4D 06 MOV CX,WORD PTR SS:[EBP+6]
    10024BD2 66:8945 04 MOV WORD PTR SS:[EBP+4],AX
    10024BD6 8BC1 MOV EAX,ECX
    10024BD8 C1E0 04 SHL EAX,4
    10024BDB 03C1 ADD EAX,ECX
    10024BDD D1E0 SHL EAX,1
    10024BDF 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024BE3 66:8945 06 MOV WORD PTR SS:[EBP+6],AX
    10024BE7 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
    10024BEB 25 FFFF0000 AND EAX,0FFFF
    10024BF0 8BD0 MOV EDX,EAX
    10024BF2 C1E2 04 SHL EDX,4
    10024BF5 03D0 ADD EDX,EAX
    10024BF7 33C0 XOR EAX,EAX
    ;取机器码的第五组
    10024BF9 66:8B45 08 MOV AX,WORD PTR SS:[EBP+8]
    10024BFD 8D0C40 LEA ECX,DWORD PTR DS:[EAX+EAX*2]
    10024C00 C1E1 03 SHL ECX,3
    10024C03 2BC8 SUB ECX,EAX
    10024C05 8D0449 LEA EAX,DWORD PTR DS:[ECX+ECX*2]
    10024C08 8D0450 LEA EAX,DWORD PTR DS:[EAX+EDX*2]
    10024C0B 33D2 XOR EDX,EDX
    10024C0D 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024C11 66:8945 08 MOV WORD PTR SS:[EBP+8],AX
    10024C15 33C0 XOR EAX,EAX
    ;取机器码的第六组
    10024C17 66:8B45 0A MOV AX,WORD PTR SS:[EBP+A]
    10024C1B 8D0CC0 LEA ECX,DWORD PTR DS:[EAX+EAX*8]
    10024C1E 8D0488 LEA EAX,DWORD PTR DS:[EAX+ECX*4]
    10024C21 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024C25 66:8945 0A MOV WORD PTR SS:[EBP+A],AX
    ;第六组的结果与第四组运算
    10024C29 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
    10024C2D 66:8B55 00 MOV DX,WORD PTR SS:[EBP]
    10024C31 25 FFFF0000 AND EAX,0FFFF
    10024C36 8BC8 MOV ECX,EAX
    10024C38 C1E1 05 SHL ECX,5
    10024C3B 03C8 ADD ECX,EAX
    10024C3D 8D0451 LEA EAX,DWORD PTR DS:[ECX+EDX*2]
    10024C40 33D2 XOR EDX,EDX
    10024C42 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024C46 66:8B55 04 MOV DX,WORD PTR SS:[EBP+4]
    10024C4A 66:8945 0A MOV WORD PTR SS:[EBP+A],AX
    10024C4E 33C0 XOR EAX,EAX
    ;第五组的结果与第三组运算
    10024C50 66:8B45 08 MOV AX,WORD PTR SS:[EBP+8]
    10024C54 8D0450 LEA EAX,DWORD PTR DS:[EAX+EDX*2]
    10024C57 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024C5B 66:8945 08 MOV WORD PTR SS:[EBP+8],AX
    10024C5F 399C24 80000000 CMP DWORD PTR SS:[ESP+80],EBX
    10024C66 0F84 16010000 JE lwsrf.10024D82

    ;-----------------------------------------------------------


    10024EB4 C705 E0600510 3>MOV DWORD PTR DS:[100560E0],1234
    10024EBE FF15 58930410 CALL DWORD PTR DS:[<&USER32.CharUpperA>] ; USER32.CharUpperA ;注册码转换为大写

    ;-----------------------------------------------------------

    ;对注册码进行一次变换
    10024F3D 33C0 XOR EAX,EAX
    10024F3F 66:8B01 MOV AX,WORD PTR DS:[ECX]
    10024F42 83C1 02 ADD ECX,2
    10024F45 83C0 34 ADD EAX,34
    10024F48 4E DEC ESI
    10024F49 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    10024F4D 66:8941 FE MOV WORD PTR DS:[ECX-2],AX
    10024F51 ^ 75 EA JNZ SHORT lwsrf.10024F3D
    10024F53 B9 09000000 MOV ECX,9
    10024F58 8BFA MOV EDI,EDX
    10024F5A 8D7424 54 LEA ESI,DWORD PTR SS:[ESP+54]
    10024F5E 33C0 XOR EAX,EAX
    ;比较前两组注册码,应该相等
    10024F60 F3:A6 REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:>
    10024F62 895C24 10 MOV DWORD PTR SS:[ESP+10],EBX
    10024F66 74 22 JE SHORT lwsrf.10024F8A



    ;-----------------------------------------------------------

    ;累加注册码,求和
    10024FB0 66:8B444D 00 MOV AX,WORD PTR SS:[EBP+ECX*2]
    10024FB5 66:F7D0 NOT AX
    10024FB8 66:89444D 00 MOV WORD PTR SS:[EBP+ECX*2],AX
    10024FBD 25 FFFF0000 AND EAX,0FFFF
    10024FC2 03D8 ADD EBX,EAX
    10024FC4 83F9 03 CMP ECX,3
    10024FC7 75 03 JNZ SHORT lwsrf.10024FCC
    ;第四组时多一次运算,*2后加上累计和
    10024FC9 8D1C43 LEA EBX,DWORD PTR DS:[EBX+EAX*2]
    10024FCC 41 INC ECX
    10024FCD 83F9 06 CMP ECX,6 ;六组是否加完
    10024FD0 ^ 7C DE JL SHORT lwsrf.10024FB0

    ;-----------------------------------------------------------


    10024FD6 85F6 TEST ESI,ESI
    10024FD8 7D 11 JGE SHORT lwsrf.10024FEB
    10024FDA 33C9 XOR ECX,ECX
    10024FDC 66:8B4D 00 MOV CX,WORD PTR SS:[EBP]
    10024FE0 0FAFCE IMUL ECX,ESI
    10024FE3 D1E1 SHL ECX,1
    10024FE5 894C24 10 MOV DWORD PTR SS:[ESP+10],ECX
    10024FE9 EB 44 JMP SHORT lwsrf.1002502F
    10024FEB 8B17 MOV EDX,DWORD PTR DS:[EDI]
    10024FED 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10]
    10024FF1 50 PUSH EAX
    10024FF2 8D4C24 28 LEA ECX,DWORD PTR SS:[ESP+28]
    10024FF6 68 48C50410 PUSH lwsrf.1004C548 ; ASCII "%lx"
    10024FFB 51 PUSH ECX
    10024FFC C64424 34 00 MOV BYTE PTR SS:[ESP+34],0
    10025001 895424 30 MOV DWORD PTR SS:[ESP+30],EDX
    10025005 E8 D2CB0100 CALL lwsrf.10041BDC
    1002500A 83C4 0C ADD ESP,0C
    ;如果为第六组则跳
    1002500D 83FE 05 CMP ESI,5
    10025010 7D 06 JGE SHORT lwsrf.10025018
    10025012 035C24 10 ADD EBX,DWORD PTR SS:[ESP+10]
    10025016 EB 17 JMP SHORT lwsrf.1002502F
    10025018 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
    1002501C 81E3 FFFF0000 AND EBX,0FFFF
    10025022 25 FFFF0000 AND EAX,0FFFF
    ;比较累加和是否相等,第一次比较时是不相等的,作者的桩了.
    10025027 3BC3 CMP EAX,EBX
    10025029 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
    1002502D 75 3D JNZ SHORT lwsrf.1002506C
    1002502F 46 INC ESI
    10025030 83C5 02 ADD EBP,2
    10025033 83C7 05 ADD EDI,5
    10025036 83FE 06 CMP ESI,6
    10025039 ^ 7C 9B JL SHORT lwsrf.10024FD6

    ;-----------------------------------------------------------

    子程序返回

    100258DF FF15 68930410 CALL DWORD PTR DS:[<&USER32.GetWindowTex>; USER32.GetWindowTextA
    100258E5 6A 01 PUSH 1
    100258E7 6A 00 PUSH 0
    100258E9 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
    100258ED 6A 01 PUSH 1
    100258EF 51 PUSH ECX
    ;此处是第二次比较,进入.过程跟上边的是一样的.唯一区别就是六组注册码的累加和比较应该相等.此时会显示注册成功的.
    100258F0 E8 FBF1FFFF CALL lwsrf.10024AF0
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-18 08:13
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2007-3-4 19:57:29 | 显示全部楼层

    删了吧

    :victory: :victory: :victory: 删了吧
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-3-16 14:50:41 | 显示全部楼层
    学习再学习    高手点一下吧
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-7 09:02:19 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-12-16 15:39
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-1-9 15:22:00 | 显示全部楼层
    这个破解的怎么用啊, 这个插件怎么用啊
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-12-16 15:39
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-2-18 13:04:02 | 显示全部楼层
    这个怎么调试啊, 我怎么看不懂啊???/:002
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表