00405E0A /CALL FREECELL.004108F1<------此CALL内有一个变化过程 ---------------------------------------------------------------- 变换的等效代码为: MOV ECX ,[地址1] IMUL ECX,ECX,343FD ADD ECX,1269EC3 MOV [地址1],ECX MOV EAX,ECX SHR EAX,10 AND EAX,7FFF ---------------------------------------------------------------- 00405E0F MOV EDX,ESI 00405E11 SHR EDX,10 00405E14 SHL ESI,10 00405E17 OR EDX,ESI 00405E19 ADD EAX,EDX 00405E1B XOR EAX,17320508 00405E20 DEC EDI 00405E21 MOV ESI,EAX <-----------经过变化后,再放入ESI 00405E23 \JNZ SHORT FREECELL.00405E0A <-------循环次数达100次后,结束循环。 00405E25 LEA ECX,DWORD PTR SS:[ESP+10] 00405E29 CALL FREECELL.00435795 00405E2E MOV EAX,ESI <----------将结果放入EAX后返回 00405E30 POP EDI 00405E31 POP ESI 00405E32 RETN
--------------------------------TC20的算法实现-------------------------------- main() { char name[256]; int nlen; int i; unsigned long temp1,temp2,temp3; unsigned long result; printf("输入注册用户名:");