手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

DB Commander 2000 PRO(简称DBC_2000)笔记

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

0054115C |. 6A 00 PUSH 0
0054115E |. 66:8B0D 981254>MOV CX,WORD PTR DS:[541298]
00541165 |. 33D2 XOR EDX,EDX
00541167 |. B8 14135400 MOV EAX,TKDB_Com.00541314
Goodbye..."
//这里是注册成功的地方!

0054116C |. E8 9B6BF0FF CALL TKDB_Com.00447D0C
00541171 |. A1 D41F5700 MOV EAX,DWORD PTR DS:[571FD4]
00541176 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
00541178 |. E8 634FEFFF CALL TKDB_Com.004360E0
0054117D |. EB 15 JMP SHORT TKDB_Com.00541194
0054117F |> 6A 00 PUSH 0
00541181 |. 66:8B0D 981254>MOV CX,WORD PTR DS:[541298]
00541188 |. 33D2 XOR EDX,EDX
0054118A |. B8 50135400 MOV EAX,TKDB_Com.00541350
//这里是另外一个出错的地方了!

0054118F |. E8 786BF0FF CALL TKDB_Com.00447D0C
00541194 |> A1 C81C5700 MOV EAX,DWORD PTR DS:[571CC8]
00541199 |. 8038 00 CMP BYTE PTR DS:[EAX],0
0054119C |. 74 52 JE SHORT TKDB_Com.005411F0
-----------------------------------------------------------------
上面54107d的CALL来到这里!

00540710 /$ 55 PUSH EBP
00540711 |. 8BEC MOV EBP,ESP
00540713 |. 83C4 F0 ADD ESP,-10
00540716 |. 53 PUSH EBX
00540717 |. 56 PUSH ESI
00540718 |. 57 PUSH EDI
00540719 |. 33C9 XOR ECX,ECX
0054071B |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
0054071E |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
00540721 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
00540724 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00540727 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054072A |. E8 A93AECFF CALL TKDB_Com.004041D8
0054072F |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00540732 |. E8 A13AECFF CALL TKDB_Com.004041D8
00540737 |. 33C0 XOR EAX,EAX
00540739 |. 55 PUSH EBP
0054073A |. 68 4C085400 PUSH TKDB_Com.0054084C
0054073F |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00540742 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00540745 |. 33FF XOR EDI,EDI
00540747 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
//输入的用户名!

0054074A |. E8 D538ECFF CALL TKDB_Com.00404024
//取用户名的位数!

0054074F |. 8BF0 MOV ESI,EAX
00540751 |. 85F6 TEST ESI,ESI
//是否有用户名!

00540753 |. 7E 34 JLE SHORT TKDB_Com.00540789
//没有就跳走咯!

00540755 |. BB 01000000 MOV EBX,1
//赋值1,EBX作为计数器!

0054075A |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4]
0054075D |. 8A4418 FF |MOV AL,BYTE PTR DS:[EAX EBX-1]
00540761 |. 8BD0 |MOV EDX,EAX
00540763 |. 80C2 D0 |ADD DL,0D0
00540766 |. 80EA 0A |SUB DL,0A
00540769 |. 72 10 |JB SHORT TKDB_Com.0054077B
//比较当前用户名是否是数字,是的话就跳下去直接累加!

0054076B |. 80C2 F9 |ADD DL,0F9
0054076E |. 80EA 1A |SUB DL,1A
00540771 |. 72 08 |JB SHORT TKDB_Com.0054077B
//比较当前用户名是否是大写字母,是的话就跳下取直接累加!

00540773 |. 80C2 FA |ADD DL,0FA
00540776 |. 80EA 1A |SUB DL,1A
00540779 |. 73 0A |JNB SHORT TKDB_Com.00540785
//比较当前用户名是否是小写字母,是的话就不跳!
//假如不是小写字母的话跳走不累加了!

0054077B |> 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0054077E |. 25 FF000000 |AND EAX,0FF
00540783 |. 03F8 |ADD EDI,EAX
00540785 |> 43 |INC EBX
00540786 |. 4E |DEC ESI
00540787 |.^75 D1 /JNZ SHORT TKDB_Com.0054075A
//从0054075A到这里的循环是把用户名的值累加起来
//累加的结果保存再EDI里面!
//注意:要是用户名有非法字符和空格的话,就不作计算!
//也就是说,只计算用户名的"A-Z"和"a-z"和"0-9"之间的数!

00540789 |> 8BC7 MOV EAX,EDI
//累加值=EDI=EAX

0054078B |. C1E0 02 SHL EAX,2
//逻辑左移

0054078E |. 8BD7 MOV EDX,EDI
//EDI=EDX=累加值

00540790 |. 4A DEC EDX
//减一

00540791 |. 8BCA MOV ECX,EDX
//EDX=ECX=累加值减一

00540793 |. 99 CDQ
00540794 |. F7F9 IDIV ECX
//整数除法

00540796 |. 8BD7 MOV EDX,EDI
//累加值=EDI=EDX

00540798 |. 85D2 TEST EDX,EDX
//这里我理解是--是否有累加值,有的话就跳!

0054079A |. 79 03 JNS SHORT TKDB_Com.0054079F
//我这里是跳下去的!

0054079C |. 83C2 03 ADD EDX,3
0054079F |> C1FA 02 SAR EDX,2
//算术右移

005407A2 |. 0FAFD7 IMUL EDX,EDI
//EDX=EDX*EDI

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!