:00402A76 7E17 jle 00402A8F
* Referenced by a (U)nconditional or (C)onditional Jump at Address: :00402A8D(C)
:00402A78 8A540C10 mov dl, byte ptr [esp+ecx+10] <----取出地址1中用户名的一位. :00402A7C 52 push edx :00402A7D 51 push ecx <----压入两个参数,ECX为循环变量,第一次时是0; :00402A7E E86DFFFFFF call 004029F0 <----此CALL(记为CALL 2)将取出的字符进行变化,按F8可进入分析; :00402A83 83C408 add esp, 00000008 :00402A86 88440C10 mov byte ptr [esp+ecx+10], al <----将处理后的字符再次写入 :00402A8A 41 inc ecx :00402A8B 3BCB cmp ecx, ebx <----是否将用户名的第一位都处理了. :00402A8D 7CE9 jl 00402A78 <----没有处理完就继续.
* Referenced by a (U)nconditional or (C)onditional Jump at Address: :00402A76(C)
:00402A8F 33F6 xor esi, esi :00402A91 85FF test edi, edi :00402A93 7E1C jle 00402AB1
* Referenced by a (U)nconditional or (C)onditional Jump at Address: :00402AAF(C)
:00402A95 8B5CB410 mov ebx, dword ptr [esp+4*esi+10] <----取出第一次处理后用户名的4位。 :00402A99 8BC6 mov eax, esi :00402A9B 83E01F and eax, 0000001F :00402A9E 03EB add ebp, ebx <----将处理的结果进行累加。 :00402AA0 50 push eax :00402AA1 55 push ebp :00402AA2 E819000000 call 00402AC0 <----此CALL内比较简单,是将EBP的值通过CF进行循环移位EAX次。 :00402AA7 83C408 add esp, 00000008 :00402AAA 46 inc esi :00402AAB 3BF7 cmp esi, edi :00402AAD 8BE8 mov ebp, eax <----是否处理完 :00402AAF 7CE4 jl 00402A95
上一篇:法律文书、合同样本库 5.10破解手记--算法分析
下一篇:黑马多媒体电子教室精简版简单算法分析
|