|
为了节省篇幅,直接从注册算法代码处开始分析。 004DA8F3 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004DA8F6 . E8 49A4F2FF CALL DfBox.00404D44 004DA8FB . 33C0 XOR EAX,EAX 004DA8FD . 55 PUSH EBP 004DA8FE . 68 69A94D00 PUSH DfBox.004DA969 004DA903 . 64:FF30 PUSH DWORD PTR FS:[EAX] 004DA906 . 64:8920 MOV DWORD PTR FS:[EAX],ESP 004DA909 . BB 01000000 MOV EBX,1===>初始化EBX值为1。 004DA90E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004DA911 . E8 46A2F2FF CALL DfBox.00404B5C===>计算用户名长度,并移入EAX。 004DA916 . 8BC8 MOV ECX,EAX===>用户名长度移入ECX。 004DA918 . 85C9 TEST ECX,ECX===>测试用户名长度。 004DA91A . 7E 1C JLE SHORT DfBox.004DA938===>小于等于0则跳,跳则死。 004DA91C . BE 01000000 MOV ESI,1===>初始化ESI值,用于控制取用户名字符。 004DA921 > 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4]===>用户名移入EAX。 004DA924 . 0FB67C30 FF MOVZX EDI,BYTE PTR DS:[EAX+ESI-1]===>依次取用户名字符十六进制值移入EDI。 004DA929 . 8BC3 MOV EAX,EBX 004DA92B . 99 CDQ===>扩展。扩展后EDX或为0或为FFFFFFFF,不知什么原因? 004DA92C . 33C2 XOR EAX,EDX===>与EDX异或。 004DA92E . 2BC2 SUB EAX,EDX===>减去EDX。 004DA930 . F7EF IMUL EDI===>乘以EDI。 004DA932 . 8BD8 MOV EBX,EAX===>移入EBX。 004DA934 . 46 INC ESI===>用于控制取用户名字符。 004DA935 . 49 DEC ECX===>控制循环。 004DA936 .^75 E9 \JNZ SHORT DfBox.004DA921===>未取完则跳回继续计算。
上一篇:音乐处理acoustica2.25的破戒
下一篇:磁盘清理工具(EasyClean) V1.50 Build 0806
|