0040649A CALL FREECELL.00438648 ; \FREECELL.00438648 0040649F PUSH EDI ; /Arg3 004064A0 PUSH FREECELL.004541BC ; Arg2 = 004541BC ASCII "RegisterCode" 004064A5 PUSH FREECELL.00454158 ; Arg1 = 00454158 ASCII "Options" 004064AA MOV ECX,ESI ; 004064AC CALL FREECELL.004385D3 ; \FREECELL.004385D3 004064B1 MOV BYTE PTR DS:[ESI+C1],1 004064B8 CALL FREECELL.00435B86 004064BD TEST EAX,EAX 004064BF JE SHORT FREECELL.004064CA 004064C1 MOV EDX,DWORD PTR DS:[EAX] 004064C3 MOV ECX,EAX 004064C5 CALL DWORD PTR DS:[EDX+74] 004064C8 JMP SHORT FREECELL.004064CC 004064CA XOR EAX,EAX 004064CC MOV EAX,DWORD PTR DS:[EAX+1C] 004064CF PUSH 105 ; /Redraw = RDW_INVALIDATERDW_ERASERDW_UPDATENOW 004064D4 PUSH 0 ; hUpdateRgn = NULL 004064D6 PUSH 0 ; pRect = NULL 004064D8 PUSH EAX ; hWnd 004064D9 CALL DWORD PTR DS:[<&USER32.RedrawWi>; \RedrawWindow 重新显示整个窗口,窗口中将显示“本软件注册为: ...”等字样。
-----------------------进入注册码生成过程的CALL中------------------------
00405DB8 MOV ECX,DWORD PTR DS:[EAX-8] 00405DBB MOV ESI,0D431 <---------初始化 ESI 00405DC0 TEST ECX,ECX <---------比较用户名是否为空,ECX中为用户名字串长度。 00405DC2 JLE SHORT FREECELL.00405DF8 00405DC4 / MOVSX EAX,BYTE PTR DS:[EDI+EAX] <--------取出用户名中的一位到EAX 00405DC8 XOR EAX,14142135 <-----对其进行一次异或 00405DCD PUSH EAX <-----将EAX压栈
上一篇:卸载精灵3.2算法
下一篇:《穷和麻将》共享版2.03说明 算法分析
|