飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5944|回复: 9

[原创] 摄像头录像精灵算法分析

    [复制链接]
  • TA的每日心情
    开心
    2016-11-4 23:26
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2011-2-12 19:04:15 | 显示全部楼层 |阅读模式
    【破文标题】摄像头录像精灵算法分析
    【破文作者】wangwei
    【作者邮箱】[email protected]

    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】VideoRecord
    【软件大小】471 KB
    【软件语言】中文
    【软件类别】国内软件 / 共享软件 / 录像功能
    【更新时间】2008-08-30
    【原版下载】自己找一下
    【保护方式】注册码
    【软件简介】一款小巧的计算机摄像头视频捕获软件。可以为使用计算机数码摄像头、数码照相机的用户提供方便快捷的录像功能。
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    \*****************************************************************************************\一、运行程序,进行注册,输入错误的

    注册信息进行检测,有提示信息
    "注册完成,请重新运行程序!"
    **************************************************************
    二、用PEiD对VideoRecord查壳,为 ASpack V2.12
    **************************************************************
    三、运行OD,打开VideoRecord,右键超级字串参考查找ASCII.
    发现"注册完成,请重新运行程序!"但是爆破了运行发现还是要注册。这个软件是重启证的。在次查找ASCII,发现了字串 “未购买用户”!

    !!双击来到004D1D8B  |.  BA B01E4D00   MOV EDX,55_.004D1EB0                     ;   - 未购买用户。找到段首
    004D1C98  /.  55            PUSH EBP下断运行运行程序断下来了。
    \******************************************************************************************\
    004D1C98  /.  55            PUSH EBP                             ;程序运行断下来了     
    004D1C99  |.  8BEC          MOV EBP,ESP
    004D1C9B  |.  33C9          XOR ECX,ECX
    004D1C9D  |.  51            PUSH ECX
    004D1C9E  |.  51            PUSH ECX
    004D1C9F  |.  51            PUSH ECX
    004D1CA0  |.  51            PUSH ECX
    004D1CA1  |.  51            PUSH ECX
    004D1CA2  |.  51            PUSH ECX
    004D1CA3  |.  51            PUSH ECX
    004D1CA4  |.  51            PUSH ECX
    004D1CA5  |.  53            PUSH EBX
    004D1CA6  |.  56            PUSH ESI
    004D1CA7  |.  8BD8          MOV EBX,EAX
    004D1CA9  |.  33C0          XOR EAX,EAX
    004D1CAB  |.  55            PUSH EBP
    004D1CAC  |.  68 2A1E4D00   PUSH 55_.004D1E2A
    004D1CB1  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004D1CB4  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004D1CB7  |.  C605 BC854D00>MOV BYTE PTR DS:[4D85BC],0              ;
    004D1CBE  |.  B2 01         MOV DL,1
    004D1CC0  |.  A1 306D4600   MOV EAX,DWORD PTR DS:[466D30]
    004D1CC5  |.  E8 6651F9FF   CALL 55_.00466E30
    004D1CCA  |.  8BF0          MOV ESI,EAX
    004D1CCC  |.  BA 01000080   MOV EDX,80000001
    004D1CD1  |.  8BC6          MOV EAX,ESI
    004D1CD3  |.  E8 F851F9FF   CALL 55_.00466ED0
    004D1CD8  |.  B1 01         MOV CL,1
    004D1CDA  |.  BA 401E4D00   MOV EDX,55_.004D1E40                     ;  Software\VideoRecord
    004D1CDF  |.  8BC6          MOV EAX,ESI
    004D1CE1  |.  E8 4E52F9FF   CALL 55_.00466F34
    004D1CE6  |.  8D4D FC       LEA ECX,DWORD PTR SS:[EBP-4]
    004D1CE9  |.  BA 601E4D00   MOV EDX,55_.004D1E60                     ;  RegUser
    004D1CEE  |.  8BC6          MOV EAX,ESI
    004D1CF0  |.  E8 0754F9FF   CALL 55_.004670FC                       ;取用户名
    004D1CF5  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
    004D1CF8  |.  B8 C0854D00   MOV EAX,55_.004D85C0
    004D1CFD  |.  E8 1E28F3FF   CALL 55_.00404520
    004D1D02  |.  8D4D F8       LEA ECX,DWORD PTR SS:[EBP-8]
    004D1D05  |.  BA 701E4D00   MOV EDX,55_.004D1E70                     ;  RegNo
    004D1D0A  |.  8BC6          MOV EAX,ESI
    004D1D0C  |.  E8 EB53F9FF   CALL 55_.004670FC                        ;取假码
    004D1D11  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004D1D14  |.  50            PUSH EAX
    004D1D15  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    004D1D18  |.  E8 FBE3FFFF   CALL 55_.004D0118                       ;取机器码
    004D1D1D  |.  8B4D EC       MOV ECX,DWORD PTR SS:[EBP-14]
    004D1D20  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    004D1D23  |.  8B15 C0854D00 MOV EDX,DWORD PTR DS:[4D85C0]
    004D1D29  |.  E8 A22AF3FF   CALL 55_.004047D0                       ;把用户名和机器码连在一起
    004D1D2E  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
    004D1D31  |.  8D4D F4       LEA ECX,DWORD PTR SS:[EBP-C]
    004D1D34  |.  BA 801E4D00   MOV EDX,55_.004D1E80                     ;  videorecordChina
    004D1D39  |.  E8 5226FEFF   CALL 55_.004B4390                       ;这就是算法CALL了。重点就在这了跟进去看看
    004D1D3E  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
    004D1D41  |.  58            POP EAX
    004D1D42  |.  E8 812BF3FF   CALL 55_.004048C8
    004D1D47      75 07         JNZ SHORT 55_.004D1D50               ;可以发现只要就跳不跳就可以爆破了NOP掉就可以了标志位就是1了
    004D1D49  |.  C605 BC854D00>MOV BYTE PTR DS:[4D85BC],1
    004D1D50  |>  8BC6          MOV EAX,ESI
    004D1D52  |.  E8 E919F3FF   CALL 55_.00403740
    004D1D57  |.  B8 9C1E4D00   MOV EAX,55_.004D1E9C                     ;  2011-2-10
    004D1D5C  |.  E8 4B9CF3FF   CALL 55_.0040B9AC
    004D1D61  |.  DD5D E4       FSTP QWORD PTR SS:[EBP-1C]
    004D1D64  |.  9B            WAIT
    004D1D65  |.  E8 4E87F3FF   CALL 55_.0040A4B8
    004D1D6A  |.  DC5D E4       FCOMP QWORD PTR SS:[EBP-1C]
    004D1D6D  |.  DFE0          FSTSW AX
    004D1D6F  |.  9E            SAHF
    004D1D70  |.  76 76         JBE SHORT 55_.004D1DE8
    004D1D72  |.  803D BC854D00>CMP BYTE PTR DS:[4D85BC],0              ;//标志位就在4D85BC中的值是否为1是1就不跳哪就注册城功
    004D1D79  |.  75 27         JNZ SHORT 55_.004D1DA2                  ;//关键跳转
    004D1D7B  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
    004D1D7E  |.  A1 B8854D00   MOV EAX,DWORD PTR DS:[4D85B8]
    004D1D83  |.  E8 B0FAF6FF   CALL 55_.00441838
    004D1D88  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    004D1D8B  |.  BA B01E4D00   MOV EDX,55_.004D1EB0                     ;   - 未购买用户
    004D1D90  |.  E8 F729F3FF   CALL 55_.0040478C
    004D1D95  |.  8B55 E0       MOV EDX,DWORD PTR SS:[EBP-20]
    004D1D98  |.  A1 B8854D00   MOV EAX,DWORD PTR DS:[4D85B8]
    004D1D9D  |.  E8 C6FAF6FF   CALL 55_.00441868
    004D1DA2  |>  83C9 FF       OR ECX,FFFFFFFF
    004D1DA5  |.  BA 27020000   MOV EDX,227
    004D1DAA  |.  8B83 54030000 MOV EAX,DWORD PTR DS:[EBX+354]
    004D1DB0  |.  E8 07EAFDFF   CALL 55_.004B07BC
    004D1DB5  |.  83C9 FF       OR ECX,FFFFFFFF
    004D1DB8  |.  BA 27020000   MOV EDX,227
    004D1DBD  |.  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]
    004D1DC3  |.  E8 F4E9FDFF   CALL 55_.004B07BC
    004D1DC8  |.  BA C41E4D00   MOV EDX,55_.004D1EC4                     ;  h
    004D1DCD  |.  8B83 54030000 MOV EAX,DWORD PTR DS:[EBX+354]
    004D1DD3  |.  E8 E816FEFF   CALL 55_.004B34C0
    004D1DD8  |.  BA 2C1F4D00   MOV EDX,55_.004D1F2C                     ;  h
    004D1DDD  |.  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]
    004D1DE3  |.  E8 D816FEFF   CALL 55_.004B34C0
    004D1DE8  |>  33C0          XOR EAX,EAX
    004D1DEA  |.  8983 60030000 MOV DWORD PTR DS:[EBX+360],EAX
    004D1DF0  |.  33C0          XOR EAX,EAX
    004D1DF2  |.  8983 5C030000 MOV DWORD PTR DS:[EBX+35C],EAX
    004D1DF8  |.  8B83 F4020000 MOV EAX,DWORD PTR DS:[EBX+2F4]
    004D1DFE  |.  8B15 A01F4D00 MOV EDX,DWORD PTR DS:[4D1FA0]
    004D1E04  |.  8950 5C       MOV DWORD PTR DS:[EAX+5C],EDX
    004D1E07  |.  33C0          XOR EAX,EAX
    004D1E09  |.  5A            POP EDX
    004D1E0A  |.  59            POP ECX
    004D1E0B  |.  59            POP ECX
    004D1E0C  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    004D1E0F  |.  68 311E4D00   PUSH 55_.004D1E31
    004D1E14  |>  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    004D1E17  |.  E8 B026F3FF   CALL 55_.004044CC
    004D1E1C  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    004D1E1F  |.  BA 05000000   MOV EDX,5
    004D1E24  |.  E8 C726F3FF   CALL 55_.004044F0
    004D1E29  \.  C3            RETN
    004D1E2A   .^ E9 A520F3FF   JMP 55_.00403ED4
    004D1E2F   .^ EB E3         JMP SHORT 55_.004D1E14
    004D1E31   .  5E            POP ESI
    004D1E32   .  5B            POP EBX
    004D1E33   .  8BE5          MOV ESP,EBP
    004D1E35   .  5D            POP EBP


    \***********************************************************************************************************\
    004D1D39  |.  E8 5226FEFF   CALL 55_.004B4390 按F7跟进

    004B4390  /$  55            PUSH EBP
    004B4391  |.  8BEC          MOV EBP,ESP
    004B4393  |.  83C4 D0       ADD ESP,-30
    004B4396  |.  53            PUSH EBX
    004B4397  |.  56            PUSH ESI
    004B4398  |.  57            PUSH EDI
    004B4399  |.  33DB          XOR EBX,EBX
    004B439B  |.  895D D0       MOV DWORD PTR SS:[EBP-30],EBX
    004B439E  |.  895D D4       MOV DWORD PTR SS:[EBP-2C],EBX
    004B43A1  |.  8BF9          MOV EDI,ECX
    004B43A3  |.  8955 F8       MOV DWORD PTR SS:[EBP-8],EDX
    004B43A6  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX     ;把字串放到DWORD PTR SS:[EBP-8]
    004B43A9  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004B43AC  |.  E8 BB05F5FF   CALL 55_.0040496C
    004B43B1  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004B43B4  |.  E8 B305F5FF   CALL 55_.0040496C
    004B43B9  |.  33C0          XOR EAX,EAX
    004B43BB  |.  55            PUSH EBP
    004B43BC  |.  68 AC444B00   PUSH 55_.004B44AC
    004B43C1  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004B43C4  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004B43C7  |.  8BC7          MOV EAX,EDI
    004B43C9  |.  E8 FE00F5FF   CALL 55_.004044CC
    004B43CE  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
    004B43D1  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004B43D4  |.  E8 23FFFFFF   CALL 55_.004B42FC
    004B43D9  |.  B2 01         MOV DL,1
    004B43DB  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    004B43DE  |.  E8 29F2FFFF   CALL 55_.004B360C
    004B43E3  |.  C745 D8 01000>MOV DWORD PTR SS:[EBP-28],1
    004B43EA  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004B43ED  |.  E8 9203F5FF   CALL 55_.00404784
    004B43F2  |.  8945 DC       MOV DWORD PTR SS:[EBP-24],EAX
    004B43F5  |>  8D45 D4       /LEA EAX,DWORD PTR SS:[EBP-2C]
    004B43F8  |.  50            |PUSH EAX
    004B43F9  |.  B9 08000000   |MOV ECX,8
    004B43FE  |.  8B55 D8       |MOV EDX,DWORD PTR SS:[EBP-28]
    004B4401  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]
    004B4404  |.  E8 D305F5FF   |CALL 55_.004049DC
    004B4409  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]
    004B440C  |.  33C9          |XOR ECX,ECX
    004B440E  |.  BA 08000000   |MOV EDX,8
    004B4413  |.  E8 DCEBF4FF   |CALL 55_.00402FF4                  ;重复取出8位字串
    004B4418  |.  8B45 D4       |MOV EAX,DWORD PTR SS:[EBP-2C]
    004B441B  |.  E8 6403F5FF   |CALL 55_.00404784
    004B4420  |.  50            |PUSH EAX
    004B4421  |.  8D45 D4       |LEA EAX,DWORD PTR SS:[EBP-2C]
    004B4424  |.  E8 AB05F5FF   |CALL 55_.004049D4
    004B4429  |.  8D55 F0       |LEA EDX,DWORD PTR SS:[EBP-10]
    004B442C  |.  59            |POP ECX
    004B442D  |.  E8 1AE5F4FF   |CALL 55_.0040294C
    004B4432  |.  8D55 E8       |LEA EDX,DWORD PTR SS:[EBP-18]
    004B4435  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]
    004B4438  |.  E8 A3F4FFFF   |CALL 55_.004B38E0                   ;算法CALL跟进
    004B443D  |.  BE 08000000   |MOV ESI,8
    004B4442  |.  8D5D E8       |LEA EBX,DWORD PTR SS:[EBP-18]
    004B4445  |>  8D4D D0       |/LEA ECX,DWORD PTR SS:[EBP-30]       ;从这到004B4462是把从算法CALL中得到的字串转为16进制的数
    004B4448  |.  33C0          ||XOR EAX,EAX
    004B444A  |.  8A03          ||MOV AL,BYTE PTR DS:[EBX]                    放到EBP-18中
    004B444C  |.  BA 02000000   ||MOV EDX,2
    004B4451  |.  E8 6A48F5FF   ||CALL 55_.00408CC0
    004B4456  |.  8B55 D0       ||MOV EDX,DWORD PTR SS:[EBP-30]
    004B4459  |.  8BC7          ||MOV EAX,EDI
    004B445B  |.  E8 2C03F5FF   ||CALL 55_.0040478C
    004B4460  |.  43            ||INC EBX
    004B4461  |.  4E            ||DEC ESI
    004B4462  |.^ 75 E1         |\JNZ SHORT 55_.004B4445
    004B4464  |.  8345 D8 08    |ADD DWORD PTR SS:[EBP-28],8         ;第二次指向字串的第9位第三次指向字串的第17位
    004B4468  |.  8B45 DC       |MOV EAX,DWORD PTR SS:[EBP-24]
    004B446B  |.  83C0 07       |ADD EAX,7
    004B446E  |.  85C0          |TEST EAX,EAX
    004B4470  |.  79 03         |JNS SHORT 55_.004B4475
    004B4472  |.  83C0 07       |ADD EAX,7
    004B4475  |>  C1F8 03       |SAR EAX,3
    004B4478  |.  C1E0 03       |SHL EAX,3
    004B447B  |.  3B45 D8       |CMP EAX,DWORD PTR SS:[EBP-28]
    004B447E  |.^ 0F8D 71FFFFFF \JGE 55_.004B43F5
    004B4484  |.  33C0          XOR EAX,EAX
    004B4486  |.  5A            POP EDX
    004B4487  |.  59            POP ECX
    004B4488  |.  59            POP ECX
    004B4489  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    004B448C  |.  68 B3444B00   PUSH 55_.004B44B3
    004B4491  |>  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
    004B4494  |.  BA 02000000   MOV EDX,2
    004B4499  |.  E8 5200F5FF   CALL 55_.004044F0
    004B449E  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    004B44A1  |.  BA 02000000   MOV EDX,2
    004B44A6  |.  E8 4500F5FF   CALL 55_.004044F0
    004B44AB  \.  C3            RETN
    004B44AC   .^ E9 23FAF4FF   JMP 55_.00403ED4
    004B44B1   .^ EB DE         JMP SHORT 55_.004B4491
    004B44B3   .  5F            POP EDI
    004B44B4   .  5E            POP ESI
    004B44B5   .  5B            POP EBX
    004B44B6   .  8BE5          MOV ESP,EBP
    004B44B8   .  5D            POP EBP
    \*********************************************************************************************************\
    004B4438  |.  E8 A3F4FFFF   |CALL 55_.004B38E0                   ;算法CALL跟进
    这是重要的一个CALL,




    004B38E0  /$  53            PUSH EBX
    004B38E1  |.  56            PUSH ESI
    004B38E2  |.  57            PUSH EDI
    004B38E3  |.  55            PUSH EBP
    004B38E4  |.  83C4 F4       ADD ESP,-0C
    004B38E7  |.  8BF0          MOV ESI,EAX
    004B38E9  |.  8D3C24        LEA EDI,DWORD PTR SS:[ESP]                        ;  第一次的8位字串是wangweiB
    004B38EC  |.  A5            MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]        ;  把取出8个字串的前4位给DS:[ESI]
    004B38ED  |.  A5            MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]        ;  把取出8个字串的4-8位给DS:[EDI]
    004B38EE  |.  895424 08     MOV DWORD PTR SS:[ESP+8],EDX
    004B38F2  |.  BE EC804D00   MOV ESI,55_.004D80EC                              ;  把004D80EC给ESI
    004B38F7  |.  BF CC804D00   MOV EDI,55_.004D80CC                              ;  把004D80CC给EDI
    004B38FC  |.  8BEC          MOV EBP,ESP
    004B38FE  |.  8A55 07       MOV DL,BYTE PTR SS:[EBP+7]                        ;  把字串的第8位给DL=B
    004B3901  |.  F6C2 40       TEST DL,40                                        ;  B=42 TEST 40
    004B3904  |.  0F97C0        SETA AL                                           ;  条件为真 TRUE AL=1
    004B3907  |.  8807          MOV BYTE PTR DS:[EDI],AL                          ;  DS:[EDI]=DS:[004D80CC]为1
    004B3909  |.  F6C2 80       TEST DL,80                                        ;  DL=42 TEST 80
    004B390C  |.  0F97C0        SETA AL                                           ;  条件为假 FALSE AL=0
    004B390F  |.  8806          MOV BYTE PTR DS:[ESI],AL                          ;  DS:[ESI]=DS:[004D80EC]为0
    004B3911  |.  8A4D 06       MOV CL,BYTE PTR SS:[EBP+6]                        ;  把字串的第7位给CL=i=69
    004B3914  |.  F6C1 40       TEST CL,40                                        ;  cl=69 test 40
    004B3917  |.  0F97C0        SETA AL                                           ;  条件为真 TRUE AL=1
    004B391A  |.  8847 01       MOV BYTE PTR DS:[EDI+1],AL                        ;  DS:[EDI]=DS:[004D80CC+1]为1
    004B391D  |.  F6C1 80       TEST CL,80                                        ;  cl=69 test 80
    004B3920  |.  0F97C0        SETA AL                                           ;  条件为假 FALSE AL=0
    004B3923  |.  8846 01       MOV BYTE PTR DS:[ESI+1],AL                        ;  DS:[ESI]=DS:[004D80EC+1]为0
    004B3926  |.  8A45 05       MOV AL,BYTE PTR SS:[EBP+5]                        ;  把字串的第6位给AL=e
    004B3929  |.  F6C0 40       TEST AL,40
    004B392C  |.  0F97C3        SETA BL
    004B392F  |.  885F 02       MOV BYTE PTR DS:[EDI+2],BL
    004B3932  |.  F6C0 80       TEST AL,80
    004B3935  |.  0F97C3        SETA BL
    004B3938  |.  885E 02       MOV BYTE PTR DS:[ESI+2],BL
    004B393B  |.  F645 04 40    TEST BYTE PTR SS:[EBP+4],40                       ;  把字串的第5位给AL=w
    004B393F  |.  0F97C3        SETA BL
    004B3942  |.  885F 03       MOV BYTE PTR DS:[EDI+3],BL
    004B3945  |.  F645 04 80    TEST BYTE PTR SS:[EBP+4],80
    004B3949  |.  0F97C3        SETA BL
    004B394C  |.  885E 03       MOV BYTE PTR DS:[ESI+3],BL
    004B394F  |.  F645 03 40    TEST BYTE PTR SS:[EBP+3],40                       ;  把字串的第4位给AL=g
    004B3953  |.  0F97C3        SETA BL
    004B3956  |.  885F 04       MOV BYTE PTR DS:[EDI+4],BL
    004B3959  |.  F645 03 80    TEST BYTE PTR SS:[EBP+3],80
    004B395D  |.  0F97C3        SETA BL
    004B3960  |.  885E 04       MOV BYTE PTR DS:[ESI+4],BL
    004B3963  |.  F645 02 40    TEST BYTE PTR SS:[EBP+2],40                       ;  把字串的第3位给AL=n
    004B3967  |.  0F97C3        SETA BL
    004B396A  |.  885F 05       MOV BYTE PTR DS:[EDI+5],BL
    004B396D  |.  F645 02 80    TEST BYTE PTR SS:[EBP+2],80
    004B3971  |.  0F97C3        SETA BL
    004B3974  |.  885E 05       MOV BYTE PTR DS:[ESI+5],BL
    004B3977  |.  F645 01 40    TEST BYTE PTR SS:[EBP+1],40                       ;  把字串的第2位给AL=a
    004B397B  |.  0F97C3        SETA BL
    004B397E  |.  885F 06       MOV BYTE PTR DS:[EDI+6],BL
    004B3981  |.  F645 01 80    TEST BYTE PTR SS:[EBP+1],80
    004B3985  |.  0F97C3        SETA BL
    004B3988  |.  885E 06       MOV BYTE PTR DS:[ESI+6],BL
    004B398B  |.  F645 00 40    TEST BYTE PTR SS:[EBP],40
    004B398F  |.  0F97C3        SETA BL
    004B3992  |.  885F 07       MOV BYTE PTR DS:[EDI+7],BL
    004B3995  |.  F645 00 80    TEST BYTE PTR SS:[EBP],80                         ;  把字串的第1位给AL=w
    004B3999  |.  0F97C3        SETA BL
    004B399C  |.  885E 07       MOV BYTE PTR DS:[ESI+7],BL
    004B399F  |.  F6C2 10       TEST DL,10
    004B39A2  |.  0F97C3        SETA BL
    004B39A5  |.  885F 08       MOV BYTE PTR DS:[EDI+8],BL
    004B39A8  |.  F6C2 20       TEST DL,20
    004B39AB  |.  0F97C2        SETA DL
    004B39AE  |.  8856 08       MOV BYTE PTR DS:[ESI+8],DL
    004B39B1  |.  F6C1 10       TEST CL,10
    004B39B4  |.  0F97C2        SETA DL
    004B39B7  |.  8857 09       MOV BYTE PTR DS:[EDI+9],DL
    004B39BA  |.  F6C1 20       TEST CL,20
    004B39BD  |.  0F97C2        SETA DL
    004B39C0  |.  8856 09       MOV BYTE PTR DS:[ESI+9],DL
    004B39C3  |.  F6C0 10       TEST AL,10
    004B39C6  |.  0F97C2        SETA DL
    004B39C9  |.  8857 0A       MOV BYTE PTR DS:[EDI+A],DL
    004B39CC  |.  F6C0 20       TEST AL,20
    004B39CF  |.  0F97C0        SETA AL
    004B39D2  |.  8846 0A       MOV BYTE PTR DS:[ESI+A],AL
    004B39D5  |.  F645 04 10    TEST BYTE PTR SS:[EBP+4],10
    004B39D9  |.  0F97C0        SETA AL
    004B39DC  |.  8847 0B       MOV BYTE PTR DS:[EDI+B],AL
    004B39DF  |.  F645 04 20    TEST BYTE PTR SS:[EBP+4],20
    004B39E3  |.  0F97C0        SETA AL
    004B39E6  |.  8846 0B       MOV BYTE PTR DS:[ESI+B],AL
    004B39E9  |.  F645 03 10    TEST BYTE PTR SS:[EBP+3],10
    004B39ED  |.  0F97C0        SETA AL
    004B39F0  |.  8847 0C       MOV BYTE PTR DS:[EDI+C],AL
    004B39F3  |.  F645 03 20    TEST BYTE PTR SS:[EBP+3],20
    004B39F7  |.  0F97C0        SETA AL
    004B39FA  |.  8846 0C       MOV BYTE PTR DS:[ESI+C],AL
    004B39FD  |.  F645 02 10    TEST BYTE PTR SS:[EBP+2],10
    004B3A01  |.  0F97C0        SETA AL
    004B3A04  |.  8847 0D       MOV BYTE PTR DS:[EDI+D],AL
    004B3A07  |.  F645 02 20    TEST BYTE PTR SS:[EBP+2],20
    004B3A0B  |.  0F97C0        SETA AL
    004B3A0E  |.  8846 0D       MOV BYTE PTR DS:[ESI+D],AL
    004B3A11  |.  F645 01 10    TEST BYTE PTR SS:[EBP+1],10
    004B3A15  |.  0F97C0        SETA AL
    004B3A18  |.  8847 0E       MOV BYTE PTR DS:[EDI+E],AL
    004B3A1B  |.  F645 01 20    TEST BYTE PTR SS:[EBP+1],20
    004B3A1F  |.  0F97C0        SETA AL
    004B3A22  |.  8846 0E       MOV BYTE PTR DS:[ESI+E],AL
    004B3A25  |.  F645 00 10    TEST BYTE PTR SS:[EBP],10
    004B3A29  |.  0F97C0        SETA AL
    004B3A2C  |.  8847 0F       MOV BYTE PTR DS:[EDI+F],AL
    004B3A2F  |.  F645 00 20    TEST BYTE PTR SS:[EBP],20
    004B3A33  |.  0F97C0        SETA AL
    004B3A36  |.  8846 0F       MOV BYTE PTR DS:[ESI+F],AL
    004B3A39  |.  F645 07 04    TEST BYTE PTR SS:[EBP+7],4
    004B3A3D  |.  0F97C0        SETA AL
    004B3A40  |.  8847 10       MOV BYTE PTR DS:[EDI+10],AL
    004B3A43  |.  F645 07 08    TEST BYTE PTR SS:[EBP+7],8
    004B3A47  |.  0F97C0        SETA AL
    004B3A4A  |.  8846 10       MOV BYTE PTR DS:[ESI+10],AL
    004B3A4D  |.  F645 06 04    TEST BYTE PTR SS:[EBP+6],4
    004B3A51  |.  0F97C0        SETA AL
    004B3A54  |.  8847 11       MOV BYTE PTR DS:[EDI+11],AL
    004B3A57  |.  F645 06 08    TEST BYTE PTR SS:[EBP+6],8
    004B3A5B  |.  0F97C0        SETA AL
    004B3A5E  |.  8846 11       MOV BYTE PTR DS:[ESI+11],AL
    004B3A61  |.  F645 05 04    TEST BYTE PTR SS:[EBP+5],4
    004B3A65  |.  0F97C0        SETA AL
    004B3A68  |.  8847 12       MOV BYTE PTR DS:[EDI+12],AL
    004B3A6B  |.  F645 05 08    TEST BYTE PTR SS:[EBP+5],8
    004B3A6F  |.  0F97C0        SETA AL
    004B3A72  |.  8846 12       MOV BYTE PTR DS:[ESI+12],AL
    004B3A75  |.  F645 04 04    TEST BYTE PTR SS:[EBP+4],4
    004B3A79  |.  0F97C0        SETA AL
    004B3A7C  |.  8847 13       MOV BYTE PTR DS:[EDI+13],AL
    004B3A7F  |.  F645 04 08    TEST BYTE PTR SS:[EBP+4],8
    004B3A83  |.  0F97C0        SETA AL
    004B3A86  |.  8846 13       MOV BYTE PTR DS:[ESI+13],AL
    004B3A89  |.  F645 03 04    TEST BYTE PTR SS:[EBP+3],4
    004B3A8D  |.  0F97C0        SETA AL
    004B3A90  |.  8847 14       MOV BYTE PTR DS:[EDI+14],AL
    004B3A93  |.  F645 03 08    TEST BYTE PTR SS:[EBP+3],8
    004B3A97  |.  0F97C0        SETA AL
    004B3A9A  |.  8846 14       MOV BYTE PTR DS:[ESI+14],AL
    004B3A9D  |.  F645 02 04    TEST BYTE PTR SS:[EBP+2],4
    004B3AA1  |.  0F97C0        SETA AL
    004B3AA4  |.  8847 15       MOV BYTE PTR DS:[EDI+15],AL
    004B3AA7  |.  F645 02 08    TEST BYTE PTR SS:[EBP+2],8
    004B3AAB  |.  0F97C0        SETA AL
    004B3AAE  |.  8846 15       MOV BYTE PTR DS:[ESI+15],AL
    004B3AB1  |.  F645 01 04    TEST BYTE PTR SS:[EBP+1],4
    004B3AB5  |.  0F97C0        SETA AL
    004B3AB8  |.  8847 16       MOV BYTE PTR DS:[EDI+16],AL
    004B3ABB  |.  F645 01 08    TEST BYTE PTR SS:[EBP+1],8
    004B3ABF  |.  0F97C0        SETA AL
    004B3AC2  |.  8846 16       MOV BYTE PTR DS:[ESI+16],AL
    004B3AC5  |.  F645 00 04    TEST BYTE PTR SS:[EBP],4
    004B3AC9  |.  0F97C0        SETA AL
    004B3ACC  |.  8847 17       MOV BYTE PTR DS:[EDI+17],AL
    004B3ACF  |.  F645 00 08    TEST BYTE PTR SS:[EBP],8
    004B3AD3  |.  0F97C0        SETA AL
    004B3AD6  |.  8846 17       MOV BYTE PTR DS:[ESI+17],AL
    004B3AD9  |.  8A45 07       MOV AL,BYTE PTR SS:[EBP+7]
    004B3ADC  |.  24 01         AND AL,1
    004B3ADE  |.  8847 18       MOV BYTE PTR DS:[EDI+18],AL
    004B3AE1  |.  F645 07 02    TEST BYTE PTR SS:[EBP+7],2
    004B3AE5  |.  0F97C0        SETA AL
    004B3AE8  |.  8846 18       MOV BYTE PTR DS:[ESI+18],AL
    004B3AEB  |.  8A45 06       MOV AL,BYTE PTR SS:[EBP+6]
    004B3AEE  |.  24 01         AND AL,1
    004B3AF0  |.  8847 19       MOV BYTE PTR DS:[EDI+19],AL
    004B3AF3  |.  F645 06 02    TEST BYTE PTR SS:[EBP+6],2
    004B3AF7  |.  0F97C0        SETA AL
    004B3AFA  |.  8846 19       MOV BYTE PTR DS:[ESI+19],AL
    004B3AFD  |.  8A45 05       MOV AL,BYTE PTR SS:[EBP+5]
    004B3B00  |.  24 01         AND AL,1
    004B3B02  |.  8847 1A       MOV BYTE PTR DS:[EDI+1A],AL
    004B3B05  |.  F645 05 02    TEST BYTE PTR SS:[EBP+5],2
    004B3B09  |.  0F97C0        SETA AL
    004B3B0C  |.  8846 1A       MOV BYTE PTR DS:[ESI+1A],AL
    004B3B0F  |.  8A45 04       MOV AL,BYTE PTR SS:[EBP+4]
    004B3B12  |.  24 01         AND AL,1
    004B3B14  |.  8847 1B       MOV BYTE PTR DS:[EDI+1B],AL
    004B3B17  |.  F645 04 02    TEST BYTE PTR SS:[EBP+4],2
    004B3B1B  |.  0F97C0        SETA AL
    004B3B1E  |.  8846 1B       MOV BYTE PTR DS:[ESI+1B],AL
    004B3B21  |.  8A45 03       MOV AL,BYTE PTR SS:[EBP+3]
    004B3B24  |.  24 01         AND AL,1
    004B3B26  |.  8847 1C       MOV BYTE PTR DS:[EDI+1C],AL
    004B3B29  |.  F645 03 02    TEST BYTE PTR SS:[EBP+3],2
    004B3B2D  |.  0F97C0        SETA AL
    004B3B30  |.  8846 1C       MOV BYTE PTR DS:[ESI+1C],AL
    004B3B33  |.  8A45 02       MOV AL,BYTE PTR SS:[EBP+2]
    004B3B36  |.  24 01         AND AL,1
    004B3B38  |.  8847 1D       MOV BYTE PTR DS:[EDI+1D],AL
    004B3B3B  |.  F645 02 02    TEST BYTE PTR SS:[EBP+2],2
    004B3B3F  |.  0F97C0        SETA AL
    004B3B42  |.  8846 1D       MOV BYTE PTR DS:[ESI+1D],AL
    004B3B45  |.  8A45 01       MOV AL,BYTE PTR SS:[EBP+1]
    004B3B48  |.  24 01         AND AL,1
    004B3B4A  |.  8847 1E       MOV BYTE PTR DS:[EDI+1E],AL
    004B3B4D  |.  F645 01 02    TEST BYTE PTR SS:[EBP+1],2
    004B3B51  |.  0F97C0        SETA AL
    004B3B54  |.  8846 1E       MOV BYTE PTR DS:[ESI+1E],AL
    004B3B57  |.  8A45 00       MOV AL,BYTE PTR SS:[EBP]
    004B3B5A  |.  24 01         AND AL,1
    004B3B5C  |.  8847 1F       MOV BYTE PTR DS:[EDI+1F],AL
    004B3B5F  |.  F645 00 02    TEST BYTE PTR SS:[EBP],2
    004B3B63  |.  0F97C0        SETA AL
    004B3B66  |.  8846 1F       MOV BYTE PTR DS:[ESI+1F],AL
    004B3B69  |.  B2 10         MOV DL,10                                         ;  dl=10
    004B3B6B  |.  B8 CC7D4D00   MOV EAX,55_.004D7DCC
    004B3B70  |>  8A4E 1F       /MOV CL,BYTE PTR DS:[ESI+1F]                      ;  cl=1
    004B3B73  |.  3208          |XOR CL,BYTE PTR DS:[EAX]                         ;  cl 逻辑异或1=cl=0
    004B3B75  |.  81E1 FF000000 |AND ECX,0FF                                      ;  ECX=0逻辑与0FF eCX=0
    004B3B7B  |.  C1E1 05       |SHL ECX,5                                        ;  ecx逻辑左移5 ecx=0
    004B3B7E  |.  8A5E 04       |MOV BL,BYTE PTR DS:[ESI+4]                       ;  bl=0
    004B3B81  |.  3258 05       |XOR BL,BYTE PTR DS:[EAX+5]                       ;  bl 逻辑异或1  bl=1
    004B3B84  |.  81E3 FF000000 |AND EBX,0FF                                      ;  EBX=0逻辑与0FF EBX=1
    004B3B8A  |.  C1E3 04       |SHL EBX,4                                        ;  EBx逻辑左移4 EBx=10
    004B3B8D  |.  66:0BCB       |OR CX,BX                                         ;  cx or bx cx=10
    004B3B90  |.  8A1E          |MOV BL,BYTE PTR DS:[ESI]                         ;  bl=0
    004B3B92  |.  3258 01       |XOR BL,BYTE PTR DS:[EAX+1]                       ;  bl 逻辑异或1 bl=0
    004B3B95  |.  81E3 FF000000 |AND EBX,0FF                                      ;  EBX=0逻辑与0FF EBX=0
    004B3B9B  |.  C1E3 03       |SHL EBX,3                                        ;  EBx逻辑左移3 EBx=0
    004B3B9E  |.  66:0BCB       |OR CX,BX                                         ;  cx=10
    004B3BA1  |.  8A5E 01       |MOV BL,BYTE PTR DS:[ESI+1]                       ;  bl=0
    004B3BA4  |.  3258 02       |XOR BL,BYTE PTR DS:[EAX+2]                       ;  bl 逻辑异或0  bl=0
    004B3BA7  |.  81E3 FF000000 |AND EBX,0FF                                      ;  EBX=0逻辑与0FF EBX=0
    004B3BAD  |.  C1E3 02       |SHL EBX,2                                        ;  EBx逻辑左移2 EBx=0
    004B3BB0  |.  66:0BCB       |OR CX,BX                                         ;  cx=10
    004B3BB3  |.  8A5E 02       |MOV BL,BYTE PTR DS:[ESI+2]                       ;  bl=0
    004B3BB6  |.  3258 03       |XOR BL,BYTE PTR DS:[EAX+3]                       ;  bl 逻辑异或1  bl=1
    004B3BB9  |.  81E3 FF000000 |AND EBX,0FF                                      ;  EBX=1逻辑与0FF EBX=1
    004B3BBF  |.  03DB          |ADD EBX,EBX                                      ;  ebx+ebx=2
    004B3BC1  |.  66:0BCB       |OR CX,BX                                         ;  cx=12
    004B3BC4  |.  8A5E 03       |MOV BL,BYTE PTR DS:[ESI+3]                       ;  bl=0
    004B3BC7  |.  3258 04       |XOR BL,BYTE PTR DS:[EAX+4]                       ;  bl 逻辑异或1  bl=1
    004B3BCA  |.  81E3 FF000000 |AND EBX,0FF                                      ;  EBX=1逻辑与0FF EBX=1
    004B3BD0  |.  66:0BCB       |OR CX,BX                                         ;  cx=13
    004B3BD3  |.  0FB7D9        |MOVZX EBX,CX                                     ;  ebx=13
    004B3BD6  |.  8A9B A0494D00 |MOV BL,BYTE PTR DS:[EBX+4D49A0]                  ;  bl=0
    004B3BDC  |.  325F 08       |XOR BL,BYTE PTR DS:[EDI+8]                       ;  bl 逻辑异或0  bl=1
    004B3BDF  |.  881D 14814D00 |MOV BYTE PTR DS:[4D8114],BL                      ;  下边的代码都是一样分析的
    004B3BE5  |.  0FB7D9        |MOVZX EBX,CX
    004B3BE8  |.  8A9B A04B4D00 |MOV BL,BYTE PTR DS:[EBX+4D4BA0]
    004B3BEE  |.  325F 10       |XOR BL,BYTE PTR DS:[EDI+10]
    004B3BF1  |.  881D 1C814D00 |MOV BYTE PTR DS:[4D811C],BL
    004B3BF7  |.  0FB7D9        |MOVZX EBX,CX
    004B3BFA  |.  8A9B A04D4D00 |MOV BL,BYTE PTR DS:[EBX+4D4DA0]
    004B3C00  |.  325F 16       |XOR BL,BYTE PTR DS:[EDI+16]
    004B3C03  |.  881D 22814D00 |MOV BYTE PTR DS:[4D8122],BL
    004B3C09  |.  0FB7C9        |MOVZX ECX,CX
    004B3C0C  |.  8A89 A04F4D00 |MOV CL,BYTE PTR DS:[ECX+4D4FA0]
    004B3C12  |.  324F 1E       |XOR CL,BYTE PTR DS:[EDI+1E]
    004B3C15  |.  880D 2A814D00 |MOV BYTE PTR DS:[4D812A],CL
    004B3C1B  |.  8A4E 03       |MOV CL,BYTE PTR DS:[ESI+3]
    004B3C1E  |.  3248 06       |XOR CL,BYTE PTR DS:[EAX+6]
    004B3C21  |.  81E1 FF000000 |AND ECX,0FF
    004B3C27  |.  C1E1 05       |SHL ECX,5
    004B3C2A  |.  8A5E 08       |MOV BL,BYTE PTR DS:[ESI+8]
    004B3C2D  |.  3258 0B       |XOR BL,BYTE PTR DS:[EAX+B]
    004B3C30  |.  81E3 FF000000 |AND EBX,0FF
    004B3C36  |.  C1E3 04       |SHL EBX,4
    004B3C39  |.  66:0BCB       |OR CX,BX
    004B3C3C  |.  8A5E 04       |MOV BL,BYTE PTR DS:[ESI+4]
    004B3C3F  |.  3258 07       |XOR BL,BYTE PTR DS:[EAX+7]
    004B3C42  |.  81E3 FF000000 |AND EBX,0FF
    004B3C48  |.  C1E3 03       |SHL EBX,3
    004B3C4B  |.  66:0BCB       |OR CX,BX
    004B3C4E  |.  8A5E 05       |MOV BL,BYTE PTR DS:[ESI+5]
    004B3C51  |.  3258 08       |XOR BL,BYTE PTR DS:[EAX+8]
    004B3C54  |.  81E3 FF000000 |AND EBX,0FF
    004B3C5A  |.  C1E3 02       |SHL EBX,2
    004B3C5D  |.  66:0BCB       |OR CX,BX
    004B3C60  |.  8A5E 06       |MOV BL,BYTE PTR DS:[ESI+6]
    004B3C63  |.  3258 09       |XOR BL,BYTE PTR DS:[EAX+9]
    004B3C66  |.  81E3 FF000000 |AND EBX,0FF
    004B3C6C  |.  03DB          |ADD EBX,EBX
    004B3C6E  |.  66:0BCB       |OR CX,BX
    004B3C71  |.  8A5E 07       |MOV BL,BYTE PTR DS:[ESI+7]
    004B3C74  |.  3258 0A       |XOR BL,BYTE PTR DS:[EAX+A]
    004B3C77  |.  81E3 FF000000 |AND EBX,0FF
    004B3C7D  |.  66:0BCB       |OR CX,BX
    004B3C80  |.  0FB7D9        |MOVZX EBX,CX
    004B3C83  |.  8A9B E0494D00 |MOV BL,BYTE PTR DS:[EBX+4D49E0]
    004B3C89  |.  325F 0C       |XOR BL,BYTE PTR DS:[EDI+C]
    004B3C8C  |.  881D 18814D00 |MOV BYTE PTR DS:[4D8118],BL
    004B3C92  |.  0FB7D9        |MOVZX EBX,CX
    004B3C95  |.  8A9B E04B4D00 |MOV BL,BYTE PTR DS:[EBX+4D4BE0]
    004B3C9B  |.  325F 1B       |XOR BL,BYTE PTR DS:[EDI+1B]
    004B3C9E  |.  881D 27814D00 |MOV BYTE PTR DS:[4D8127],BL
    004B3CA4  |.  0FB7D9        |MOVZX EBX,CX
    004B3CA7  |.  8A9B E04D4D00 |MOV BL,BYTE PTR DS:[EBX+4D4DE0]
    004B3CAD  |.  325F 01       |XOR BL,BYTE PTR DS:[EDI+1]
    004B3CB0  |.  881D 0D814D00 |MOV BYTE PTR DS:[4D810D],BL
    004B3CB6  |.  0FB7C9        |MOVZX ECX,CX
    004B3CB9  |.  8A89 E04F4D00 |MOV CL,BYTE PTR DS:[ECX+4D4FE0]
    004B3CBF  |.  324F 11       |XOR CL,BYTE PTR DS:[EDI+11]
    004B3CC2  |.  880D 1D814D00 |MOV BYTE PTR DS:[4D811D],CL
    004B3CC8  |.  8A4E 07       |MOV CL,BYTE PTR DS:[ESI+7]
    004B3CCB  |.  3248 0C       |XOR CL,BYTE PTR DS:[EAX+C]
    004B3CCE  |.  81E1 FF000000 |AND ECX,0FF
    004B3CD4  |.  C1E1 05       |SHL ECX,5
    004B3CD7  |.  8A5E 0C       |MOV BL,BYTE PTR DS:[ESI+C]
    004B3CDA  |.  3258 11       |XOR BL,BYTE PTR DS:[EAX+11]
    004B3CDD  |.  81E3 FF000000 |AND EBX,0FF
    004B3CE3  |.  C1E3 04       |SHL EBX,4
    004B3CE6  |.  66:0BCB       |OR CX,BX
    004B3CE9  |.  8A5E 08       |MOV BL,BYTE PTR DS:[ESI+8]
    004B3CEC  |.  3258 0D       |XOR BL,BYTE PTR DS:[EAX+D]
    004B3CEF  |.  81E3 FF000000 |AND EBX,0FF
    004B3CF5  |.  C1E3 03       |SHL EBX,3
    004B3CF8  |.  66:0BCB       |OR CX,BX
    004B3CFB  |.  8A5E 09       |MOV BL,BYTE PTR DS:[ESI+9]
    004B3CFE  |.  3258 0E       |XOR BL,BYTE PTR DS:[EAX+E]
    004B3D01  |.  81E3 FF000000 |AND EBX,0FF
    004B3D07  |.  C1E3 02       |SHL EBX,2
    004B3D0A  |.  66:0BCB       |OR CX,BX
    004B3D0D  |.  8A5E 0A       |MOV BL,BYTE PTR DS:[ESI+A]
    004B3D10  |.  3258 0F       |XOR BL,BYTE PTR DS:[EAX+F]
    004B3D13  |.  81E3 FF000000 |AND EBX,0FF
    004B3D19  |.  03DB          |ADD EBX,EBX
    004B3D1B  |.  66:0BCB       |OR CX,BX
    004B3D1E  |.  8A5E 0B       |MOV BL,BYTE PTR DS:[ESI+B]
    004B3D21  |.  3258 10       |XOR BL,BYTE PTR DS:[EAX+10]
    004B3D24  |.  81E3 FF000000 |AND EBX,0FF
    004B3D2A  |.  66:0BCB       |OR CX,BX
    004B3D2D  |.  0FB7D9        |MOVZX EBX,CX
    004B3D30  |.  8A9B 204A4D00 |MOV BL,BYTE PTR DS:[EBX+4D4A20]
    004B3D36  |.  325F 17       |XOR BL,BYTE PTR DS:[EDI+17]
    004B3D39  |.  881D 23814D00 |MOV BYTE PTR DS:[4D8123],BL
    004B3D3F  |.  0FB7D9        |MOVZX EBX,CX
    004B3D42  |.  8A9B 204C4D00 |MOV BL,BYTE PTR DS:[EBX+4D4C20]
    004B3D48  |.  325F 0F       |XOR BL,BYTE PTR DS:[EDI+F]
    004B3D4B  |.  881D 1B814D00 |MOV BYTE PTR DS:[4D811B],BL
    004B3D51  |.  0FB7D9        |MOVZX EBX,CX
    004B3D54  |.  8A9B 204E4D00 |MOV BL,BYTE PTR DS:[EBX+4D4E20]
    004B3D5A  |.  325F 1D       |XOR BL,BYTE PTR DS:[EDI+1D]
    004B3D5D  |.  881D 29814D00 |MOV BYTE PTR DS:[4D8129],BL
    004B3D63  |.  0FB7C9        |MOVZX ECX,CX
    004B3D66  |.  8A89 20504D00 |MOV CL,BYTE PTR DS:[ECX+4D5020]
    004B3D6C  |.  324F 05       |XOR CL,BYTE PTR DS:[EDI+5]
    004B3D6F  |.  880D 11814D00 |MOV BYTE PTR DS:[4D8111],CL
    004B3D75  |.  8A4E 0B       |MOV CL,BYTE PTR DS:[ESI+B]
    004B3D78  |.  3248 12       |XOR CL,BYTE PTR DS:[EAX+12]
    004B3D7B  |.  81E1 FF000000 |AND ECX,0FF
    004B3D81  |.  C1E1 05       |SHL ECX,5
    004B3D84  |.  8A5E 10       |MOV BL,BYTE PTR DS:[ESI+10]
    004B3D87  |.  3258 17       |XOR BL,BYTE PTR DS:[EAX+17]
    004B3D8A  |.  81E3 FF000000 |AND EBX,0FF
    004B3D90  |.  C1E3 04       |SHL EBX,4
    004B3D93  |.  66:0BCB       |OR CX,BX
    004B3D96  |.  8A5E 0C       |MOV BL,BYTE PTR DS:[ESI+C]
    004B3D99  |.  3258 13       |XOR BL,BYTE PTR DS:[EAX+13]
    004B3D9C  |.  81E3 FF000000 |AND EBX,0FF
    004B3DA2  |.  C1E3 03       |SHL EBX,3
    004B3DA5  |.  66:0BCB       |OR CX,BX
    004B3DA8  |.  8A5E 0D       |MOV BL,BYTE PTR DS:[ESI+D]
    004B3DAB  |.  3258 14       |XOR BL,BYTE PTR DS:[EAX+14]
    004B3DAE  |.  81E3 FF000000 |AND EBX,0FF
    004B3DB4  |.  C1E3 02       |SHL EBX,2
    004B3DB7  |.  66:0BCB       |OR CX,BX
    004B3DBA  |.  8A5E 0E       |MOV BL,BYTE PTR DS:[ESI+E]
    004B3DBD  |.  3258 15       |XOR BL,BYTE PTR DS:[EAX+15]
    004B3DC0  |.  81E3 FF000000 |AND EBX,0FF
    004B3DC6  |.  03DB          |ADD EBX,EBX
    004B3DC8  |.  66:0BCB       |OR CX,BX
    004B3DCB  |.  8A5E 0F       |MOV BL,BYTE PTR DS:[ESI+F]
    004B3DCE  |.  3258 16       |XOR BL,BYTE PTR DS:[EAX+16]
    004B3DD1  |.  81E3 FF000000 |AND EBX,0FF
    004B3DD7  |.  66:0BCB       |OR CX,BX
    004B3DDA  |.  0FB7D9        |MOVZX EBX,CX
    004B3DDD  |.  8A9B 604A4D00 |MOV BL,BYTE PTR DS:[EBX+4D4A60]
    004B3DE3  |.  325F 19       |XOR BL,BYTE PTR DS:[EDI+19]
    004B3DE6  |.  881D 25814D00 |MOV BYTE PTR DS:[4D8125],BL
    004B3DEC  |.  0FB7D9        |MOVZX EBX,CX
    004B3DEF  |.  8A9B 604C4D00 |MOV BL,BYTE PTR DS:[EBX+4D4C60]
    004B3DF5  |.  325F 13       |XOR BL,BYTE PTR DS:[EDI+13]
    004B3DF8  |.  881D 1F814D00 |MOV BYTE PTR DS:[4D811F],BL
    004B3DFE  |.  0FB7D9        |MOVZX EBX,CX
    004B3E01  |.  8A9B 604E4D00 |MOV BL,BYTE PTR DS:[EBX+4D4E60]
    004B3E07  |.  325F 09       |XOR BL,BYTE PTR DS:[EDI+9]
    004B3E0A  |.  881D 15814D00 |MOV BYTE PTR DS:[4D8115],BL
    004B3E10  |.  0FB7C9        |MOVZX ECX,CX
    004B3E13  |.  8A89 60504D00 |MOV CL,BYTE PTR DS:[ECX+4D5060]
    004B3E19  |.  320F          |XOR CL,BYTE PTR DS:[EDI]
    004B3E1B  |.  880D 0C814D00 |MOV BYTE PTR DS:[4D810C],CL
    004B3E21  |.  8A4E 0F       |MOV CL,BYTE PTR DS:[ESI+F]
    004B3E24  |.  3248 18       |XOR CL,BYTE PTR DS:[EAX+18]
    004B3E27  |.  81E1 FF000000 |AND ECX,0FF
    004B3E2D  |.  C1E1 05       |SHL ECX,5
    004B3E30  |.  8A5E 14       |MOV BL,BYTE PTR DS:[ESI+14]
    004B3E33  |.  3258 1D       |XOR BL,BYTE PTR DS:[EAX+1D]
    004B3E36  |.  81E3 FF000000 |AND EBX,0FF
    004B3E3C  |.  C1E3 04       |SHL EBX,4
    004B3E3F  |.  66:0BCB       |OR CX,BX
    004B3E42  |.  8A5E 10       |MOV BL,BYTE PTR DS:[ESI+10]
    004B3E45  |.  3258 19       |XOR BL,BYTE PTR DS:[EAX+19]
    004B3E48  |.  81E3 FF000000 |AND EBX,0FF
    004B3E4E  |.  C1E3 03       |SHL EBX,3
    004B3E51  |.  66:0BCB       |OR CX,BX
    004B3E54  |.  8A5E 11       |MOV BL,BYTE PTR DS:[ESI+11]
    004B3E57  |.  3258 1A       |XOR BL,BYTE PTR DS:[EAX+1A]
    004B3E5A  |.  81E3 FF000000 |AND EBX,0FF
    004B3E60  |.  C1E3 02       |SHL EBX,2
    004B3E63  |.  66:0BCB       |OR CX,BX
    004B3E66  |.  8A5E 12       |MOV BL,BYTE PTR DS:[ESI+12]
    004B3E69  |.  3258 1B       |XOR BL,BYTE PTR DS:[EAX+1B]
    004B3E6C  |.  81E3 FF000000 |AND EBX,0FF
    004B3E72  |.  03DB          |ADD EBX,EBX
    004B3E74  |.  66:0BCB       |OR CX,BX
    004B3E77  |.  8A5E 13       |MOV BL,BYTE PTR DS:[ESI+13]
    004B3E7A  |.  3258 1C       |XOR BL,BYTE PTR DS:[EAX+1C]
    004B3E7D  |.  81E3 FF000000 |AND EBX,0FF
    004B3E83  |.  66:0BCB       |OR CX,BX
    004B3E86  |.  0FB7D9        |MOVZX EBX,CX
    004B3E89  |.  8A9B A04A4D00 |MOV BL,BYTE PTR DS:[EBX+4D4AA0]
    004B3E8F  |.  325F 07       |XOR BL,BYTE PTR DS:[EDI+7]
    004B3E92  |.  881D 13814D00 |MOV BYTE PTR DS:[4D8113],BL
    004B3E98  |.  0FB7D9        |MOVZX EBX,CX
    004B3E9B  |.  8A9B A04C4D00 |MOV BL,BYTE PTR DS:[EBX+4D4CA0]
    004B3EA1  |.  325F 0D       |XOR BL,BYTE PTR DS:[EDI+D]
    004B3EA4  |.  881D 19814D00 |MOV BYTE PTR DS:[4D8119],BL
    004B3EAA  |.  0FB7D9        |MOVZX EBX,CX
    004B3EAD  |.  8A9B A04E4D00 |MOV BL,BYTE PTR DS:[EBX+4D4EA0]
    004B3EB3  |.  325F 18       |XOR BL,BYTE PTR DS:[EDI+18]
    004B3EB6  |.  881D 24814D00 |MOV BYTE PTR DS:[4D8124],BL
    004B3EBC  |.  0FB7C9        |MOVZX ECX,CX
    004B3EBF  |.  8A89 A0504D00 |MOV CL,BYTE PTR DS:[ECX+4D50A0]
    004B3EC5  |.  324F 02       |XOR CL,BYTE PTR DS:[EDI+2]
    004B3EC8  |.  880D 0E814D00 |MOV BYTE PTR DS:[4D810E],CL
    004B3ECE  |.  8A4E 13       |MOV CL,BYTE PTR DS:[ESI+13]
    004B3ED1  |.  3248 1E       |XOR CL,BYTE PTR DS:[EAX+1E]
    004B3ED4  |.  81E1 FF000000 |AND ECX,0FF
    004B3EDA  |.  C1E1 05       |SHL ECX,5
    004B3EDD  |.  8A5E 18       |MOV BL,BYTE PTR DS:[ESI+18]
    004B3EE0  |.  3258 23       |XOR BL,BYTE PTR DS:[EAX+23]
    004B3EE3  |.  81E3 FF000000 |AND EBX,0FF
    004B3EE9  |.  C1E3 04       |SHL EBX,4
    004B3EEC  |.  66:0BCB       |OR CX,BX
    004B3EEF  |.  8A5E 14       |MOV BL,BYTE PTR DS:[ESI+14]
    004B3EF2  |.  3258 1F       |XOR BL,BYTE PTR DS:[EAX+1F]
    004B3EF5  |.  81E3 FF000000 |AND EBX,0FF
    004B3EFB  |.  C1E3 03       |SHL EBX,3
    004B3EFE  |.  66:0BCB       |OR CX,BX
    004B3F01  |.  8A5E 15       |MOV BL,BYTE PTR DS:[ESI+15]
    004B3F04  |.  3258 20       |XOR BL,BYTE PTR DS:[EAX+20]
    004B3F07  |.  81E3 FF000000 |AND EBX,0FF
    004B3F0D  |.  C1E3 02       |SHL EBX,2
    004B3F10  |.  66:0BCB       |OR CX,BX
    004B3F13  |.  8A5E 16       |MOV BL,BYTE PTR DS:[ESI+16]
    004B3F16  |.  3258 21       |XOR BL,BYTE PTR DS:[EAX+21]
    004B3F19  |.  81E3 FF000000 |AND EBX,0FF
    004B3F1F  |.  03DB          |ADD EBX,EBX
    004B3F21  |.  66:0BCB       |OR CX,BX
    004B3F24  |.  8A5E 17       |MOV BL,BYTE PTR DS:[ESI+17]
    004B3F27  |.  3258 22       |XOR BL,BYTE PTR DS:[EAX+22]
    004B3F2A  |.  81E3 FF000000 |AND EBX,0FF
    004B3F30  |.  66:0BCB       |OR CX,BX
    004B3F33  |.  0FB7D9        |MOVZX EBX,CX
    004B3F36  |.  8A9B E04A4D00 |MOV BL,BYTE PTR DS:[EBX+4D4AE0]
    004B3F3C  |.  325F 03       |XOR BL,BYTE PTR DS:[EDI+3]
    004B3F3F  |.  881D 0F814D00 |MOV BYTE PTR DS:[4D810F],BL
    004B3F45  |.  0FB7D9        |MOVZX EBX,CX
    004B3F48  |.  8A9B E04C4D00 |MOV BL,BYTE PTR DS:[EBX+4D4CE0]
    004B3F4E  |.  325F 1C       |XOR BL,BYTE PTR DS:[EDI+1C]
    004B3F51  |.  881D 28814D00 |MOV BYTE PTR DS:[4D8128],BL
    004B3F57  |.  0FB7D9        |MOVZX EBX,CX
    004B3F5A  |.  8A9B E04E4D00 |MOV BL,BYTE PTR DS:[EBX+4D4EE0]
    004B3F60  |.  325F 0A       |XOR BL,BYTE PTR DS:[EDI+A]
    004B3F63  |.  881D 16814D00 |MOV BYTE PTR DS:[4D8116],BL
    004B3F69  |.  0FB7C9        |MOVZX ECX,CX
    004B3F6C  |.  8A89 E0504D00 |MOV CL,BYTE PTR DS:[ECX+4D50E0]
    004B3F72  |.  324F 12       |XOR CL,BYTE PTR DS:[EDI+12]
    004B3F75  |.  880D 1E814D00 |MOV BYTE PTR DS:[4D811E],CL
    004B3F7B  |.  8A4E 17       |MOV CL,BYTE PTR DS:[ESI+17]
    004B3F7E  |.  3248 24       |XOR CL,BYTE PTR DS:[EAX+24]
    004B3F81  |.  81E1 FF000000 |AND ECX,0FF
    004B3F87  |.  C1E1 05       |SHL ECX,5
    004B3F8A  |.  8A5E 1C       |MOV BL,BYTE PTR DS:[ESI+1C]
    004B3F8D  |.  3258 29       |XOR BL,BYTE PTR DS:[EAX+29]
    004B3F90  |.  81E3 FF000000 |AND EBX,0FF
    004B3F96  |.  C1E3 04       |SHL EBX,4
    004B3F99  |.  66:0BCB       |OR CX,BX
    004B3F9C  |.  8A5E 18       |MOV BL,BYTE PTR DS:[ESI+18]
    004B3F9F  |.  3258 25       |XOR BL,BYTE PTR DS:[EAX+25]
    004B3FA2  |.  81E3 FF000000 |AND EBX,0FF
    004B3FA8  |.  C1E3 03       |SHL EBX,3
    004B3FAB  |.  66:0BCB       |OR CX,BX
    004B3FAE  |.  8A5E 19       |MOV BL,BYTE PTR DS:[ESI+19]
    004B3FB1  |.  3258 26       |XOR BL,BYTE PTR DS:[EAX+26]
    004B3FB4  |.  81E3 FF000000 |AND EBX,0FF
    004B3FBA  |.  C1E3 02       |SHL EBX,2
    004B3FBD  |.  66:0BCB       |OR CX,BX
    004B3FC0  |.  8A5E 1A       |MOV BL,BYTE PTR DS:[ESI+1A]
    004B3FC3  |.  3258 27       |XOR BL,BYTE PTR DS:[EAX+27]
    004B3FC6  |.  81E3 FF000000 |AND EBX,0FF
    004B3FCC  |.  03DB          |ADD EBX,EBX
    004B3FCE  |.  66:0BCB       |OR CX,BX
    004B3FD1  |.  8A5E 1B       |MOV BL,BYTE PTR DS:[ESI+1B]
    004B3FD4  |.  3258 28       |XOR BL,BYTE PTR DS:[EAX+28]
    004B3FD7  |.  81E3 FF000000 |AND EBX,0FF
    004B3FDD  |.  66:0BCB       |OR CX,BX
    004B3FE0  |.  0FB7D9        |MOVZX EBX,CX
    004B3FE3  |.  8A9B 204B4D00 |MOV BL,BYTE PTR DS:[EBX+4D4B20]
    004B3FE9  |.  325F 1F       |XOR BL,BYTE PTR DS:[EDI+1F]
    004B3FEC  |.  881D 2B814D00 |MOV BYTE PTR DS:[4D812B],BL
    004B3FF2  |.  0FB7D9        |MOVZX EBX,CX
    004B3FF5  |.  8A9B 204D4D00 |MOV BL,BYTE PTR DS:[EBX+4D4D20]
    004B3FFB  |.  325F 0B       |XOR BL,BYTE PTR DS:[EDI+B]
    004B3FFE  |.  881D 17814D00 |MOV BYTE PTR DS:[4D8117],BL
    004B4004  |.  0FB7D9        |MOVZX EBX,CX
    004B4007  |.  8A9B 204F4D00 |MOV BL,BYTE PTR DS:[EBX+4D4F20]
    004B400D  |.  325F 15       |XOR BL,BYTE PTR DS:[EDI+15]
    004B4010  |.  881D 21814D00 |MOV BYTE PTR DS:[4D8121],BL
    004B4016  |.  0FB7C9        |MOVZX ECX,CX
    004B4019  |.  8A89 20514D00 |MOV CL,BYTE PTR DS:[ECX+4D5120]
    004B401F  |.  324F 06       |XOR CL,BYTE PTR DS:[EDI+6]
    004B4022  |.  880D 12814D00 |MOV BYTE PTR DS:[4D8112],CL
    004B4028  |.  8A4E 1B       |MOV CL,BYTE PTR DS:[ESI+1B]
    004B402B  |.  3248 2A       |XOR CL,BYTE PTR DS:[EAX+2A]
    004B402E  |.  81E1 FF000000 |AND ECX,0FF
    004B4034  |.  C1E1 05       |SHL ECX,5
    004B4037  |.  8A1E          |MOV BL,BYTE PTR DS:[ESI]
    004B4039  |.  3258 2F       |XOR BL,BYTE PTR DS:[EAX+2F]
    004B403C  |.  81E3 FF000000 |AND EBX,0FF
    004B4042  |.  C1E3 04       |SHL EBX,4
    004B4045  |.  66:0BCB       |OR CX,BX
    004B4048  |.  8A5E 1C       |MOV BL,BYTE PTR DS:[ESI+1C]
    004B404B  |.  3258 2B       |XOR BL,BYTE PTR DS:[EAX+2B]
    004B404E  |.  81E3 FF000000 |AND EBX,0FF
    004B4054  |.  C1E3 03       |SHL EBX,3
    004B4057  |.  66:0BCB       |OR CX,BX
    004B405A  |.  8A5E 1D       |MOV BL,BYTE PTR DS:[ESI+1D]
    004B405D  |.  3258 2C       |XOR BL,BYTE PTR DS:[EAX+2C]
    004B4060  |.  81E3 FF000000 |AND EBX,0FF
    004B4066  |.  C1E3 02       |SHL EBX,2
    004B4069  |.  66:0BCB       |OR CX,BX
    004B406C  |.  8A5E 1E       |MOV BL,BYTE PTR DS:[ESI+1E]
    004B406F  |.  3258 2D       |XOR BL,BYTE PTR DS:[EAX+2D]
    004B4072  |.  81E3 FF000000 |AND EBX,0FF
    004B4078  |.  03DB          |ADD EBX,EBX
    004B407A  |.  66:0BCB       |OR CX,BX
    004B407D  |.  8A5E 1F       |MOV BL,BYTE PTR DS:[ESI+1F]
    004B4080  |.  3258 2E       |XOR BL,BYTE PTR DS:[EAX+2E]
    004B4083  |.  81E3 FF000000 |AND EBX,0FF
    004B4089  |.  66:0BCB       |OR CX,BX
    004B408C  |.  0FB7D9        |MOVZX EBX,CX
    004B408F  |.  8A9B 604B4D00 |MOV BL,BYTE PTR DS:[EBX+4D4B60]
    004B4095  |.  325F 04       |XOR BL,BYTE PTR DS:[EDI+4]
    004B4098  |.  881D 10814D00 |MOV BYTE PTR DS:[4D8110],BL
    004B409E  |.  0FB7D9        |MOVZX EBX,CX
    004B40A1  |.  8A9B 604D4D00 |MOV BL,BYTE PTR DS:[EBX+4D4D60]
    004B40A7  |.  325F 1A       |XOR BL,BYTE PTR DS:[EDI+1A]
    004B40AA  |.  881D 26814D00 |MOV BYTE PTR DS:[4D8126],BL
    004B40B0  |.  0FB7D9        |MOVZX EBX,CX
    004B40B3  |.  8A9B 604F4D00 |MOV BL,BYTE PTR DS:[EBX+4D4F60]
    004B40B9  |.  325F 0E       |XOR BL,BYTE PTR DS:[EDI+E]
    004B40BC  |.  881D 1A814D00 |MOV BYTE PTR DS:[4D811A],BL
    004B40C2  |.  0FB7C9        |MOVZX ECX,CX
    004B40C5  |.  8A89 60514D00 |MOV CL,BYTE PTR DS:[ECX+4D5160]
    004B40CB  |.  324F 14       |XOR CL,BYTE PTR DS:[EDI+14]
    004B40CE  |.  880D 20814D00 |MOV BYTE PTR DS:[4D8120],CL
    004B40D4  |.  56            |PUSH ESI
    004B40D5  |.  57            |PUSH EDI
    004B40D6  |.  B9 08000000   |MOV ECX,8
    004B40DB  |.  F3:A5         |REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]   ;  把DS:[ESI]给DS:[EDI]
    004B40DD  |.  5F            |POP EDI
    004B40DE  |.  5E            |POP ESI
    004B40DF  |.  56            |PUSH ESI
    004B40E0  |.  57            |PUSH EDI
    004B40E1  |.  8BFE          |MOV EDI,ESI
    004B40E3  |.  BE 0C814D00   |MOV ESI,55_.004D810C
    004B40E8  |.  B9 08000000   |MOV ECX,8
    004B40ED  |.  F3:A5         |REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
    004B40EF  |.  5F            |POP EDI
    004B40F0  |.  5E            |POP ESI
    004B40F1  |.  83C0 30       |ADD EAX,30
    004B40F4  |.  FECA          |DEC DL                                           ;  DL=10
    004B40F6  |.^ 0F85 74FAFFFF \JNZ 55_.004B3B70
    004B40FC  |.  8A47 07       MOV AL,BYTE PTR DS:[EDI+7]                        ;  这是关键的地方DS:[EDI+7]=01 AL=01
    004B40FF  |.  C1E0 07       SHL EAX,7                                         ;  逻辑左移7位EAX=26C00080
    004B4102  |.  8A56 07       MOV DL,BYTE PTR DS:[ESI+7]                        ;  DS:[ESI+7]=01 DL=01
    004B4105  |.  C1E2 06       SHL EDX,6                                         ;  EDX=4BF4040
    004B4108  |.  0AC2          OR AL,DL                                          ;  AL=C0
    004B410A  |.  8A57 0F       MOV DL,BYTE PTR DS:[EDI+F]                        ;  DS:[EDI+F]=01  DL=01
    004B410D  |.  C1E2 05       SHL EDX,5                                         ;  EDX=97E80020
    004B4110  |.  0AC2          OR AL,DL                                          ;  AL=E0
    004B4112  |.  8A56 0F       MOV DL,BYTE PTR DS:[ESI+F]                        ;  dl=01
    004B4115  |.  C1E2 04       SHL EDX,4                                         ;  EDX=7E800010
    004B4118  |.  0AC2          OR AL,DL                                          ;  AL=F0
    004B411A  |.  8A57 17       MOV DL,BYTE PTR DS:[EDI+17]                       ;  DL=1
    004B411D  |.  C1E2 03       SHL EDX,3                                         ;  EDX=F4000008
    004B4120  |.  0AC2          OR AL,DL                                          ;  Al=F8
    004B4122  |.  8A56 17       MOV DL,BYTE PTR DS:[ESI+17]                       ;  dl=0
    004B4125  |.  C1E2 02       SHL EDX,2                                         ;  edx=D0000000
    004B4128  |.  0AC2          OR AL,DL                                          ;  Al=F8
    004B412A  |.  8A57 1F       MOV DL,BYTE PTR DS:[EDI+1F]                       ;  DL=0
    004B412D  |.  03D2          ADD EDX,EDX                                       ;  A0000000
    004B412F  |.  0AC2          OR AL,DL                                          ;  Al=F8
    004B4131  |.  0A46 1F       OR AL,BYTE PTR DS:[ESI+1F]                        ;  AL=F8
    004B4134  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B4138  |.  8802          MOV BYTE PTR DS:[EDX],AL                          ;  DS:[EDX]=F8这就注册码的第一位
    004B413A  |.  8A47 06       MOV AL,BYTE PTR DS:[EDI+6]
    004B413D  |.  C1E0 07       SHL EAX,7
    004B4140  |.  8A56 06       MOV DL,BYTE PTR DS:[ESI+6]
    004B4143  |.  C1E2 06       SHL EDX,6
    004B4146  |.  0AC2          OR AL,DL
    004B4148  |.  8A57 0E       MOV DL,BYTE PTR DS:[EDI+E]
    004B414B  |.  C1E2 05       SHL EDX,5
    004B414E  |.  0AC2          OR AL,DL
    004B4150  |.  8A56 0E       MOV DL,BYTE PTR DS:[ESI+E]
    004B4153  |.  C1E2 04       SHL EDX,4
    004B4156  |.  0AC2          OR AL,DL
    004B4158  |.  8A57 16       MOV DL,BYTE PTR DS:[EDI+16]
    004B415B  |.  C1E2 03       SHL EDX,3
    004B415E  |.  0AC2          OR AL,DL
    004B4160  |.  8A56 16       MOV DL,BYTE PTR DS:[ESI+16]
    004B4163  |.  C1E2 02       SHL EDX,2
    004B4166  |.  0AC2          OR AL,DL
    004B4168  |.  8A57 1E       MOV DL,BYTE PTR DS:[EDI+1E]
    004B416B  |.  03D2          ADD EDX,EDX
    004B416D  |.  0AC2          OR AL,DL
    004B416F  |.  0A46 1E       OR AL,BYTE PTR DS:[ESI+1E]
    004B4172  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B4176  |.  8842 01       MOV BYTE PTR DS:[EDX+1],AL                        ;  DS:[EDX+1]=FC注册码第2位
    004B4179  |.  8A47 05       MOV AL,BYTE PTR DS:[EDI+5]
    004B417C  |.  C1E0 07       SHL EAX,7
    004B417F  |.  8A56 05       MOV DL,BYTE PTR DS:[ESI+5]
    004B4182  |.  C1E2 06       SHL EDX,6
    004B4185  |.  0AC2          OR AL,DL
    004B4187  |.  8A57 0D       MOV DL,BYTE PTR DS:[EDI+D]
    004B418A  |.  C1E2 05       SHL EDX,5
    004B418D  |.  0AC2          OR AL,DL
    004B418F  |.  8A56 0D       MOV DL,BYTE PTR DS:[ESI+D]
    004B4192  |.  C1E2 04       SHL EDX,4
    004B4195  |.  0AC2          OR AL,DL
    004B4197  |.  8A57 15       MOV DL,BYTE PTR DS:[EDI+15]
    004B419A  |.  C1E2 03       SHL EDX,3
    004B419D  |.  0AC2          OR AL,DL
    004B419F  |.  8A56 15       MOV DL,BYTE PTR DS:[ESI+15]
    004B41A2  |.  C1E2 02       SHL EDX,2
    004B41A5  |.  0AC2          OR AL,DL
    004B41A7  |.  8A57 1D       MOV DL,BYTE PTR DS:[EDI+1D]
    004B41AA  |.  03D2          ADD EDX,EDX
    004B41AC  |.  0AC2          OR AL,DL
    004B41AE  |.  0A46 1D       OR AL,BYTE PTR DS:[ESI+1D]
    004B41B1  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]                      ;  DS:[EDX+2]=4B注册码第3位
    004B41B5  |.  8842 02       MOV BYTE PTR DS:[EDX+2],AL
    004B41B8  |.  8A47 04       MOV AL,BYTE PTR DS:[EDI+4]
    004B41BB  |.  C1E0 07       SHL EAX,7
    004B41BE  |.  8A56 04       MOV DL,BYTE PTR DS:[ESI+4]
    004B41C1  |.  C1E2 06       SHL EDX,6
    004B41C4  |.  0AC2          OR AL,DL
    004B41C6  |.  8A57 0C       MOV DL,BYTE PTR DS:[EDI+C]
    004B41C9  |.  C1E2 05       SHL EDX,5
    004B41CC  |.  0AC2          OR AL,DL
    004B41CE  |.  8A56 0C       MOV DL,BYTE PTR DS:[ESI+C]
    004B41D1  |.  C1E2 04       SHL EDX,4
    004B41D4  |.  0AC2          OR AL,DL
    004B41D6  |.  8A57 14       MOV DL,BYTE PTR DS:[EDI+14]
    004B41D9  |.  C1E2 03       SHL EDX,3
    004B41DC  |.  0AC2          OR AL,DL
    004B41DE  |.  8A56 14       MOV DL,BYTE PTR DS:[ESI+14]
    004B41E1  |.  C1E2 02       SHL EDX,2
    004B41E4  |.  0AC2          OR AL,DL
    004B41E6  |.  8A57 1C       MOV DL,BYTE PTR DS:[EDI+1C]
    004B41E9  |.  03D2          ADD EDX,EDX
    004B41EB  |.  0AC2          OR AL,DL
    004B41ED  |.  0A46 1C       OR AL,BYTE PTR DS:[ESI+1C]
    004B41F0  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B41F4  |.  8842 03       MOV BYTE PTR DS:[EDX+3],AL                        ;  DS:[EDX+3]=2E注册码第4位
    004B41F7  |.  8A47 03       MOV AL,BYTE PTR DS:[EDI+3]
    004B41FA  |.  C1E0 07       SHL EAX,7
    004B41FD  |.  8A56 03       MOV DL,BYTE PTR DS:[ESI+3]
    004B4200  |.  C1E2 06       SHL EDX,6
    004B4203  |.  0AC2          OR AL,DL
    004B4205  |.  8A57 0B       MOV DL,BYTE PTR DS:[EDI+B]
    004B4208  |.  C1E2 05       SHL EDX,5
    004B420B  |.  0AC2          OR AL,DL
    004B420D  |.  8A56 0B       MOV DL,BYTE PTR DS:[ESI+B]
    004B4210  |.  C1E2 04       SHL EDX,4
    004B4213  |.  0AC2          OR AL,DL
    004B4215  |.  8A57 13       MOV DL,BYTE PTR DS:[EDI+13]
    004B4218  |.  C1E2 03       SHL EDX,3
    004B421B  |.  0AC2          OR AL,DL
    004B421D  |.  8A56 13       MOV DL,BYTE PTR DS:[ESI+13]
    004B4220  |.  C1E2 02       SHL EDX,2
    004B4223  |.  0AC2          OR AL,DL
    004B4225  |.  8A57 1B       MOV DL,BYTE PTR DS:[EDI+1B]
    004B4228  |.  03D2          ADD EDX,EDX
    004B422A  |.  0AC2          OR AL,DL
    004B422C  |.  0A46 1B       OR AL,BYTE PTR DS:[ESI+1B]
    004B422F  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B4233  |.  8842 04       MOV BYTE PTR DS:[EDX+4],AL                        ;  DS:[EDX+4]=21注册码第5位
    004B4236  |.  8A47 02       MOV AL,BYTE PTR DS:[EDI+2]
    004B4239  |.  C1E0 07       SHL EAX,7
    004B423C  |.  8A56 02       MOV DL,BYTE PTR DS:[ESI+2]
    004B423F  |.  C1E2 06       SHL EDX,6
    004B4242  |.  0AC2          OR AL,DL
    004B4244  |.  8A57 0A       MOV DL,BYTE PTR DS:[EDI+A]
    004B4247  |.  C1E2 05       SHL EDX,5
    004B424A  |.  0AC2          OR AL,DL
    004B424C  |.  8A56 0A       MOV DL,BYTE PTR DS:[ESI+A]
    004B424F  |.  C1E2 04       SHL EDX,4
    004B4252  |.  0AC2          OR AL,DL
    004B4254  |.  8A57 12       MOV DL,BYTE PTR DS:[EDI+12]
    004B4257  |.  C1E2 03       SHL EDX,3
    004B425A  |.  0AC2          OR AL,DL
    004B425C  |.  8A56 12       MOV DL,BYTE PTR DS:[ESI+12]
    004B425F  |.  C1E2 02       SHL EDX,2
    004B4262  |.  0AC2          OR AL,DL
    004B4264  |.  8A57 1A       MOV DL,BYTE PTR DS:[EDI+1A]
    004B4267  |.  03D2          ADD EDX,EDX
    004B4269  |.  0AC2          OR AL,DL
    004B426B  |.  0A46 1A       OR AL,BYTE PTR DS:[ESI+1A]
    004B426E  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B4272  |.  8842 05       MOV BYTE PTR DS:[EDX+5],AL                        ;  DS:[EDX+5]=94注册码第6位
    004B4275  |.  8A47 01       MOV AL,BYTE PTR DS:[EDI+1]
    004B4278  |.  C1E0 07       SHL EAX,7
    004B427B  |.  8A56 01       MOV DL,BYTE PTR DS:[ESI+1]
    004B427E  |.  C1E2 06       SHL EDX,6
    004B4281  |.  0AC2          OR AL,DL
    004B4283  |.  8A57 09       MOV DL,BYTE PTR DS:[EDI+9]
    004B4286  |.  C1E2 05       SHL EDX,5
    004B4289  |.  0AC2          OR AL,DL
    004B428B  |.  8A56 09       MOV DL,BYTE PTR DS:[ESI+9]
    004B428E  |.  C1E2 04       SHL EDX,4
    004B4291  |.  0AC2          OR AL,DL
    004B4293  |.  8A57 11       MOV DL,BYTE PTR DS:[EDI+11]
    004B4296  |.  C1E2 03       SHL EDX,3
    004B4299  |.  0AC2          OR AL,DL
    004B429B  |.  8A56 11       MOV DL,BYTE PTR DS:[ESI+11]
    004B429E  |.  C1E2 02       SHL EDX,2
    004B42A1  |.  0AC2          OR AL,DL
    004B42A3  |.  8A57 19       MOV DL,BYTE PTR DS:[EDI+19]
    004B42A6  |.  03D2          ADD EDX,EDX
    004B42A8  |.  0AC2          OR AL,DL
    004B42AA  |.  0A46 19       OR AL,BYTE PTR DS:[ESI+19]
    004B42AD  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B42B1  |.  8842 06       MOV BYTE PTR DS:[EDX+6],AL                        ;  DS:[EDX+6]=E3注册码第7位
    004B42B4  |.  8A07          MOV AL,BYTE PTR DS:[EDI]
    004B42B6  |.  C1E0 07       SHL EAX,7
    004B42B9  |.  8A16          MOV DL,BYTE PTR DS:[ESI]
    004B42BB  |.  C1E2 06       SHL EDX,6
    004B42BE  |.  0AC2          OR AL,DL
    004B42C0  |.  8A57 08       MOV DL,BYTE PTR DS:[EDI+8]
    004B42C3  |.  C1E2 05       SHL EDX,5
    004B42C6  |.  0AC2          OR AL,DL
    004B42C8  |.  8A56 08       MOV DL,BYTE PTR DS:[ESI+8]
    004B42CB  |.  C1E2 04       SHL EDX,4
    004B42CE  |.  0AC2          OR AL,DL
    004B42D0  |.  8A57 10       MOV DL,BYTE PTR DS:[EDI+10]
    004B42D3  |.  C1E2 03       SHL EDX,3
    004B42D6  |.  0AC2          OR AL,DL
    004B42D8  |.  8A56 10       MOV DL,BYTE PTR DS:[ESI+10]
    004B42DB  |.  C1E2 02       SHL EDX,2
    004B42DE  |.  0AC2          OR AL,DL
    004B42E0  |.  8A57 18       MOV DL,BYTE PTR DS:[EDI+18]
    004B42E3  |.  03D2          ADD EDX,EDX
    004B42E5  |.  0AC2          OR AL,DL
    004B42E7  |.  0A46 18       OR AL,BYTE PTR DS:[ESI+18]
    004B42EA  |.  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
    004B42EE  |.  8842 07       MOV BYTE PTR DS:[EDX+7],AL                        ;  DS:[EDX+7]=79注册码第8位
    004B42F1  |.  83C4 0C       ADD ESP,0C
    004B42F4  |.  5D            POP EBP
    004B42F5  |.  5F            POP EDI
    004B42F6  |.  5E            POP ESI
    004B42F7  |.  5B            POP EBX
    004B42F8  \.  C3            RETN
    \***********************************************************************************************\
    9我只分析前8位字串的注册码的算法可以看出前8位算出的注册码是F8+FC+4B+2E+21+94+E3+79在加8位字串转为16进制数77 61 6E 67 77 65 69

    42     因此注册码前几位是F8FC4B2E2194E37977616E6777656942

    评分

    参与人数 1飘云币 +40 收起 理由
    月之精灵 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2011-2-12 19:14:01 | 显示全部楼层
    算法分析文章,学习学习,顶下兄弟了!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2011-2-12 22:06:39 | 显示全部楼层
    本帖最后由 月之精灵 于 2011-2-12 22:23 编辑

    不错,学习,如果兄弟能截个图是最好不过了哈

    还有这里:
    004B38ED  |.  A5            MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]        ;  把取出8个字串的4-8位给DS:[EDI]

    应该是5-8位吧(就字面看的哈)
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-11-4 23:26
  • 签到天数: 5 天

    [LV.2]偶尔看看I

     楼主| 发表于 2011-2-13 10:57:01 | 显示全部楼层
    回复 3# 月之精灵


        呵呵~~~~~~~~~~~~~~~是啊
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2018-1-18 10:06
  • 签到天数: 858 天

    [LV.10]以坛为家III

    发表于 2011-2-13 11:42:49 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-2-13 22:55:11 | 显示全部楼层
    我也跟了个类似这样的算法,可总搞不明白注册码的第一位F8是根据什么来的,LZ能不能把这算法简单讲解一下
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2011-2-13 23:38:40 | 显示全部楼层
    有耐力!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-9-12 22:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-2-16 21:18:10 | 显示全部楼层
    我本以为研究它图像识别算法……呵呵
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1993 天

    [LV.Master]伴坛终老

    发表于 2011-2-17 11:44:21 | 显示全部楼层
    写得不错,好好学习兄弟的思路
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-2-25 10:12:46 | 显示全部楼层
    他被禁言了,/:QQ2
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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