【破文标题】屏幕录像专家V6.0算法分析
【破文作者】山村小子
【作者邮箱】lhl8730@56.com
【作者主页】暂无
【破解工具】PEiD,W32DASM,UC32,OD
【破解平台】Windows 2K&XP
【软件名称】屏幕录像专家V60
【软件大小】6522KB
【原版下载】http://www.onlinedown.net/soft/3442.htm

【保护方式】序列号
【软件简介】软件介绍 : 《屏幕录像专家》是一款专业的屏幕录像制作工具。使用它你可以轻松地将屏幕上的软件操作过程等录制成FLASH动画、ASF动画、AVI动画或者自播放的EXE动画。本软件采用直接录制方式或者先录制,再生成的方式录制屏幕录像,使用户对制作过程更加容易控制。本软件使用简单,功能强大,是制作各种屏幕录像和软件教学动画的首选软件。

软件基本功能如下:

    1.生成FLASH动画,文件小可以在网络上方便使用。

    2.生成ASF动画,可以在网络上在线播放。

    3.生成AVI动画,支持各种压缩方式。

    4.生成EXE文件,可以自动播放动画不需附属文件。高度压缩,生成文件小。

    5.支持后期配音和声音文件导入,使录制过程和配音分离。

    6.录制目标自由选取:可以是全屏、选定窗口或者选定范围。

    7.录制时可以设置是否同时录制声音,是否同时录制鼠标。

    8.可以自动设置最佳帧数。

    9.可以设置录音质量

    10.可以自己定义快捷键

    11.直接录制AVI功能

    12.直接录制EXE功能

    13.FLASH扩帧功能,使FLASH动画更加平滑。

    14.EXE自动扩帧功能,更加平滑,即使是1帧/秒也有平滑的效果

    15.AVI扩帧功能,可以制作25帧/秒的AVI动画

    16.录制Realplay中播放的电影内容

    17.鼠标点击自动提示功能

    18.AVI合成、AVI截取、AVI转换压缩格式,EXE转成AVI

    19.自由设置EXE录制播放时各种参数,比如位置、大小、背景色、控制窗体、时间等

    20.支持EXE录像合成多节EXE

    21.高度无损压缩,制作出最小的EXE录像

    22.简单后期编辑功能,支持EXE截取、EXE合成、EXE转成LX、LX截取、LX合成等功能

    23.EXE播放时可以定位到任意帧

