sdrf5678lk 发表于 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:
004D1CB4|.64:8920       MOV DWORD PTR FS:,ESP
004D1CB7|.C605 BC854D00>MOV BYTE PTR DS:,0            ;
004D1CBE|.B2 01         MOV DL,1
004D1CC0|.A1 306D4600   MOV EAX,DWORD PTR DS:
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:
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:
004D1CF8|.B8 C0854D00   MOV EAX,55_.004D85C0
004D1CFD|.E8 1E28F3FF   CALL 55_.00404520
004D1D02|.8D4D F8       LEA ECX,DWORD PTR SS:
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:
004D1D14|.50            PUSH EAX
004D1D15|.8D45 EC       LEA EAX,DWORD PTR SS:
004D1D18|.E8 FBE3FFFF   CALL 55_.004D0118                     ;取机器码
004D1D1D|.8B4D EC       MOV ECX,DWORD PTR SS:
004D1D20|.8D45 F0       LEA EAX,DWORD PTR SS:
004D1D23|.8B15 C0854D00 MOV EDX,DWORD PTR DS:
004D1D29|.E8 A22AF3FF   CALL 55_.004047D0                     ;把用户名和机器码连在一起
004D1D2E|.8B45 F0       MOV EAX,DWORD PTR SS:
004D1D31|.8D4D F4       LEA ECX,DWORD PTR SS:
004D1D34|.BA 801E4D00   MOV EDX,55_.004D1E80                     ;videorecordChina
004D1D39|.E8 5226FEFF   CALL 55_.004B4390                     ;这就是算法CALL了。重点就在这了跟进去看看
004D1D3E|.8B55 F4       MOV EDX,DWORD PTR SS:
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:,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:
004D1D64|.9B            WAIT
004D1D65|.E8 4E87F3FF   CALL 55_.0040A4B8
004D1D6A|.DC5D E4       FCOMP QWORD PTR SS:
004D1D6D|.DFE0          FSTSW AX
004D1D6F|.9E            SAHF
004D1D70|.76 76         JBE SHORT 55_.004D1DE8
004D1D72|.803D BC854D00>CMP BYTE PTR DS:,0            ;//标志位就在4D85BC中的值是否为1是1就不跳哪就注册城功
004D1D79|.75 27         JNZ SHORT 55_.004D1DA2                  ;//关键跳转
004D1D7B|.8D55 E0       LEA EDX,DWORD PTR SS:
004D1D7E|.A1 B8854D00   MOV EAX,DWORD PTR DS:
004D1D83|.E8 B0FAF6FF   CALL 55_.00441838
004D1D88|.8D45 E0       LEA EAX,DWORD PTR SS:
004D1D8B|.BA B01E4D00   MOV EDX,55_.004D1EB0                     ;   - 未购买用户
004D1D90|.E8 F729F3FF   CALL 55_.0040478C
004D1D95|.8B55 E0       MOV EDX,DWORD PTR SS:
004D1D98|.A1 B8854D00   MOV EAX,DWORD PTR DS:
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:
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:
004D1DC3|.E8 F4E9FDFF   CALL 55_.004B07BC
004D1DC8|.BA C41E4D00   MOV EDX,55_.004D1EC4                     ;h
004D1DCD|.8B83 54030000 MOV EAX,DWORD PTR DS:
004D1DD3|.E8 E816FEFF   CALL 55_.004B34C0
004D1DD8|.BA 2C1F4D00   MOV EDX,55_.004D1F2C                     ;h
004D1DDD|.8B83 58030000 MOV EAX,DWORD PTR DS:
004D1DE3|.E8 D816FEFF   CALL 55_.004B34C0
004D1DE8|>33C0          XOR EAX,EAX
004D1DEA|.8983 60030000 MOV DWORD PTR DS:,EAX
004D1DF0|.33C0          XOR EAX,EAX
004D1DF2|.8983 5C030000 MOV DWORD PTR DS:,EAX
004D1DF8|.8B83 F4020000 MOV EAX,DWORD PTR DS:
004D1DFE|.8B15 A01F4D00 MOV EDX,DWORD PTR DS:
004D1E04|.8950 5C       MOV DWORD PTR DS:,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:,EDX
004D1E0F|.68 311E4D00   PUSH 55_.004D1E31
004D1E14|>8D45 E0       LEA EAX,DWORD PTR SS:
004D1E17|.E8 B026F3FF   CALL 55_.004044CC
004D1E1C|.8D45 EC       LEA EAX,DWORD PTR SS:
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:,EBX
004B439E|.895D D4       MOV DWORD PTR SS:,EBX
004B43A1|.8BF9          MOV EDI,ECX
004B43A3|.8955 F8       MOV DWORD PTR SS:,EDX
004B43A6|.8945 FC       MOV DWORD PTR SS:,EAX   ;把字串放到DWORD PTR SS:
004B43A9|.8B45 FC       MOV EAX,DWORD PTR SS:
004B43AC|.E8 BB05F5FF   CALL 55_.0040496C
004B43B1|.8B45 F8       MOV EAX,DWORD PTR SS:
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:
004B43C4|.64:8920       MOV DWORD PTR FS:,ESP
004B43C7|.8BC7          MOV EAX,EDI
004B43C9|.E8 FE00F5FF   CALL 55_.004044CC
004B43CE|.8D55 E0       LEA EDX,DWORD PTR SS:
004B43D1|.8B45 F8       MOV EAX,DWORD PTR SS:
004B43D4|.E8 23FFFFFF   CALL 55_.004B42FC
004B43D9|.B2 01         MOV DL,1
004B43DB|.8D45 E0       LEA EAX,DWORD PTR SS:
004B43DE|.E8 29F2FFFF   CALL 55_.004B360C
004B43E3|.C745 D8 01000>MOV DWORD PTR SS:,1
004B43EA|.8B45 FC       MOV EAX,DWORD PTR SS:
004B43ED|.E8 9203F5FF   CALL 55_.00404784
004B43F2|.8945 DC       MOV DWORD PTR SS:,EAX
004B43F5|>8D45 D4       /LEA EAX,DWORD PTR SS:
004B43F8|.50            |PUSH EAX
004B43F9|.B9 08000000   |MOV ECX,8
004B43FE|.8B55 D8       |MOV EDX,DWORD PTR SS:
004B4401|.8B45 FC       |MOV EAX,DWORD PTR SS:
004B4404|.E8 D305F5FF   |CALL 55_.004049DC
004B4409|.8D45 F0       |LEA EAX,DWORD PTR SS:
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:
004B441B|.E8 6403F5FF   |CALL 55_.00404784
004B4420|.50            |PUSH EAX
004B4421|.8D45 D4       |LEA EAX,DWORD PTR SS:
004B4424|.E8 AB05F5FF   |CALL 55_.004049D4
004B4429|.8D55 F0       |LEA EDX,DWORD PTR SS:
004B442C|.59            |POP ECX
004B442D|.E8 1AE5F4FF   |CALL 55_.0040294C
004B4432|.8D55 E8       |LEA EDX,DWORD PTR SS:
004B4435|.8D45 F0       |LEA EAX,DWORD PTR SS:
004B4438|.E8 A3F4FFFF   |CALL 55_.004B38E0                   ;算法CALL跟进
004B443D|.BE 08000000   |MOV ESI,8
004B4442|.8D5D E8       |LEA EBX,DWORD PTR SS:
004B4445|>8D4D D0       |/LEA ECX,DWORD PTR SS:       ;从这到004B4462是把从算法CALL中得到的字串转为16进制的数
004B4448|.33C0          ||XOR EAX,EAX
004B444A|.8A03          ||MOV AL,BYTE PTR DS:                  放到EBP-18中
004B444C|.BA 02000000   ||MOV EDX,2
004B4451|.E8 6A48F5FF   ||CALL 55_.00408CC0
004B4456|.8B55 D0       ||MOV EDX,DWORD PTR SS:
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:,8         ;第二次指向字串的第9位第三次指向字串的第17位
004B4468|.8B45 DC       |MOV EAX,DWORD PTR SS:
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:
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:,EDX
004B448C|.68 B3444B00   PUSH 55_.004B44B3
004B4491|>8D45 D0       LEA EAX,DWORD PTR SS:
004B4494|.BA 02000000   MOV EDX,2
004B4499|.E8 5200F5FF   CALL 55_.004044F0
004B449E|.8D45 F8       LEA EAX,DWORD PTR SS:
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:                        ;第一次的8位字串是wangweiB
004B38EC|.A5            MOVS DWORD PTR ES:,DWORD PTR DS:      ;把取出8个字串的前4位给DS:
004B38ED|.A5            MOVS DWORD PTR ES:,DWORD PTR DS:      ;把取出8个字串的4-8位给DS:
004B38EE|.895424 08   MOV DWORD PTR SS:,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:                        ;把字串的第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:,AL                        ;DS:=DS:为1
004B3909|.F6C2 80       TEST DL,80                                        ;DL=42 TEST 80
004B390C|.0F97C0      SETA AL                                           ;条件为假 FALSE AL=0
004B390F|.8806          MOV BYTE PTR DS:,AL                        ;DS:[ESI]=DS:为0
004B3911|.8A4D 06       MOV CL,BYTE PTR SS:                        ;把字串的第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:,AL                        ;DS:=DS:为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:,AL                        ;DS:[ESI]=DS:为0
004B3926|.8A45 05       MOV AL,BYTE PTR SS:                        ;把字串的第6位给AL=e
004B3929|.F6C0 40       TEST AL,40
004B392C|.0F97C3      SETA BL
004B392F|.885F 02       MOV BYTE PTR DS:,BL
004B3932|.F6C0 80       TEST AL,80
004B3935|.0F97C3      SETA BL
004B3938|.885E 02       MOV BYTE PTR DS:,BL
004B393B|.F645 04 40    TEST BYTE PTR SS:,40                     ;把字串的第5位给AL=w
004B393F|.0F97C3      SETA BL
004B3942|.885F 03       MOV BYTE PTR DS:,BL
004B3945|.F645 04 80    TEST BYTE PTR SS:,80
004B3949|.0F97C3      SETA BL
004B394C|.885E 03       MOV BYTE PTR DS:,BL
004B394F|.F645 03 40    TEST BYTE PTR SS:,40                     ;把字串的第4位给AL=g
004B3953|.0F97C3      SETA BL
004B3956|.885F 04       MOV BYTE PTR DS:,BL
004B3959|.F645 03 80    TEST BYTE PTR SS:,80
004B395D|.0F97C3      SETA BL
004B3960|.885E 04       MOV BYTE PTR DS:,BL
004B3963|.F645 02 40    TEST BYTE PTR SS:,40                     ;把字串的第3位给AL=n
004B3967|.0F97C3      SETA BL
004B396A|.885F 05       MOV BYTE PTR DS:,BL
004B396D|.F645 02 80    TEST BYTE PTR SS:,80
004B3971|.0F97C3      SETA BL
004B3974|.885E 05       MOV BYTE PTR DS:,BL
004B3977|.F645 01 40    TEST BYTE PTR SS:,40                     ;把字串的第2位给AL=a
004B397B|.0F97C3      SETA BL
004B397E|.885F 06       MOV BYTE PTR DS:,BL
004B3981|.F645 01 80    TEST BYTE PTR SS:,80
004B3985|.0F97C3      SETA BL
004B3988|.885E 06       MOV BYTE PTR DS:,BL
004B398B|.F645 00 40    TEST BYTE PTR SS:,40
004B398F|.0F97C3      SETA BL
004B3992|.885F 07       MOV BYTE PTR DS:,BL
004B3995|.F645 00 80    TEST BYTE PTR SS:,80                         ;把字串的第1位给AL=w
004B3999|.0F97C3      SETA BL
004B399C|.885E 07       MOV BYTE PTR DS:,BL
004B399F|.F6C2 10       TEST DL,10
004B39A2|.0F97C3      SETA BL
004B39A5|.885F 08       MOV BYTE PTR DS:,BL
004B39A8|.F6C2 20       TEST DL,20
004B39AB|.0F97C2      SETA DL
004B39AE|.8856 08       MOV BYTE PTR DS:,DL
004B39B1|.F6C1 10       TEST CL,10
004B39B4|.0F97C2      SETA DL
004B39B7|.8857 09       MOV BYTE PTR DS:,DL
004B39BA|.F6C1 20       TEST CL,20
004B39BD|.0F97C2      SETA DL
004B39C0|.8856 09       MOV BYTE PTR DS:,DL
004B39C3|.F6C0 10       TEST AL,10
004B39C6|.0F97C2      SETA DL
004B39C9|.8857 0A       MOV BYTE PTR DS:,DL
004B39CC|.F6C0 20       TEST AL,20
004B39CF|.0F97C0      SETA AL
004B39D2|.8846 0A       MOV BYTE PTR DS:,AL
004B39D5|.F645 04 10    TEST BYTE PTR SS:,10
004B39D9|.0F97C0      SETA AL
004B39DC|.8847 0B       MOV BYTE PTR DS:,AL
004B39DF|.F645 04 20    TEST BYTE PTR SS:,20
004B39E3|.0F97C0      SETA AL
004B39E6|.8846 0B       MOV BYTE PTR DS:,AL
004B39E9|.F645 03 10    TEST BYTE PTR SS:,10
004B39ED|.0F97C0      SETA AL
004B39F0|.8847 0C       MOV BYTE PTR DS:,AL
004B39F3|.F645 03 20    TEST BYTE PTR SS:,20
004B39F7|.0F97C0      SETA AL
004B39FA|.8846 0C       MOV BYTE PTR DS:,AL
004B39FD|.F645 02 10    TEST BYTE PTR SS:,10
004B3A01|.0F97C0      SETA AL
004B3A04|.8847 0D       MOV BYTE PTR DS:,AL
004B3A07|.F645 02 20    TEST BYTE PTR SS:,20
004B3A0B|.0F97C0      SETA AL
004B3A0E|.8846 0D       MOV BYTE PTR DS:,AL
004B3A11|.F645 01 10    TEST BYTE PTR SS:,10
004B3A15|.0F97C0      SETA AL
004B3A18|.8847 0E       MOV BYTE PTR DS:,AL
004B3A1B|.F645 01 20    TEST BYTE PTR SS:,20
004B3A1F|.0F97C0      SETA AL
004B3A22|.8846 0E       MOV BYTE PTR DS:,AL
004B3A25|.F645 00 10    TEST BYTE PTR SS:,10
004B3A29|.0F97C0      SETA AL
004B3A2C|.8847 0F       MOV BYTE PTR DS:,AL
004B3A2F|.F645 00 20    TEST BYTE PTR SS:,20
004B3A33|.0F97C0      SETA AL
004B3A36|.8846 0F       MOV BYTE PTR DS:,AL
004B3A39|.F645 07 04    TEST BYTE PTR SS:,4
004B3A3D|.0F97C0      SETA AL
004B3A40|.8847 10       MOV BYTE PTR DS:,AL
004B3A43|.F645 07 08    TEST BYTE PTR SS:,8
004B3A47|.0F97C0      SETA AL
004B3A4A|.8846 10       MOV BYTE PTR DS:,AL
004B3A4D|.F645 06 04    TEST BYTE PTR SS:,4
004B3A51|.0F97C0      SETA AL
004B3A54|.8847 11       MOV BYTE PTR DS:,AL
004B3A57|.F645 06 08    TEST BYTE PTR SS:,8
004B3A5B|.0F97C0      SETA AL
004B3A5E|.8846 11       MOV BYTE PTR DS:,AL
004B3A61|.F645 05 04    TEST BYTE PTR SS:,4
004B3A65|.0F97C0      SETA AL
004B3A68|.8847 12       MOV BYTE PTR DS:,AL
004B3A6B|.F645 05 08    TEST BYTE PTR SS:,8
004B3A6F|.0F97C0      SETA AL
004B3A72|.8846 12       MOV BYTE PTR DS:,AL
004B3A75|.F645 04 04    TEST BYTE PTR SS:,4
004B3A79|.0F97C0      SETA AL
004B3A7C|.8847 13       MOV BYTE PTR DS:,AL
004B3A7F|.F645 04 08    TEST BYTE PTR SS:,8
004B3A83|.0F97C0      SETA AL
004B3A86|.8846 13       MOV BYTE PTR DS:,AL
004B3A89|.F645 03 04    TEST BYTE PTR SS:,4
004B3A8D|.0F97C0      SETA AL
004B3A90|.8847 14       MOV BYTE PTR DS:,AL
004B3A93|.F645 03 08    TEST BYTE PTR SS:,8
004B3A97|.0F97C0      SETA AL
004B3A9A|.8846 14       MOV BYTE PTR DS:,AL
004B3A9D|.F645 02 04    TEST BYTE PTR SS:,4
004B3AA1|.0F97C0      SETA AL
004B3AA4|.8847 15       MOV BYTE PTR DS:,AL
004B3AA7|.F645 02 08    TEST BYTE PTR SS:,8
004B3AAB|.0F97C0      SETA AL
004B3AAE|.8846 15       MOV BYTE PTR DS:,AL
004B3AB1|.F645 01 04    TEST BYTE PTR SS:,4
004B3AB5|.0F97C0      SETA AL
004B3AB8|.8847 16       MOV BYTE PTR DS:,AL
004B3ABB|.F645 01 08    TEST BYTE PTR SS:,8
004B3ABF|.0F97C0      SETA AL
004B3AC2|.8846 16       MOV BYTE PTR DS:,AL
004B3AC5|.F645 00 04    TEST BYTE PTR SS:,4
004B3AC9|.0F97C0      SETA AL
004B3ACC|.8847 17       MOV BYTE PTR DS:,AL
004B3ACF|.F645 00 08    TEST BYTE PTR SS:,8
004B3AD3|.0F97C0      SETA AL
004B3AD6|.8846 17       MOV BYTE PTR DS:,AL
004B3AD9|.8A45 07       MOV AL,BYTE PTR SS:
004B3ADC|.24 01         AND AL,1
004B3ADE|.8847 18       MOV BYTE PTR DS:,AL
004B3AE1|.F645 07 02    TEST BYTE PTR SS:,2
004B3AE5|.0F97C0      SETA AL
004B3AE8|.8846 18       MOV BYTE PTR DS:,AL
004B3AEB|.8A45 06       MOV AL,BYTE PTR SS:
004B3AEE|.24 01         AND AL,1
004B3AF0|.8847 19       MOV BYTE PTR DS:,AL
004B3AF3|.F645 06 02    TEST BYTE PTR SS:,2
004B3AF7|.0F97C0      SETA AL
004B3AFA|.8846 19       MOV BYTE PTR DS:,AL
004B3AFD|.8A45 05       MOV AL,BYTE PTR SS:
004B3B00|.24 01         AND AL,1
004B3B02|.8847 1A       MOV BYTE PTR DS:,AL
004B3B05|.F645 05 02    TEST BYTE PTR SS:,2
004B3B09|.0F97C0      SETA AL
004B3B0C|.8846 1A       MOV BYTE PTR DS:,AL
004B3B0F|.8A45 04       MOV AL,BYTE PTR SS:
004B3B12|.24 01         AND AL,1
004B3B14|.8847 1B       MOV BYTE PTR DS:,AL
004B3B17|.F645 04 02    TEST BYTE PTR SS:,2
004B3B1B|.0F97C0      SETA AL
004B3B1E|.8846 1B       MOV BYTE PTR DS:,AL
004B3B21|.8A45 03       MOV AL,BYTE PTR SS:
004B3B24|.24 01         AND AL,1
004B3B26|.8847 1C       MOV BYTE PTR DS:,AL
004B3B29|.F645 03 02    TEST BYTE PTR SS:,2
004B3B2D|.0F97C0      SETA AL
004B3B30|.8846 1C       MOV BYTE PTR DS:,AL
004B3B33|.8A45 02       MOV AL,BYTE PTR SS:
004B3B36|.24 01         AND AL,1
004B3B38|.8847 1D       MOV BYTE PTR DS:,AL
004B3B3B|.F645 02 02    TEST BYTE PTR SS:,2
004B3B3F|.0F97C0      SETA AL
004B3B42|.8846 1D       MOV BYTE PTR DS:,AL
004B3B45|.8A45 01       MOV AL,BYTE PTR SS:
004B3B48|.24 01         AND AL,1
004B3B4A|.8847 1E       MOV BYTE PTR DS:,AL
004B3B4D|.F645 01 02    TEST BYTE PTR SS:,2
004B3B51|.0F97C0      SETA AL
004B3B54|.8846 1E       MOV BYTE PTR DS:,AL
004B3B57|.8A45 00       MOV AL,BYTE PTR SS:
004B3B5A|.24 01         AND AL,1
004B3B5C|.8847 1F       MOV BYTE PTR DS:,AL
004B3B5F|.F645 00 02    TEST BYTE PTR SS:,2
004B3B63|.0F97C0      SETA AL
004B3B66|.8846 1F       MOV BYTE PTR DS:,AL
004B3B69|.B2 10         MOV DL,10                                       ;dl=10
004B3B6B|.B8 CC7D4D00   MOV EAX,55_.004D7DCC
004B3B70|>8A4E 1F       /MOV CL,BYTE PTR DS:                      ;cl=1
004B3B73|.3208          |XOR CL,BYTE PTR DS:                         ;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:                     ;bl=0
004B3B81|.3258 05       |XOR BL,BYTE PTR DS:                     ;bl 逻辑异或1bl=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:                         ;bl=0
004B3B92|.3258 01       |XOR BL,BYTE PTR DS:                     ;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:                     ;bl=0
004B3BA4|.3258 02       |XOR BL,BYTE PTR DS:                     ;bl 逻辑异或0bl=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:                     ;bl=0
004B3BB6|.3258 03       |XOR BL,BYTE PTR DS:                     ;bl 逻辑异或1bl=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:                     ;bl=0
004B3BC7|.3258 04       |XOR BL,BYTE PTR DS:                     ;bl 逻辑异或1bl=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:                  ;bl=0
004B3BDC|.325F 08       |XOR BL,BYTE PTR DS:                     ;bl 逻辑异或0bl=1
004B3BDF|.881D 14814D00 |MOV BYTE PTR DS:,BL                      ;下边的代码都是一样分析的
004B3BE5|.0FB7D9      |MOVZX EBX,CX
004B3BE8|.8A9B A04B4D00 |MOV BL,BYTE PTR DS:
004B3BEE|.325F 10       |XOR BL,BYTE PTR DS:
004B3BF1|.881D 1C814D00 |MOV BYTE PTR DS:,BL
004B3BF7|.0FB7D9      |MOVZX EBX,CX
004B3BFA|.8A9B A04D4D00 |MOV BL,BYTE PTR DS:
004B3C00|.325F 16       |XOR BL,BYTE PTR DS:
004B3C03|.881D 22814D00 |MOV BYTE PTR DS:,BL
004B3C09|.0FB7C9      |MOVZX ECX,CX
004B3C0C|.8A89 A04F4D00 |MOV CL,BYTE PTR DS:
004B3C12|.324F 1E       |XOR CL,BYTE PTR DS:
004B3C15|.880D 2A814D00 |MOV BYTE PTR DS:,CL
004B3C1B|.8A4E 03       |MOV CL,BYTE PTR DS:
004B3C1E|.3248 06       |XOR CL,BYTE PTR DS:
004B3C21|.81E1 FF000000 |AND ECX,0FF
004B3C27|.C1E1 05       |SHL ECX,5
004B3C2A|.8A5E 08       |MOV BL,BYTE PTR DS:
004B3C2D|.3258 0B       |XOR BL,BYTE PTR DS:
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:
004B3C3F|.3258 07       |XOR BL,BYTE PTR DS:
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:
004B3C51|.3258 08       |XOR BL,BYTE PTR DS:
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:
004B3C63|.3258 09       |XOR BL,BYTE PTR DS:
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:
004B3C74|.3258 0A       |XOR BL,BYTE PTR DS:
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:
004B3C89|.325F 0C       |XOR BL,BYTE PTR DS:
004B3C8C|.881D 18814D00 |MOV BYTE PTR DS:,BL
004B3C92|.0FB7D9      |MOVZX EBX,CX
004B3C95|.8A9B E04B4D00 |MOV BL,BYTE PTR DS:
004B3C9B|.325F 1B       |XOR BL,BYTE PTR DS:
004B3C9E|.881D 27814D00 |MOV BYTE PTR DS:,BL
004B3CA4|.0FB7D9      |MOVZX EBX,CX
004B3CA7|.8A9B E04D4D00 |MOV BL,BYTE PTR DS:
004B3CAD|.325F 01       |XOR BL,BYTE PTR DS:
004B3CB0|.881D 0D814D00 |MOV BYTE PTR DS:,BL
004B3CB6|.0FB7C9      |MOVZX ECX,CX
004B3CB9|.8A89 E04F4D00 |MOV CL,BYTE PTR DS:
004B3CBF|.324F 11       |XOR CL,BYTE PTR DS:
004B3CC2|.880D 1D814D00 |MOV BYTE PTR DS:,CL
004B3CC8|.8A4E 07       |MOV CL,BYTE PTR DS:
004B3CCB|.3248 0C       |XOR CL,BYTE PTR DS:
004B3CCE|.81E1 FF000000 |AND ECX,0FF
004B3CD4|.C1E1 05       |SHL ECX,5
004B3CD7|.8A5E 0C       |MOV BL,BYTE PTR DS:
004B3CDA|.3258 11       |XOR BL,BYTE PTR DS:
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:
004B3CEC|.3258 0D       |XOR BL,BYTE PTR DS:
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:
004B3CFE|.3258 0E       |XOR BL,BYTE PTR DS:
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:
004B3D10|.3258 0F       |XOR BL,BYTE PTR DS:
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:
004B3D21|.3258 10       |XOR BL,BYTE PTR DS:
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:
004B3D36|.325F 17       |XOR BL,BYTE PTR DS:
004B3D39|.881D 23814D00 |MOV BYTE PTR DS:,BL
004B3D3F|.0FB7D9      |MOVZX EBX,CX
004B3D42|.8A9B 204C4D00 |MOV BL,BYTE PTR DS:
004B3D48|.325F 0F       |XOR BL,BYTE PTR DS:
004B3D4B|.881D 1B814D00 |MOV BYTE PTR DS:,BL
004B3D51|.0FB7D9      |MOVZX EBX,CX
004B3D54|.8A9B 204E4D00 |MOV BL,BYTE PTR DS:
004B3D5A|.325F 1D       |XOR BL,BYTE PTR DS:
004B3D5D|.881D 29814D00 |MOV BYTE PTR DS:,BL
004B3D63|.0FB7C9      |MOVZX ECX,CX
004B3D66|.8A89 20504D00 |MOV CL,BYTE PTR DS:
004B3D6C|.324F 05       |XOR CL,BYTE PTR DS:
004B3D6F|.880D 11814D00 |MOV BYTE PTR DS:,CL
004B3D75|.8A4E 0B       |MOV CL,BYTE PTR DS:
004B3D78|.3248 12       |XOR CL,BYTE PTR DS:
004B3D7B|.81E1 FF000000 |AND ECX,0FF
004B3D81|.C1E1 05       |SHL ECX,5
004B3D84|.8A5E 10       |MOV BL,BYTE PTR DS:
004B3D87|.3258 17       |XOR BL,BYTE PTR DS:
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:
004B3D99|.3258 13       |XOR BL,BYTE PTR DS:
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:
004B3DAB|.3258 14       |XOR BL,BYTE PTR DS:
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:
004B3DBD|.3258 15       |XOR BL,BYTE PTR DS:
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:
004B3DCE|.3258 16       |XOR BL,BYTE PTR DS:
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:
004B3DE3|.325F 19       |XOR BL,BYTE PTR DS:
004B3DE6|.881D 25814D00 |MOV BYTE PTR DS:,BL
004B3DEC|.0FB7D9      |MOVZX EBX,CX
004B3DEF|.8A9B 604C4D00 |MOV BL,BYTE PTR DS:
004B3DF5|.325F 13       |XOR BL,BYTE PTR DS:
004B3DF8|.881D 1F814D00 |MOV BYTE PTR DS:,BL
004B3DFE|.0FB7D9      |MOVZX EBX,CX
004B3E01|.8A9B 604E4D00 |MOV BL,BYTE PTR DS:
004B3E07|.325F 09       |XOR BL,BYTE PTR DS:
004B3E0A|.881D 15814D00 |MOV BYTE PTR DS:,BL
004B3E10|.0FB7C9      |MOVZX ECX,CX
004B3E13|.8A89 60504D00 |MOV CL,BYTE PTR DS:
004B3E19|.320F          |XOR CL,BYTE PTR DS:
004B3E1B|.880D 0C814D00 |MOV BYTE PTR DS:,CL
004B3E21|.8A4E 0F       |MOV CL,BYTE PTR DS:
004B3E24|.3248 18       |XOR CL,BYTE PTR DS:
004B3E27|.81E1 FF000000 |AND ECX,0FF
004B3E2D|.C1E1 05       |SHL ECX,5
004B3E30|.8A5E 14       |MOV BL,BYTE PTR DS:
004B3E33|.3258 1D       |XOR BL,BYTE PTR DS:
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:
004B3E45|.3258 19       |XOR BL,BYTE PTR DS:
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:
004B3E57|.3258 1A       |XOR BL,BYTE PTR DS:
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:
004B3E69|.3258 1B       |XOR BL,BYTE PTR DS:
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:
004B3E7A|.3258 1C       |XOR BL,BYTE PTR DS:
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:
004B3E8F|.325F 07       |XOR BL,BYTE PTR DS:
004B3E92|.881D 13814D00 |MOV BYTE PTR DS:,BL
004B3E98|.0FB7D9      |MOVZX EBX,CX
004B3E9B|.8A9B A04C4D00 |MOV BL,BYTE PTR DS:
004B3EA1|.325F 0D       |XOR BL,BYTE PTR DS:
004B3EA4|.881D 19814D00 |MOV BYTE PTR DS:,BL
004B3EAA|.0FB7D9      |MOVZX EBX,CX
004B3EAD|.8A9B A04E4D00 |MOV BL,BYTE PTR DS:
004B3EB3|.325F 18       |XOR BL,BYTE PTR DS:
004B3EB6|.881D 24814D00 |MOV BYTE PTR DS:,BL
004B3EBC|.0FB7C9      |MOVZX ECX,CX
004B3EBF|.8A89 A0504D00 |MOV CL,BYTE PTR DS:
004B3EC5|.324F 02       |XOR CL,BYTE PTR DS:
004B3EC8|.880D 0E814D00 |MOV BYTE PTR DS:,CL
004B3ECE|.8A4E 13       |MOV CL,BYTE PTR DS:
004B3ED1|.3248 1E       |XOR CL,BYTE PTR DS:
004B3ED4|.81E1 FF000000 |AND ECX,0FF
004B3EDA|.C1E1 05       |SHL ECX,5
004B3EDD|.8A5E 18       |MOV BL,BYTE PTR DS:
004B3EE0|.3258 23       |XOR BL,BYTE PTR DS:
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:
004B3EF2|.3258 1F       |XOR BL,BYTE PTR DS:
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:
004B3F04|.3258 20       |XOR BL,BYTE PTR DS:
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:
004B3F16|.3258 21       |XOR BL,BYTE PTR DS:
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:
004B3F27|.3258 22       |XOR BL,BYTE PTR DS:
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:
004B3F3C|.325F 03       |XOR BL,BYTE PTR DS:
004B3F3F|.881D 0F814D00 |MOV BYTE PTR DS:,BL
004B3F45|.0FB7D9      |MOVZX EBX,CX
004B3F48|.8A9B E04C4D00 |MOV BL,BYTE PTR DS:
004B3F4E|.325F 1C       |XOR BL,BYTE PTR DS:
004B3F51|.881D 28814D00 |MOV BYTE PTR DS:,BL
004B3F57|.0FB7D9      |MOVZX EBX,CX
004B3F5A|.8A9B E04E4D00 |MOV BL,BYTE PTR DS:
004B3F60|.325F 0A       |XOR BL,BYTE PTR DS:
004B3F63|.881D 16814D00 |MOV BYTE PTR DS:,BL
004B3F69|.0FB7C9      |MOVZX ECX,CX
004B3F6C|.8A89 E0504D00 |MOV CL,BYTE PTR DS:
004B3F72|.324F 12       |XOR CL,BYTE PTR DS:
004B3F75|.880D 1E814D00 |MOV BYTE PTR DS:,CL
004B3F7B|.8A4E 17       |MOV CL,BYTE PTR DS:
004B3F7E|.3248 24       |XOR CL,BYTE PTR DS:
004B3F81|.81E1 FF000000 |AND ECX,0FF
004B3F87|.C1E1 05       |SHL ECX,5
004B3F8A|.8A5E 1C       |MOV BL,BYTE PTR DS:
004B3F8D|.3258 29       |XOR BL,BYTE PTR DS:
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:
004B3F9F|.3258 25       |XOR BL,BYTE PTR DS:
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:
004B3FB1|.3258 26       |XOR BL,BYTE PTR DS:
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:
004B3FC3|.3258 27       |XOR BL,BYTE PTR DS:
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:
004B3FD4|.3258 28       |XOR BL,BYTE PTR DS:
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:
004B3FE9|.325F 1F       |XOR BL,BYTE PTR DS:
004B3FEC|.881D 2B814D00 |MOV BYTE PTR DS:,BL
004B3FF2|.0FB7D9      |MOVZX EBX,CX
004B3FF5|.8A9B 204D4D00 |MOV BL,BYTE PTR DS:
004B3FFB|.325F 0B       |XOR BL,BYTE PTR DS:
004B3FFE|.881D 17814D00 |MOV BYTE PTR DS:,BL
004B4004|.0FB7D9      |MOVZX EBX,CX
004B4007|.8A9B 204F4D00 |MOV BL,BYTE PTR DS:
004B400D|.325F 15       |XOR BL,BYTE PTR DS:
004B4010|.881D 21814D00 |MOV BYTE PTR DS:,BL
004B4016|.0FB7C9      |MOVZX ECX,CX
004B4019|.8A89 20514D00 |MOV CL,BYTE PTR DS:
004B401F|.324F 06       |XOR CL,BYTE PTR DS:
004B4022|.880D 12814D00 |MOV BYTE PTR DS:,CL
004B4028|.8A4E 1B       |MOV CL,BYTE PTR DS:
004B402B|.3248 2A       |XOR CL,BYTE PTR DS:
004B402E|.81E1 FF000000 |AND ECX,0FF
004B4034|.C1E1 05       |SHL ECX,5
004B4037|.8A1E          |MOV BL,BYTE PTR DS:
004B4039|.3258 2F       |XOR BL,BYTE PTR DS:
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:
004B404B|.3258 2B       |XOR BL,BYTE PTR DS:
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:
004B405D|.3258 2C       |XOR BL,BYTE PTR DS:
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:
004B406F|.3258 2D       |XOR BL,BYTE PTR DS:
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:
004B4080|.3258 2E       |XOR BL,BYTE PTR DS:
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:
004B4095|.325F 04       |XOR BL,BYTE PTR DS:
004B4098|.881D 10814D00 |MOV BYTE PTR DS:,BL
004B409E|.0FB7D9      |MOVZX EBX,CX
004B40A1|.8A9B 604D4D00 |MOV BL,BYTE PTR DS:
004B40A7|.325F 1A       |XOR BL,BYTE PTR DS:
004B40AA|.881D 26814D00 |MOV BYTE PTR DS:,BL
004B40B0|.0FB7D9      |MOVZX EBX,CX
004B40B3|.8A9B 604F4D00 |MOV BL,BYTE PTR DS:
004B40B9|.325F 0E       |XOR BL,BYTE PTR DS:
004B40BC|.881D 1A814D00 |MOV BYTE PTR DS:,BL
004B40C2|.0FB7C9      |MOVZX ECX,CX
004B40C5|.8A89 60514D00 |MOV CL,BYTE PTR DS:
004B40CB|.324F 14       |XOR CL,BYTE PTR DS:
004B40CE|.880D 20814D00 |MOV BYTE PTR DS:,CL
004B40D4|.56            |PUSH ESI
004B40D5|.57            |PUSH EDI
004B40D6|.B9 08000000   |MOV ECX,8
004B40DB|.F3:A5         |REP MOVS DWORD PTR ES:,DWORD PTR DS:   ;把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:,DWORD PTR DS:
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:                        ;这是关键的地方DS:[EDI+7]=01 AL=01
004B40FF|.C1E0 07       SHL EAX,7                                       ;逻辑左移7位EAX=26C00080
004B4102|.8A56 07       MOV DL,BYTE PTR DS:                        ;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:                        ;DS:=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:                        ;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:                     ;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:                     ;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:                     ;DL=0
004B412D|.03D2          ADD EDX,EDX                                       ;A0000000
004B412F|.0AC2          OR AL,DL                                          ;Al=F8
004B4131|.0A46 1F       OR AL,BYTE PTR DS:                        ;AL=F8
004B4134|.8B5424 08   MOV EDX,DWORD PTR SS:
004B4138|.8802          MOV BYTE PTR DS:,AL                        ;DS:=F8这就注册码的第一位
004B413A|.8A47 06       MOV AL,BYTE PTR DS:
004B413D|.C1E0 07       SHL EAX,7
004B4140|.8A56 06       MOV DL,BYTE PTR DS:
004B4143|.C1E2 06       SHL EDX,6
004B4146|.0AC2          OR AL,DL
004B4148|.8A57 0E       MOV DL,BYTE PTR DS:
004B414B|.C1E2 05       SHL EDX,5
004B414E|.0AC2          OR AL,DL
004B4150|.8A56 0E       MOV DL,BYTE PTR DS:
004B4153|.C1E2 04       SHL EDX,4
004B4156|.0AC2          OR AL,DL
004B4158|.8A57 16       MOV DL,BYTE PTR DS:
004B415B|.C1E2 03       SHL EDX,3
004B415E|.0AC2          OR AL,DL
004B4160|.8A56 16       MOV DL,BYTE PTR DS:
004B4163|.C1E2 02       SHL EDX,2
004B4166|.0AC2          OR AL,DL
004B4168|.8A57 1E       MOV DL,BYTE PTR DS:
004B416B|.03D2          ADD EDX,EDX
004B416D|.0AC2          OR AL,DL
004B416F|.0A46 1E       OR AL,BYTE PTR DS:
004B4172|.8B5424 08   MOV EDX,DWORD PTR SS:
004B4176|.8842 01       MOV BYTE PTR DS:,AL                        ;DS:=FC注册码第2位
004B4179|.8A47 05       MOV AL,BYTE PTR DS:
004B417C|.C1E0 07       SHL EAX,7
004B417F|.8A56 05       MOV DL,BYTE PTR DS:
004B4182|.C1E2 06       SHL EDX,6
004B4185|.0AC2          OR AL,DL
004B4187|.8A57 0D       MOV DL,BYTE PTR DS:
004B418A|.C1E2 05       SHL EDX,5
004B418D|.0AC2          OR AL,DL
004B418F|.8A56 0D       MOV DL,BYTE PTR DS:
004B4192|.C1E2 04       SHL EDX,4
004B4195|.0AC2          OR AL,DL
004B4197|.8A57 15       MOV DL,BYTE PTR DS:
004B419A|.C1E2 03       SHL EDX,3
004B419D|.0AC2          OR AL,DL
004B419F|.8A56 15       MOV DL,BYTE PTR DS:
004B41A2|.C1E2 02       SHL EDX,2
004B41A5|.0AC2          OR AL,DL
004B41A7|.8A57 1D       MOV DL,BYTE PTR DS:
004B41AA|.03D2          ADD EDX,EDX
004B41AC|.0AC2          OR AL,DL
004B41AE|.0A46 1D       OR AL,BYTE PTR DS:
004B41B1|.8B5424 08   MOV EDX,DWORD PTR SS:                      ;DS:=4B注册码第3位
004B41B5|.8842 02       MOV BYTE PTR DS:,AL
004B41B8|.8A47 04       MOV AL,BYTE PTR DS:
004B41BB|.C1E0 07       SHL EAX,7
004B41BE|.8A56 04       MOV DL,BYTE PTR DS:
004B41C1|.C1E2 06       SHL EDX,6
004B41C4|.0AC2          OR AL,DL
004B41C6|.8A57 0C       MOV DL,BYTE PTR DS:
004B41C9|.C1E2 05       SHL EDX,5
004B41CC|.0AC2          OR AL,DL
004B41CE|.8A56 0C       MOV DL,BYTE PTR DS:
004B41D1|.C1E2 04       SHL EDX,4
004B41D4|.0AC2          OR AL,DL
004B41D6|.8A57 14       MOV DL,BYTE PTR DS:
004B41D9|.C1E2 03       SHL EDX,3
004B41DC|.0AC2          OR AL,DL
004B41DE|.8A56 14       MOV DL,BYTE PTR DS:
004B41E1|.C1E2 02       SHL EDX,2
004B41E4|.0AC2          OR AL,DL
004B41E6|.8A57 1C       MOV DL,BYTE PTR DS:
004B41E9|.03D2          ADD EDX,EDX
004B41EB|.0AC2          OR AL,DL
004B41ED|.0A46 1C       OR AL,BYTE PTR DS:
004B41F0|.8B5424 08   MOV EDX,DWORD PTR SS:
004B41F4|.8842 03       MOV BYTE PTR DS:,AL                        ;DS:=2E注册码第4位
004B41F7|.8A47 03       MOV AL,BYTE PTR DS:
004B41FA|.C1E0 07       SHL EAX,7
004B41FD|.8A56 03       MOV DL,BYTE PTR DS:
004B4200|.C1E2 06       SHL EDX,6
004B4203|.0AC2          OR AL,DL
004B4205|.8A57 0B       MOV DL,BYTE PTR DS:
004B4208|.C1E2 05       SHL EDX,5
004B420B|.0AC2          OR AL,DL
004B420D|.8A56 0B       MOV DL,BYTE PTR DS:
004B4210|.C1E2 04       SHL EDX,4
004B4213|.0AC2          OR AL,DL
004B4215|.8A57 13       MOV DL,BYTE PTR DS:
004B4218|.C1E2 03       SHL EDX,3
004B421B|.0AC2          OR AL,DL
004B421D|.8A56 13       MOV DL,BYTE PTR DS:
004B4220|.C1E2 02       SHL EDX,2
004B4223|.0AC2          OR AL,DL
004B4225|.8A57 1B       MOV DL,BYTE PTR DS:
004B4228|.03D2          ADD EDX,EDX
004B422A|.0AC2          OR AL,DL
004B422C|.0A46 1B       OR AL,BYTE PTR DS:
004B422F|.8B5424 08   MOV EDX,DWORD PTR SS:
004B4233|.8842 04       MOV BYTE PTR DS:,AL                        ;DS:=21注册码第5位
004B4236|.8A47 02       MOV AL,BYTE PTR DS:
004B4239|.C1E0 07       SHL EAX,7
004B423C|.8A56 02       MOV DL,BYTE PTR DS:
004B423F|.C1E2 06       SHL EDX,6
004B4242|.0AC2          OR AL,DL
004B4244|.8A57 0A       MOV DL,BYTE PTR DS:
004B4247|.C1E2 05       SHL EDX,5
004B424A|.0AC2          OR AL,DL
004B424C|.8A56 0A       MOV DL,BYTE PTR DS:
004B424F|.C1E2 04       SHL EDX,4
004B4252|.0AC2          OR AL,DL
004B4254|.8A57 12       MOV DL,BYTE PTR DS:
004B4257|.C1E2 03       SHL EDX,3
004B425A|.0AC2          OR AL,DL
004B425C|.8A56 12       MOV DL,BYTE PTR DS:
004B425F|.C1E2 02       SHL EDX,2
004B4262|.0AC2          OR AL,DL
004B4264|.8A57 1A       MOV DL,BYTE PTR DS:
004B4267|.03D2          ADD EDX,EDX
004B4269|.0AC2          OR AL,DL
004B426B|.0A46 1A       OR AL,BYTE PTR DS:
004B426E|.8B5424 08   MOV EDX,DWORD PTR SS:
004B4272|.8842 05       MOV BYTE PTR DS:,AL                        ;DS:=94注册码第6位
004B4275|.8A47 01       MOV AL,BYTE PTR DS:
004B4278|.C1E0 07       SHL EAX,7
004B427B|.8A56 01       MOV DL,BYTE PTR DS:
004B427E|.C1E2 06       SHL EDX,6
004B4281|.0AC2          OR AL,DL
004B4283|.8A57 09       MOV DL,BYTE PTR DS:
004B4286|.C1E2 05       SHL EDX,5
004B4289|.0AC2          OR AL,DL
004B428B|.8A56 09       MOV DL,BYTE PTR DS:
004B428E|.C1E2 04       SHL EDX,4
004B4291|.0AC2          OR AL,DL
004B4293|.8A57 11       MOV DL,BYTE PTR DS:
004B4296|.C1E2 03       SHL EDX,3
004B4299|.0AC2          OR AL,DL
004B429B|.8A56 11       MOV DL,BYTE PTR DS:
004B429E|.C1E2 02       SHL EDX,2
004B42A1|.0AC2          OR AL,DL
004B42A3|.8A57 19       MOV DL,BYTE PTR DS:
004B42A6|.03D2          ADD EDX,EDX
004B42A8|.0AC2          OR AL,DL
004B42AA|.0A46 19       OR AL,BYTE PTR DS:
004B42AD|.8B5424 08   MOV EDX,DWORD PTR SS:
004B42B1|.8842 06       MOV BYTE PTR DS:,AL                        ;DS:=E3注册码第7位
004B42B4|.8A07          MOV AL,BYTE PTR DS:
004B42B6|.C1E0 07       SHL EAX,7
004B42B9|.8A16          MOV DL,BYTE PTR DS:
004B42BB|.C1E2 06       SHL EDX,6
004B42BE|.0AC2          OR AL,DL
004B42C0|.8A57 08       MOV DL,BYTE PTR DS:
004B42C3|.C1E2 05       SHL EDX,5
004B42C6|.0AC2          OR AL,DL
004B42C8|.8A56 08       MOV DL,BYTE PTR DS:
004B42CB|.C1E2 04       SHL EDX,4
004B42CE|.0AC2          OR AL,DL
004B42D0|.8A57 10       MOV DL,BYTE PTR DS:
004B42D3|.C1E2 03       SHL EDX,3
004B42D6|.0AC2          OR AL,DL
004B42D8|.8A56 10       MOV DL,BYTE PTR DS:
004B42DB|.C1E2 02       SHL EDX,2
004B42DE|.0AC2          OR AL,DL
004B42E0|.8A57 18       MOV DL,BYTE PTR DS:
004B42E3|.03D2          ADD EDX,EDX
004B42E5|.0AC2          OR AL,DL
004B42E7|.0A46 18       OR AL,BYTE PTR DS:
004B42EA|.8B5424 08   MOV EDX,DWORD PTR SS:
004B42EE|.8842 07       MOV BYTE PTR DS:,AL                        ;DS:=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

GGLHY 发表于 2011-2-12 19:14:01

算法分析文章,学习学习,顶下兄弟了!

月之精灵 发表于 2011-2-12 22:06:39

本帖最后由 月之精灵 于 2011-2-12 22:23 编辑

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

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

应该是5-8位吧(就字面看的哈)

sdrf5678lk 发表于 2011-2-13 10:57:01

回复 3# 月之精灵


    呵呵~~~~~~~~~~~~~~~是啊

kk378 发表于 2011-2-13 11:42:49

xph20001021 发表于 2011-2-13 22:55:11

我也跟了个类似这样的算法,可总搞不明白注册码的第一位F8是根据什么来的,LZ能不能把这算法简单讲解一下

飘云 发表于 2011-2-13 23:38:40

有耐力!

yhtjay 发表于 2011-2-16 21:18:10

我本以为研究它图像识别算法……呵呵

qinccckencn 发表于 2011-2-17 11:44:21

写得不错,好好学习兄弟的思路

qqcqqcqqc 发表于 2011-2-25 10:12:46

他被禁言了,/:QQ2
页: [1]
查看完整版本: 摄像头录像精灵算法分析