摄像头录像精灵算法分析
【破文标题】摄像头录像精灵算法分析【破文作者】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 算法分析文章,学习学习,顶下兄弟了! 本帖最后由 月之精灵 于 2011-2-12 22:23 编辑
不错,学习,如果兄弟能截个图是最好不过了哈
还有这里:
004B38ED|.A5 MOVS DWORD PTR ES:,DWORD PTR DS: ;把取出8个字串的4-8位给DS:
应该是5-8位吧(就字面看的哈) 回复 3# 月之精灵
呵呵~~~~~~~~~~~~~~~是啊 我也跟了个类似这样的算法,可总搞不明白注册码的第一位F8是根据什么来的,LZ能不能把这算法简单讲解一下 有耐力! 我本以为研究它图像识别算法……呵呵 写得不错,好好学习兄弟的思路 他被禁言了,/:QQ2
页:
[1]