【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
------------------------------------------------------------------------
kerfier 兄已经发过屏幕录像专家V5.0算法分析,但是屏幕录像专家V6.0还有几个暗桩所以我在这里再把v6.0的算法写出来
因为刚学破解,不对的地方请大家指教。
1、查壳,没有加壳,编写语言Borland C++ 1999。
2、用OD载入,注册有错误提示。根据提示往上找到
0043B290  /.  55            PUSH EBP        在这里下断
3、找算法。
输入注册名:12345678    假码:12345678901234567890,按确定断下
0043B290  /.  55            PUSH EBP                              往下一直F8
0043B291  |.  8BEC          MOV EBP,ESP
0043B293  |.  81C4 B8FEFFFF ADD ESP,-148
0043B299  |.  53            PUSH EBX
0043B29A  |.  8995 38FFFFFF MOV DWORD PTR SS:[EBP-C8],EDX
0043B2A0  |.  8985 3CFFFFFF MOV DWORD PTR SS:[EBP-C4],EAX
0043B2A6  |.  B8 E47B5100   MOV EAX,屏录专家.00517BE4
0043B2AB  |.  E8 E0B50A00   CALL 屏录专家.004E6890
0043B2B0  |.  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],8
0043B2B9  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
0043B2BC  |.  E8 6365FCFF   CALL 屏录专家.00401824
0043B2C1  |.  8BD0          MOV EDX,EAX
0043B2C3  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B2C9  |.  8B8D 3CFFFFFF MOV ECX,DWORD PTR SS:[EBP-C4]
0043B2CF  |.  8B81 E4020000 MOV EAX,DWORD PTR DS:[ECX+2E4]
0043B2D5  |.  E8 469D0500   CALL 屏录专家.00495020
0043B2DA  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
0043B2DD  |.  FF32          PUSH DWORD PTR DS:[EDX]
0043B2DF  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
0043B2E2  |.  E8 3D65FCFF   CALL 屏录专家.00401824
0043B2E7  |.  8BD0          MOV EDX,EAX
0043B2E9  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B2EF  |.  8B8D 3CFFFFFF MOV ECX,DWORD PTR SS:[EBP-C4]
0043B2F5  |.  8B81 DC020000 MOV EAX,DWORD PTR DS:[ECX+2DC]
0043B2FB  |.  E8 209D0500   CALL 屏录专家.00495020
0043B300  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
0043B303  |.  FF32          PUSH DWORD PTR DS:[EDX]
0043B305  |.  FFB5 3CFFFFFF PUSH DWORD PTR SS:[EBP-C4]
0043B30B  |.  E8 C40D0000   CALL 屏录专家.0043C0D4
0043B310  |.  83C4 0C       ADD ESP,0C
0043B313  |.  3C 01         CMP AL,1
0043B315  |.  0F94C1        SETE CL
0043B318  |.  83E1 01       AND ECX,1
0043B31B  |.  51            PUSH ECX
0043B31C  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B322  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
0043B325  |.  BA 02000000   MOV EDX,2
0043B32A  |.  E8 C9700B00   CALL 屏录专家.004F23F8
0043B32F  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]                ; |
0043B335  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]             ; |
0043B338  |.  BA 02000000   MOV EDX,2                                ; |
0043B33D  |.  E8 B6700B00   CALL 屏录专家.004F23F8                       ; \屏录专家.004F23F8
0043B342  |.  59            POP ECX
0043B343  |.  84C9          TEST CL,CL
0043B345  |.  74 48         JE SHORT 屏录专家.0043B38F
0043B347  |.  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],14
0043B350  |.  BA 94785100   MOV EDX,屏录专家.00517894                    ;  你输入的是老版本的注册码,请把注册时的定单号发给我们免费申请新的注册码,如果还没有注册过请访问http://www.tlxsoft.com/buy.htm
0043B355  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
0043B358  |.  E8 636E0B00   CALL 屏录专家.004F21C0
0043B35D  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B363  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
0043B365  |.  E8 6E480500   CALL 屏录专家.0048FBD8
0043B36A  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B370  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
0043B373  |.  BA 02000000   MOV EDX,2
0043B378  |.  E8 7B700B00   CALL 屏录专家.004F23F8
0043B37D  |.  8B8D 40FFFFFF MOV ECX,DWORD PTR SS:[EBP-C0]
0043B383  |.  64:890D 00000>MOV DWORD PTR FS:[0],ECX
0043B38A  |.  E9 2A0D0000   JMP 屏录专家.0043C0B9
0043B38F  |>  6A 14         PUSH 14                                  ; /Arg3 = 00000014
0043B391  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
0043B393  |.  8D85 ECFEFFFF LEA EAX,DWORD PTR SS:[EBP-114]           ; |
0043B399  |.  50            PUSH EAX                                 ; |Arg1
0043B39A  |.  E8 21B10A00   CALL 屏录专家.004E64C0                       ; \屏录专家.004E64C0
0043B39F  |.  83C4 0C       ADD ESP,0C
0043B3A2  |.  33D2          XOR EDX,EDX
0043B3A4  |.  8995 34FFFFFF MOV DWORD PTR SS:[EBP-CC],EDX
0043B3AA  |.  6A 14         PUSH 14                                  ; /Arg3 = 00000014
0043B3AC  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
0043B3AE  |.  8D8D 04FFFFFF LEA ECX,DWORD PTR SS:[EBP-FC]            ; |
0043B3B4  |.  51            PUSH ECX                                 ; |Arg1
0043B3B5      E8 06B10A00   CALL 屏录专家.004E64C0
0043B3BA  |.  83C4 0C       ADD ESP,0C
0043B3BD  |.  6A 14         PUSH 14                                  ; /Arg3 = 00000014
0043B3BF  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
0043B3C1  |.  8D85 D4FEFFFF LEA EAX,DWORD PTR SS:[EBP-12C]           ; |
0043B3C7  |.  50            PUSH EAX                                 ; |Arg1
0043B3C8  |.  E8 F3B00A00   CALL 屏录专家.004E64C0                       ; \屏录专家.004E64C0
0043B3CD  |.  83C4 0C       ADD ESP,0C
0043B3D0  |.  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],20
0043B3D9  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
0043B3DC  |.  E8 4364FCFF   CALL 屏录专家.00401824
0043B3E1  |.  8BD0          MOV EDX,EAX
0043B3E3  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B3E9  |.  8B8D 3CFFFFFF MOV ECX,DWORD PTR SS:[EBP-C4]
0043B3EF  |.  8B81 DC020000 MOV EAX,DWORD PTR DS:[ECX+2DC]
0043B3F5  |.  E8 269C0500   CALL 屏录专家.00495020
0043B3FA  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
0043B3FD  |.  E8 0AA4FCFF   CALL 屏录专家.0040580C
0043B402  |.  50            PUSH EAX                                 ; /Arg2    注册名出现
0043B403  |.  8D95 D4FEFFFF LEA EDX,DWORD PTR SS:[EBP-12C]           ; |
0043B409  |.  52            PUSH EDX                                 ; |Arg1
0043B40A  |.  E8 DDB10A00   CALL 屏录专家.004E65EC                       ; \屏录专家.004E65EC
0043B40F  |.  83C4 08       ADD ESP,8
0043B412  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B418  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
0043B41B  |.  BA 02000000   MOV EDX,2
0043B420  |.  E8 D36F0B00   CALL 屏录专家.004F23F8
0043B425  |.  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],2C
0043B42E  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
0043B431  |.  E8 EE63FCFF   CALL 屏录专家.00401824
0043B436  |.  8BD0          MOV EDX,EAX
0043B438  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B43E  |.  8B8D 3CFFFFFF MOV ECX,DWORD PTR SS:[EBP-C4]
0043B444  |.  8B81 F0020000 MOV EAX,DWORD PTR DS:[ECX+2F0]
0043B44A  |.  E8 D19B0500   CALL 屏录专家.00495020
0043B44F  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
0043B452  |.  E8 B5A3FCFF   CALL 屏录专家.0040580C
0043B457  |.  50            PUSH EAX                                 ; /Arg2     机器码出现
0043B458  |.  8D95 ECFEFFFF LEA EDX,DWORD PTR SS:[EBP-114]           ; |
0043B45E  |.  52            PUSH EDX                                 ; |Arg1
0043B45F  |.  E8 88B10A00   CALL 屏录专家.004E65EC                       ; \屏录专家.004E65EC
0043B464  |.  83C4 08       ADD ESP,8
0043B467  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B46D  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
0043B470  |.  BA 02000000   MOV EDX,2
0043B475      E8 7E6F0B00   CALL 屏录专家.004F23F8
0043B47A  |.  33C9          XOR ECX,ECX
0043B47C  |.  898D 30FFFFFF MOV DWORD PTR SS:[EBP-D0],ECX
0043B482  |>  8B85 30FFFFFF /MOV EAX,DWORD PTR SS:[EBP-D0]
0043B488  |.  8A9405 D4FEFF>|MOV DL,BYTE PTR SS:[EBP+EAX-12C]
0043B48F  |.  8B8D 30FFFFFF |MOV ECX,DWORD PTR SS:[EBP-D0]
0043B495  |.  32940D ECFEFF>|XOR DL,BYTE PTR SS:[EBP+ECX-114]        ;  注册名第一个值跟机器码第一位作XOR运算,循环时依次类推,注册码没有20位,多余的机器码与0作XOR运算。。
0043B49C  |.  8B85 30FFFFFF |MOV EAX,DWORD PTR SS:[EBP-D0]
0043B4A2  |.  889405 04FFFF>|MOV BYTE PTR SS:[EBP+EAX-FC],DL         ;  结果保存在12ECAC处,循环后最终结果为SN1=.222222222222
0043B4A9  |.  8B95 30FFFFFF |MOV EDX,DWORD PTR SS:[EBP-D0]
0043B4AF  |.  0FBE8C15 04FF>|MOVSX ECX,BYTE PTR SS:[EBP+EDX-FC]      ;  取出结果给ECX
0043B4B7  |.  898D B8FEFFFF |MOV DWORD PTR SS:[EBP-148],ECX
0043B4BD  |.  DB85 B8FEFFFF |FILD DWORD PTR SS:[EBP-148]             ;  结果十进制转浮点值
0043B4C3  |.  83C4 F8       |ADD ESP,-8                              ; /
0043B4C6  |.  DD1C24        |FSTP QWORD PTR SS:[ESP]                 ; |Arg1 (8 字节)
0043B4C9  |.  E8 82F60A00   |CALL 屏录专家.004EAB50                      ; \屏录专家.004EAB50
0043B4CE  |.  83C4 08       |ADD ESP,8
0043B4D1  |.  DB85 30FFFFFF |FILD DWORD PTR SS:[EBP-D0]
0043B4D7  |.  DEC9          |FMULP ST(1),ST
0043B4D9  |.  DB85 34FFFFFF |FILD DWORD PTR SS:[EBP-CC]
0043B4DF  |.  DEC1          |FADDP ST(1),ST
0043B4E1  |.  E8 92F60A00   |CALL 屏录专家.004EAB78                      ;  十进制结果乖相应的位数(从0开始)再彼此相加
0043B4E6  |.  8985 34FFFFFF |MOV DWORD PTR SS:[EBP-CC],EAX           ;  这里12ECDC是最后的结果2037
0043B4EC  |.  FF85 30FFFFFF |INC DWORD PTR SS:[EBP-D0]
0043B4F2  |.  83BD 30FFFFFF>|CMP DWORD PTR SS:[EBP-D0],14            ;  运算20次
0043B4F9  |.^ 7C 87         \JL SHORT 屏录专家.0043B482
0043B4FB  |.  8185 34FFFFFF>ADD DWORD PTR SS:[EBP-CC],3039           ;  2037加常数3039,结果为SN2=5070(SN2很重要,多次用到)
0043B505  |.  FFB5 34FFFFFF PUSH DWORD PTR SS:[EBP-CC]               ; /Arg3
0043B50B  |.  68 0F795100   PUSH 屏录专家.0051790F                       ; |%d
0043B510  |.  8D95 04FFFFFF LEA EDX,DWORD PTR SS:[EBP-FC]            ; |
0043B516  |.  52            PUSH EDX                                 ; |Arg1
0043B517  |.  E8 80DB0A00   CALL 屏录专家.004E909C                       ; \关键CALL,把SN2进转为十进制得结果SN3=20592
0043B51C  |.  83C4 0C       ADD ESP,0C
0043B51F  |.  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],38
0043B528  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
0043B52B  |.  E8 F462FCFF   CALL 屏录专家.00401824
0043B530  |.  8BD0          MOV EDX,EAX
0043B532  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B538  |.  8B8D 3CFFFFFF MOV ECX,DWORD PTR SS:[EBP-C4]
0043B53E  |.  8B81 E4020000 MOV EAX,DWORD PTR DS:[ECX+2E4]
0043B544  |.  E8 D79A0500   CALL 屏录专家.00495020
0043B549  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
0043B54C  |.  E8 BBA2FCFF   CALL 屏录专家.0040580C
0043B551  |.  50            PUSH EAX                                 ; /Arg2
0043B552  |.  8D95 BCFEFFFF LEA EDX,DWORD PTR SS:[EBP-144]           ; |
0043B558  |.  52            PUSH EDX                                 ; |Arg1
0043B559  |.  E8 8EB00A00   CALL 屏录专家.004E65EC                       ; \屏录专家.004E65EC
0043B55E  |.  83C4 08       ADD ESP,8
0043B561  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B567  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
0043B56A  |.  BA 02000000   MOV EDX,2
0043B56F  |.  E8 846E0B00   CALL 屏录专家.004F23F8
0043B574  |.  33C9          XOR ECX,ECX
0043B576  |.  898D 30FFFFFF MOV DWORD PTR SS:[EBP-D0],ECX
0043B57C  |>  8B85 30FFFFFF /MOV EAX,DWORD PTR SS:[EBP-D0]
0043B582  |.  0FBE9405 04FF>|MOVSX EDX,BYTE PTR SS:[EBP+EAX-FC]      ;  SN3的第一位
0043B58A  |.  8B8D 30FFFFFF |MOV ECX,DWORD PTR SS:[EBP-D0]
0043B590  |.  0FBE840D BCFE>|MOVSX EAX,BYTE PTR SS:[EBP+ECX-144]     ;  假码第一位
0043B598  |.  83C0 EC       |ADD EAX,-14
0043B59B  |.  3BD0          |CMP EDX,EAX                             ;  假码第一位要等于SN2的第一位加14
0043B59D  |.  0F85 AF000000 |JNZ 屏录专家.0043B652                       ;  不等完了
0043B5A3  |.  83BD 30FFFFFF>|CMP DWORD PTR SS:[EBP-D0],3
0043B5AA  |.  0F85 8F000000 |JNZ 屏录专家.0043B63F                       ;  第四个数比较如果相等则进行后面的计算
0043B5B0  |.  8B95 34FFFFFF |MOV EDX,DWORD PTR SS:[EBP-CC]           ;  SN2给EDX
0043B5B6  |.  81C2 444D0000 |ADD EDX,4D44                            ;  5070+4D44=9DB4
0043B5BC  |.  8995 B8FEFFFF |MOV DWORD PTR SS:[EBP-148],EDX
0043B5C2  |.  DB85 B8FEFFFF |FILD DWORD PTR SS:[EBP-148]             ;  9DB4转十进制40372.参与下面浮点运算
0043B5C8  |.  DC0D C0C04300 |FMUL QWORD PTR DS:[43C0C0]              ;  40372*3.14=126768.08000000000500
0043B5CE  |.  DB2D C8C04300 |FLD TBYTE PTR DS:[43C0C8]
0043B5D4  |.  DEC9          |FMULP ST(1),ST                          ;  126768.08000000000500*0.1594896331738437110=20218.194577352474260
0043B5D6  |.  E8 9DF50A00   |CALL 屏录专家.004EAB78
0043B5DB  |.  8985 34FFFFFF |MOV DWORD PTR SS:[EBP-CC],EAX           ;  运算后结果取整为20218转十六进制为SN4=4EFA
0043B5E1  |.  8B85 34FFFFFF |MOV EAX,DWORD PTR SS:[EBP-CC]
0043B5E7      B9 A0860100   MOV ECX,186A0                            ;  1860A=100000(十进制)
0043B5EC  |.  99            |CDQ
0043B5ED  |.  F7F9          |IDIV ECX
0043B5EF  |.  8995 34FFFFFF |MOV DWORD PTR SS:[EBP-CC],EDX           ;  求sn4除186A0余数在EDX中,实际是得SN4的十进制的最后5位数
0043B5F5  |.  33C0          |XOR EAX,EAX
0043B5F7  |.  8985 28FFFFFF |MOV DWORD PTR SS:[EBP-D8],EAX
0043B5FD  |.  33D2          |XOR EDX,EDX
0043B5FF  |.  8995 24FFFFFF |MOV DWORD PTR SS:[EBP-DC],EDX
0043B605  |>  8B8D 24FFFFFF |/MOV ECX,DWORD PTR SS:[EBP-DC]
0043B60B  |.  0FBE840D BCFE>||MOVSX EAX,BYTE PTR SS:[EBP+ECX-144]    ;  取假码第一位。
0043B613  |.  0185 28FFFFFF ||ADD DWORD PTR SS:[EBP-D8],EAX
0043B619  |.  FF85 24FFFFFF ||INC DWORD PTR SS:[EBP-DC]
0043B61F  |.  83BD 24FFFFFF>||CMP DWORD PTR SS:[EBP-DC],13           ;  这个循环是求假码前19的和记为SN5=559
0043B626  |.^ 7C DD         |\JL SHORT 屏录专家.0043B605
0043B628  |.  8B85 28FFFFFF |MOV EAX,DWORD PTR SS:[EBP-D8]           ;  结果SN5给EAX
0043B62E  |.  B9 0A000000   |MOV ECX,0A                              ;  A=10
0043B633  |.  99            |CDQ
0043B634  |.  F7F9          |IDIV ECX                                ;  求SN5除A的余数,即得SN5十进制的个位数9
0043B636  |.  83C2 30       |ADD EDX,30
0043B639  |.  8995 28FFFFFF |MOV DWORD PTR SS:[EBP-D8],EDX           ;  个位数加30记为SN6=39
0043B63F  |>  FF85 30FFFFFF |INC DWORD PTR SS:[EBP-D0]
0043B645  |.  83BD 30FFFFFF>|CMP DWORD PTR SS:[EBP-D0],5             ;  重复5次,即前五位比较
0043B64C  |.^ 0F8C 2AFFFFFF \JL 屏录专家.0043B57C
0043B652  |>  83BD 30FFFFFF>CMP DWORD PTR SS:[EBP-D0],5
0043B659  |.  0F8C 030A0000 JL 屏录专家.0043C062
0043B65F  |.  0FBE85 CFFEFF>MOVSX EAX,BYTE PTR SS:[EBP-131]
0043B666  |.  3B85 28FFFFFF CMP EAX,DWORD PTR SS:[EBP-D8]            ;  注册码最后一位与SN6是否相等。
0043B66C  |.  74 10         JE SHORT 屏录专家.0043B67E
0043B66E  |.  0FBE95 CFFEFF>MOVSX EDX,BYTE PTR SS:[EBP-131]
0043B675  |.  83FA 41       CMP EDX,41
0043B678  |.  0F8C E4090000 JL 屏录专家.0043C062                         ;  如果注册码最后一位与SN6不等则不能比41=('A')小。
0043B67E  |>  8B85 34FFFFFF MOV EAX,DWORD PTR SS:[EBP-CC]
0043B684  |.  B9 0A000000   MOV ECX,0A
0043B689  |.  99            CDQ
0043B68A  |.  F7F9          IDIV ECX
0043B68C  |.  8B85 30FFFFFF MOV EAX,DWORD PTR SS:[EBP-D0]            ;  求SN4除A的结果,即得SN4的个位数=8
0043B692  |.  0FBE8C05 BCFE>MOVSX ECX,BYTE PTR SS:[EBP+EAX-144]
0043B69A  |.  83C1 BF       ADD ECX,-41
0043B69D  |.  2BCA          SUB ECX,EDX                              ;  注册码的第六位要等于41+8或者等于41+7
0043B69F  |.  898D 2CFFFFFF MOV DWORD PTR SS:[EBP-D4],ECX
0043B6A5  |.  83BD 2CFFFFFF>CMP DWORD PTR SS:[EBP-D4],0
0043B6AC  |.  74 0D         JE SHORT 屏录专家.0043B6BB
0043B6AE  |.  83BD 2CFFFFFF>CMP DWORD PTR SS:[EBP-D4],7
0043B6B5  |.  0F85 5C090000 JNZ 屏录专家.0043C017
0043B6BB  |>  66:C785 50FFF>MOV WORD PTR SS:[EBP-B0],44
0043B6C4  |.  BA 12795100   MOV EDX,屏录专家.00517912                    ;  注册成功,谢谢您的支持
0043B6C9  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
0043B6CC  |.  E8 EF6A0B00   CALL 屏录专家.004F21C0
0043B6D1  |.  FF85 5CFFFFFF INC DWORD PTR SS:[EBP-A4]
0043B6D7  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
0043B6D9  |.  E8 FA440500   CALL 屏录专家.0048FBD8
0043B6DE  |.  FF8D 5CFFFFFF DEC DWORD PTR SS:[EBP-A4]
0043B6E4  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
0043B6E7  |.  BA 02000000   MOV EDX,2
0043B6EC  |.  E8 076D0B00   CALL 屏录专家.004F23F8
0043B6F1  |.  8B0D 70F85200 MOV ECX,DWORD PTR DS:[52F870]            ;  屏录专家._MainForm
0043B6F7  |.  8B01          MOV EAX,DWORD PTR DS:[ECX]
0043B6F9  |.  C680 D80D0000>MOV BYTE PTR DS:[EAX+DD8],1
0043B700  |.  68 00040000   PUSH 400                                 ; /BufSize = 400 (1024.)
4、暗桩,
开始不知暗桩在何处,但是有一点是知道的,肯定要对注册码进行比较,也就是说刚才这个算法是不完整的,20位的注册码
才算了前6位与最后一位。但不知道注册码保存在哪里。我在上面的算法里找到这个“MOV ECX,186A0”命令下断点共有11处。
果然不出所料,在按第三次录象按钮是断在了这里:00405E18  |.  B9 A0860100   MOV ECX,186A0往上
找到这定                00405C3C  /$  55            PUSH EBP              下断
再次按录象按钮断下来了,一直按F8到这。。。。。

