00401269 . 6A 28 PUSH 28 ; /Count = 28 (40.)
0040126B . 68 2E214000 PUSH crcme1.0040212E ; |Buffer = crcme1.0040212E
00401270 . 68 EA030000 PUSH 3EA ; |ControlID = 3EA (1002.)
00401275 . FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |hWnd
00401278 . E8 F3010000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
0040127D . BF 06214000 MOV EDI,crcme1.00402106 ; 取输入的注册码
00401282 . 33DB XOR EBX,EBX ; EBX清零
00401284 . 33C0 XOR EAX,EAX ; EAX清零
00401286 > 8A1F MOV BL,BYTE PTR DS:[EDI] ; 取注册名每一位的ASCII码
00401288 . 80FB 20 CMP BL,20 ; 格式验证
0040128B . 0F82 95000000 JB crcme1.00401326
00401291 . 03C3 ADD EAX,EBX ; 注册名每一位的 ASCII码累加
00401293 . 47 INC EDI ; 每计算一次EDI中的值加1
00401294 . 803F 00 CMP BYTE PTR DS:[EDI],0 ; 累加完了吗
00401297 .^ 75 ED JNZ SHORT crcme1.00401286 ; 循环计算
ADD EAX,EBX注册名的每一位asc值相加 eax,ebx前面不是已经清0了么?相加不还是0么
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课