00405DBF  |.  8B45 A0       MOV EAX,DWORD PTR SS:[EBP-60]
00405DC2      B9 0A000000   MOV ECX,0A
00405DC7  |.  99            CDQ
00405DC8  |.  F7F9          IDIV ECX
00405DCA  |.  83FA 06       CMP EDX,6
00405DCD  |.  75 6C         JNZ SHORT 屏录专家.00405E3B                  ;  如果EDX的值等于6,暗桩开始了,暴破1,暴破方法一
00405DCF  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; /Arg1
00405DD2  |.  E8 890A0300   CALL 屏录专家.00436860                       ; \屏录专家.00436860
00405DD7  |.  59            POP ECX
00405DD8  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405DDB  |.  8B90 84060000 MOV EDX,DWORD PTR DS:[EAX+684]
00405DE1  |.  81C2 444D0000 ADD EDX,4D44
00405DE7  |.  8995 88FBFFFF MOV DWORD PTR SS:[EBP-478],EDX
00405DED  |.  DB85 88FBFFFF FILD DWORD PTR SS:[EBP-478]
00405DF3  |.  DC0D C4644000 FMUL QWORD PTR DS:[4064C4]
00405DF9  |.  DB2D CC644000 FLD TBYTE PTR DS:[4064CC]
00405DFF  |.  DEC9          FMULP ST(1),ST
00405E01  |.  E8 724D0E00   CALL 屏录专家.004EAB78
00405E06  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
00405E09  |.  8982 9C060000 MOV DWORD PTR DS:[EDX+69C],EAX
00405E0F  |.  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
00405E12  |.  8B81 9C060000 MOV EAX,DWORD PTR DS:[ECX+69C]
00405E18  |.  B9 A0860100   MOV ECX,186A0                            ;  这是最初的断点
00405E1D  |.  99            CDQ
00405E1E  |.  F7F9          IDIV ECX
00405E20  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405E23  |.  8990 9C060000 MOV DWORD PTR DS:[EAX+69C],EDX
00405E29  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
00405E2C  |.  81C2 9C060000 ADD EDX,69C
00405E32  |.  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
00405E35  |.  8991 A4060000 MOV DWORD PTR DS:[ECX+6A4],EDX
00405E3B  |>  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405E3E  |.  8B80 6C120000 MOV EAX,DWORD PTR DS:[EAX+126C]
00405E44  |.  E8 6B130700   CALL 屏录专家.004771B4
00405E49  |.  8BD0          MOV EDX,EAX
00405E4B  |.  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
00405E4E  |.  8B81 200C0000 MOV EAX,DWORD PTR DS:[ECX+C20]
00405E54  |.  E8 7B220700   CALL 屏录专家.004780D4
00405E59  |.  68 FFFF0000   PUSH 0FFFF
00405E5E  |.  66:C745 BC 2C>MOV WORD PTR SS:[EBP-44],2C
00405E64  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
00405E67  |.  E8 B8B9FFFF   CALL 屏录专家.00401824
00405E6C  |.  50            PUSH EAX
00405E6D  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
00405E70  |.  BA 77925000   MOV EDX,屏录专家.00509277                    ;  1.tmp
00405E75  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
00405E78  |.  E8 43C30E00   CALL 屏录专家.004F21C0
00405E7D  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
00405E80  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
00405E83  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405E86  |.  05 2C120000   ADD EAX,122C
00405E8B  |.  59            POP ECX
00405E8C  |.  E8 ABC50E00   CALL 屏录专家.004F243C
00405E91  |.  8D4D EC       LEA ECX,DWORD PTR SS:[EBP-14]            ; |
00405E94  |.  8B09          MOV ECX,DWORD PTR DS:[ECX]               ; |
00405E96  |.  B2 01         MOV DL,1                                 ; |
00405E98  |.  A1 98ED4A00   MOV EAX,DWORD PTR DS:[4AED98]            ; |
00405E9D  |.  E8 5EC50A00   CALL 屏录专家.004B2400                       ; \屏录专家.004B2400
00405EA2  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
00405EA5  |.  8982 240C0000 MOV DWORD PTR DS:[EDX+C24],EAX
00405EAB  |.  FF4D C8       DEC DWORD PTR SS:[EBP-38]
00405EAE  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
00405EB1  |.  BA 02000000   MOV EDX,2
00405EB6  |.  E8 3DC50E00   CALL 屏录专家.004F23F8
00405EBB  |.  FF4D C8       DEC DWORD PTR SS:[EBP-38]
00405EBE  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
00405EC1  |.  BA 02000000   MOV EDX,2
00405EC6  |.  E8 2DC50E00   CALL 屏录专家.004F23F8
00405ECB  |.  33C9          XOR ECX,ECX
00405ECD  |.  33D2          XOR EDX,EDX
00405ECF  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405ED2  |.  8B80 240C0000 MOV EAX,DWORD PTR DS:[EAX+C24]
00405ED8  |.  8B18          MOV EBX,DWORD PTR DS:[EAX]
00405EDA  |.  FF53 0C       CALL DWORD PTR DS:[EBX+C]
00405EDD  |.  8B45 A0       MOV EAX,DWORD PTR SS:[EBP-60]
00405EE0      B9 0A000000   MOV ECX,0A
00405EE5  |.  99            CDQ
00405EE6  |.  F7F9          IDIV ECX
00405EE8  |.  83FA 06       CMP EDX,6                                ;  EDX的值等于6,暴破2,暴破方法一
00405EEB  |.  0F85 65020000 JNZ 屏录专家.00406156
00405EF1  |.  66:C745 BC 38>MOV WORD PTR SS:[EBP-44],38
00405EF7  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
00405EFA  |.  E8 25B9FFFF   CALL 屏录专家.00401824
00405EFF  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
00405F02  |.  66:C745 BC 44>MOV WORD PTR SS:[EBP-44],44
00405F08  |.  6A 15         PUSH 15                                  ; /Arg3 = 00000015
00405F0A  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
00405F0C  |.  8D95 8CFBFFFF LEA EDX,DWORD PTR SS:[EBP-474]           ; |
00405F12  |.  52            PUSH EDX                                 ; |Arg1
00405F13  |.  E8 A8050E00   CALL 屏录专家.004E64C0                       ; \屏录专家.004E64C0
00405F18  |.  83C4 0C       ADD ESP,0C
00405F1B  |.  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
00405F1E  |.  8B81 A4060000 MOV EAX,DWORD PTR DS:[ECX+6A4]
00405F24  |.  FF30          PUSH DWORD PTR DS:[EAX]                  ; /Arg3
00405F26  |.  68 7D925000   PUSH 屏录专家.0050927D                       ; |%d
00405F2B  |.  8D95 8CFBFFFF LEA EDX,DWORD PTR SS:[EBP-474]           ; |
00405F31  |.  52            PUSH EDX                                 ; |Arg1
00405F32  |.  E8 65310E00   CALL 屏录专家.004E909C                       ; \屏录专家.004E909C
00405F37  |.  83C4 0C       ADD ESP,0C
00405F3A  |.  33C9          XOR ECX,ECX
00405F3C  |.  894D A8       MOV DWORD PTR SS:[EBP-58],ECX
00405F3F  |>  8B45 A8       /MOV EAX,DWORD PTR SS:[EBP-58]
00405F42  |.  80BC05 8CFBFF>|CMP BYTE PTR SS:[EBP+EAX-474],0
00405F4A  |.  75 0B         |JNZ SHORT 屏录专家.00405F57
00405F4C  |.  8B55 A8       |MOV EDX,DWORD PTR SS:[EBP-58]
00405F4F  |.  C68415 8CFBFF>|MOV BYTE PTR SS:[EBP+EDX-474],28
00405F57  |>  FF45 A8       |INC DWORD PTR SS:[EBP-58]
00405F5A  |.  837D A8 06    |CMP DWORD PTR SS:[EBP-58],6             ;  这里是把SN4的十进制20218后加“)”=20218)共六位参与后面计算。
00405F5E  |.^ 7C DF         \JL SHORT 屏录专家.00405F3F
00405F60  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00405F63  |.  05 D40D0000   ADD EAX,0DD4
00405F68  |.  E8 9FF8FFFF   CALL 屏录专家.0040580C
00405F6D  |.  8945 94       MOV DWORD PTR SS:[EBP-6C],EAX
00405F70  |.  66:C745 BC 50>MOV WORD PTR SS:[EBP-44],50
00405F76  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]
00405F79  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00405F7C  |.  E8 A3B8FFFF   CALL 屏录专家.00401824
00405F81  |.  50            PUSH EAX                                 ; |Arg1
00405F82  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]                ; |
00405F85  |.  E8 C2A40000   CALL 屏录专家.0041044C                       ; \屏录专家.0041044C
00405F8A  |.  83C4 08       ADD ESP,8
00405F8D  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
00405F90  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
00405F93  |.  E8 90C40E00   CALL 屏录专家.004F2428
00405F98  |.  FF4D C8       DEC DWORD PTR SS:[EBP-38]
00405F9B  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00405F9E  |.  BA 02000000   MOV EDX,2
00405FA3  |.  E8 50C40E00   CALL 屏录专家.004F23F8
00405FA8  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
00405FAB  |.  E8 5CF8FFFF   CALL 屏录专家.0040580C
00405FB0  |.  8945 90       MOV DWORD PTR SS:[EBP-70],EAX            ;  机器码出现
00405FB3  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
00405FB6  |.  8B82 240C0000 MOV EAX,DWORD PTR DS:[EDX+C24]
00405FBC  |.  85C0          TEST EAX,EAX
00405FBE  |.  79 05         JNS SHORT 屏录专家.00405FC5
00405FC0  |.  05 FF030000   ADD EAX,3FF
00405FC5  |>  C1F8 0A       SAR EAX,0A
00405FC8  |.  B9 03000000   MOV ECX,3
00405FCD  |.  99            CDQ
00405FCE  |.  F7F9          IDIV ECX
00405FD0  |.  8955 A4       MOV DWORD PTR SS:[EBP-5C],EDX
00405FD3  |.  8B45 90       MOV EAX,DWORD PTR SS:[EBP-70]
00405FD6  |.  8B55 A4       MOV EDX,DWORD PTR SS:[EBP-5C]
00405FD9  |.  0FBE0C10      MOVSX ECX,BYTE PTR DS:[EAX+EDX]          ;  取机器码的第一位或第二位或第三位
00405FDD  |.  81E1 01000080 AND ECX,80000001
00405FE3  |.  79 05         JNS SHORT 屏录专家.00405FEA
00405FE5  |.  49            DEC ECX
00405FE6  |.  83C9 FE       OR ECX,FFFFFFFE
00405FE9  |.  41            INC ECX
00405FEA  |>  85C9          TEST ECX,ECX
00405FEC  |.  0F85 85000000 JNZ 屏录专家.00406077                        ;  如果取机器码的第一位或第三位,跳到下面正行计算,
00405FF2  |.  66:C745 BC 5C>MOV WORD PTR SS:[EBP-44],5C              ;  如果取机器码的第二位就在这计算
00405FF8  |.  BA 80925000   MOV EDX,屏录专家.00509280
00405FFD  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
00406000  |.  E8 BBC10E00   CALL 屏录专家.004F21C0
00406005  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
00406008  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
0040600B  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
0040600E  |.  05 D00D0000   ADD EAX,0DD0
00406013  |.  E8 C8C40E00   CALL 屏录专家.004F24E0
00406018  |.  84C0          TEST AL,AL
0040601A  |.  74 1D         JE SHORT 屏录专家.00406039                   ;  暴破点1,可以在这里暴破第9位的检验。暴破方法二
0040601C  |.  8B4D 94       MOV ECX,DWORD PTR SS:[EBP-6C]
0040601F  |.  8B45 A4       MOV EAX,DWORD PTR SS:[EBP-5C]
00406022  |.  0FBE5441 06   MOVSX EDX,BYTE PTR DS:[ECX+EAX*2+6]      ;  取注册码的第9位
00406027  |.  83C2 E7       ADD EDX,-19
0040602A  |.  8B4D A4       MOV ECX,DWORD PTR SS:[EBP-5C]
0040602D  |.  0FBE844D 8CFB>MOVSX EAX,BYTE PTR SS:[EBP+ECX*2-474]
00406035  |.  3BD0          CMP EDX,EAX                              ;  比较注册码的第9位是否等于20218)的第三位加19
00406037      75 04         JNZ SHORT 屏录专家.0040603D                  ;  相等就ok
00406039  |>  33D2          XOR EDX,EDX
0040603B  |.  EB 05         JMP SHORT 屏录专家.00406042
0040603D  |>  BA 01000000   MOV EDX,1
00406042  |>  52            PUSH EDX                                 ; /Arg1
00406043  |.  FF4D C8       DEC DWORD PTR SS:[EBP-38]                ; |
00406046  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]            ; |
00406049  |.  BA 02000000   MOV EDX,2                                ; |
0040604E  |.  E8 A5C30E00   CALL 屏录专家.004F23F8                       ; \屏录专家.004F23F8
00406053  |.  59            POP ECX
00406054  |.  84C9          TEST CL,CL
00406056  |.  0F84 E4000000 JE 屏录专家.00406140
0040605C  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
0040605F  |.  81C2 D40D0000 ADD EDX,0DD4
00406065  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00406068  |.  05 D00D0000   ADD EAX,0DD0
0040606D  |.  E8 B6C30E00   CALL 屏录专家.004F2428
00406072  |.  E9 C9000000   JMP 屏录专家.00406140
00406077  |>  66:C745 BC 68>MOV WORD PTR SS:[EBP-44],68
0040607D  |.  BA 81925000   MOV EDX,屏录专家.00509281
00406082  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
00406085  |.  E8 36C10E00   CALL 屏录专家.004F21C0
0040608A  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
0040608D  |.  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
00406090  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00406093  |.  05 D00D0000   ADD EAX,0DD0
00406098  |.  E8 43C40E00   CALL 屏录专家.004F24E0
0040609D  |.  84C0          TEST AL,AL
0040609F  |.  74 1D         JE SHORT 屏录专家.004060BE
004060A1  |.  8B4D 94       MOV ECX,DWORD PTR SS:[EBP-6C]
004060A4  |.  8B45 A4       MOV EAX,DWORD PTR SS:[EBP-5C]
004060A7  |.  0FBE5441 06   MOVSX EDX,BYTE PTR DS:[ECX+EAX*2+6]      ;  如果机器取第一位,注册码就取第7位,如果机器取第三位,注册码就取第11位
004060AC  |.  8B4D A4       MOV ECX,DWORD PTR SS:[EBP-5C]
004060AF  |.  0FBE844D 8DFB>MOVSX EAX,BYTE PTR SS:[EBP+ECX*2-473]    ;  如果机器取第一位,就取20218)的第二位,如果机器取第三位,就取20218)的第六位
004060B7  |.  83C0 19       ADD EAX,19
004060BA  |.  3BD0          CMP EDX,EAX                              ;  注册码的第7位要等于20218)的第二位+19,注册码的第11位要等于20218)的第六位+19
004060BC      75 04         JNZ SHORT 屏录专家.004060C2                  ;  暴破点1,可以在这里暴破第7,11位的检验,暴破方法二
004060BE  |>  33D2          XOR EDX,EDX
004060C0  |.  EB 05         JMP SHORT 屏录专家.004060C7
004060C2  |>  BA 01000000   MOV EDX,1
004060C7  |>  52            PUSH EDX                                 ; /Arg1
004060C8  |.  FF4D C8       DEC DWORD PTR SS:[EBP-38]                ; |
004060CB  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]            ; |
004060CE  |.  BA 02000000   MOV EDX,2                                ; |
004060D3  |.  E8 20C30E00   CALL 屏录专家.004F23F8                       ; \屏录专家.004F23F8
004060D8  |.  59            POP ECX
004060D9  |.  84C9          TEST CL,CL
004060DB  |.  74 63         JE SHORT 屏录专家.00406140
004060DD  |.  66:C745 BC 74>MOV WORD PTR SS:[EBP-44],74
004060E3  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
004060E6  |.  E8 39B7FFFF   CALL 屏录专家.00401824
004060EB  |.  50            PUSH EAX
004060EC  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]
004060EF  |.  BA 82925000   MOV EDX,屏录专家.00509282                    ;  1
004060F4  |.  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
004060F7  |.  E8 C4C00E00   CALL 屏录专家.004F21C0
004060FC  |.  FF45 C8       INC DWORD PTR SS:[EBP-38]





------------------------------------------------------------------------
总结:
1.注册名第i个值跟机器码第i位作XOR运算,结果乖i-1记为S(i),
  s1=s(1)+s(2)+...+s(20),注册码没有20位后面添0。
2.s2=s1+3039,s3=s2的十进制。
3.s4=(s2+4D44的十进制)*3.14*0.1594896331738437110
4.s5=假码前19位的和。
5.s6=在s3后添一位')',共6位.

注册码前5位的ASC码的十六进制值各是等于s3各位的ASC码的十六进制值加19.
注册码的第六位要等于s4十进制的个位数+41或者等于48即字母H.
注册码的第7位要等于s6的第二位+19.
注册码的第9位要等于S6的第三位+19.
注册码的第11位要等于s6的第六位+19,即字母A.
注册码最后一位要等于S5的个位数或者比41('A')大.------------------------------------------------------------------------
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!