register.TregisterForm.BitmapButton5Click
00893A00 push ebp
00893A01 mov ebp,esp
00893A03 mov ecx,11
00893A08 push 0
00893A0A push 0
00893A0C dec ecx
00893A0D> jne 00893A08
00893A0F push ecx
00893A10 push ebx
00893A11 mov ebx,eax
00893A13 xor eax,eax
00893A15 push ebp
00893A16 push 893EFB
00893A1B push dword ptr fs:[eax]
00893A1E mov dword ptr fs:[eax],esp
00893A21 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893A28 push eax
00893A29 lea eax,[ebp-4]
00893A2C push eax
00893A2D lea edx,[ebp-8]
00893A30 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit //Edit6就是我们输入的离线注册码
00893A36 call TControl.GetText
00893A3B mov eax,dword ptr [ebp-8]
00893A3E xor ecx,ecx
00893A40 mov edx,893F1C;' '
00893A45 call StringReplace //去掉空格
00893A4A movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893A51 push eax
00893A52 lea eax,[ebp-4]
00893A55 push eax
00893A56 lea edx,[ebp-0C]
00893A59 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893A5F call TControl.GetText
00893A64 mov eax,dword ptr [ebp-0C]
00893A67 xor ecx,ecx
00893A69 mov edx,893F2C;' '
00893A6E call StringReplace //去掉全角空格
00893A73 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893A7A push eax
00893A7B lea eax,[ebp-4]
00893A7E push eax
00893A7F lea edx,[ebp-10]
00893A82 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893A88 call TControl.GetText
00893A8D mov eax,dword ptr [ebp-10]
00893A90 mov ecx,893F3C;'0'
00893A95 mov edx,893F4C;'o'
00893A9A call StringReplace //把小写字母o换成0
00893A9F movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893AA6 push eax
00893AA7 lea eax,[ebp-4]
00893AAA push eax
00893AAB lea edx,[ebp-14]
00893AAE mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893AB4 call TControl.GetText
00893AB9 mov eax,dword ptr [ebp-14]
00893ABC mov ecx,893F3C;'0'
00893AC1 mov edx,893F5C;'o'
00893AC6 call StringReplace //把全角小写字母o换成0
00893ACB movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893AD2 push eax
00893AD3 lea eax,[ebp-4]
00893AD6 push eax
00893AD7 lea edx,[ebp-18]
00893ADA mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893AE0 call TControl.GetText
00893AE5 mov eax,dword ptr [ebp-18]
00893AE8 mov ecx,893F3C;'0'
00893AED mov edx,893F6C;'O'
00893AF2 call StringReplace //把大写字母O换成0
00893AF7 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893AFE push eax
00893AFF lea eax,[ebp-4]
00893B02 push eax
00893B03 lea edx,[ebp-1C]
00893B06 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893B0C call TControl.GetText
00893B11 mov eax,dword ptr [ebp-1C]
00893B14 mov ecx,893F3C;'0'
00893B19 mov edx,893F7C;'O'
00893B1E call StringReplace //把全角大写字母O换成0
00893B23 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893B2A push eax
00893B2B lea eax,[ebp-4]
00893B2E push eax
00893B2F lea edx,[ebp-20]
00893B32 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893B38 call TControl.GetText
00893B3D mov eax,dword ptr [ebp-20]
00893B40 mov ecx,893F8C;'-'
00893B45 mov edx,893F9C;'_'
00893B4A call StringReplace //把下划线换成减号-
00893B4F movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893B56 push eax
00893B57 lea eax,[ebp-4]
00893B5A push eax
00893B5B lea edx,[ebp-24]
00893B5E mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893B64 call TControl.GetText
00893B69 mov eax,dword ptr [ebp-24]
00893B6C mov ecx,893F8C;'-'
00893B71 mov edx,893FAC;'——' //把破折号换成减号-
00893B76 call StringReplace
00893B7B movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893B82 push eax
00893B83 lea eax,[ebp-4]
00893B86 push eax
00893B87 lea edx,[ebp-28]
00893B8A mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893B90 call TControl.GetText
00893B95 mov eax,dword ptr [ebp-28]
00893B98 mov ecx,893F8C;'-'
00893B9D mov edx,893FC0;'—' //把全角横线线换成减号-
00893BA2 call StringReplace
00893BA7 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893BAE push eax
00893BAF lea eax,[ebp-4]
00893BB2 push eax
00893BB3 lea edx,[ebp-2C]
00893BB6 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893BBC call TControl.GetText
00893BC1 mov eax,dword ptr [ebp-2C]
00893BC4 mov ecx,893F8C;'-'
00893BC9 mov edx,893FD0;'-' //把全角减号换成减号-
00893BCE call StringReplace
00893BD3 movzx eax,byte ptr ds:[893F0C];0x1 gvar_00893F0C
00893BDA push eax
00893BDB lea eax,[ebp-4]
00893BDE push eax
00893BDF lea edx,[ebp-30]
00893BE2 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893BE8 call TControl.GetText
00893BED mov eax,dword ptr [ebp-30]
00893BF0 mov ecx,893F8C;'-'
00893BF5 mov edx,893FE0;'_'
00893BFA call StringReplace //把下划线换成减号-
00893BFF lea ecx,[ebp-34]
00893C02 mov edx,dword ptr [ebp-4]
00893C05 mov eax,[007944CC];TZhou
00893C0A call TZhou.sbctoDbc
00893C0F mov edx,dword ptr [ebp-34]
00893C12 lea eax,[ebp-4]
00893C15 call @UStrLAsg
00893C1A lea edx,[ebp-38]
00893C1D mov eax,dword ptr [ebp-4]
00893C20 call AnsiUpperCase
00893C25 mov edx,dword ptr [ebp-38]
00893C28 lea eax,[ebp-4]
00893C2B call @UStrLAsg
00893C30 mov edx,dword ptr [ebp-4]
00893C33 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893C39 call TControl.SetText
00893C3E lea edx,[ebp-3C]
00893C41 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893C47 call TControl.GetText
00893C4C cmp dword ptr [ebp-3C],0
00893C50> jne 00893C7D
00893C52 push 0
00893C54 mov ecx,893FE4
00893C59 mov edx,893FF0
00893C5E mov eax,[009295CC];^Application:TApplication
00893C63 mov eax,dword ptr [eax]
00893C65 call TApplication.MessageBox
00893C6A mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893C70 mov edx,dword ptr [eax]
00893C72 call dword ptr [edx+0F4];TWinControl.SetFocus
00893C78> jmp 00893E54
00893C7D call 00892D40 //这里是判断函数
//理由,第一,这个CALL后面就是判断加跳转;
//第二,这个跳转的地址也在这个段,所以应该是判断注册码的地方。
00893C82 cmp dword ptr ds:[0A343D4],1;gvar_00A343D4
00893C89> jne 00893E2E
00893C8F lea edx,[ebp-4C]
00893C92 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893C98 call TControl.GetText
00893C9D mov eax,dword ptr [ebp-4C]
00893CA0 lea edx,[ebp-48]
00893CA3 call EncodeString
00893CA8 mov eax,dword ptr [ebp-48]
00893CAB lea edx,[ebp-44]
00893CAE call 0043121C
00893CB3 mov ecx,dword ptr [ebp-44]
00893CB6 lea eax,[ebp-40]
00893CB9 mov edx,894010;'update user set Rcode='
00893CBE call @UStrCat3
00893CC3 mov edx,dword ptr [ebp-40]
00893CC6 mov eax,[0092946C];^gvar_00A345C8:TCtl
00893CCB mov eax,dword ptr [eax]
00893CCD call TCtl.exeSQLStatement
00893CD2 lea edx,[ebp-5C]
00893CD5 mov eax,dword ptr [ebx+3C4];TregisterForm.Edit1:TEdit
00893CDB call TControl.GetText
00893CE0 mov eax,dword ptr [ebp-5C]
00893CE3 lea edx,[ebp-58]
00893CE6 call EncodeString
00893CEB mov eax,dword ptr [ebp-58]
00893CEE lea edx,[ebp-54]
00893CF1 call 0043121C
00893CF6 mov ecx,dword ptr [ebp-54]
00893CF9 lea eax,[ebp-50]
00893CFC mov edx,89404C;'update user set Acode='
00893D01 call @UStrCat3
00893D06 mov edx,dword ptr [ebp-50]
00893D09 mov eax,[0092946C];^gvar_00A345C8:TCtl
00893D0E mov eax,dword ptr [eax]
00893D10 call TCtl.exeSQLStatement
00893D15 lea edx,[ebp-6C]
00893D18 mov eax,dword ptr [ebx+3B8];TregisterForm.Edit2:TEdit
00893D1E call TControl.GetText
00893D23 mov eax,dword ptr [ebp-6C]
00893D26 lea edx,[ebp-68]
00893D29 call Trim
00893D2E mov eax,dword ptr [ebp-68]
00893D31 lea edx,[ebp-64]
00893D34 call 0043121C
00893D39 mov ecx,dword ptr [ebp-64]
00893D3C lea eax,[ebp-60]
00893D3F mov edx,894088;'update user set Name='
00893D44 call @UStrCat3
00893D49 mov edx,dword ptr [ebp-60]
00893D4C mov eax,[0092946C];^gvar_00A345C8:TCtl
00893D51 mov eax,dword ptr [eax]
00893D53 call TCtl.exeSQLStatement
00893D58 lea edx,[ebp-7C]
00893D5B mov eax,dword ptr [ebx+3BC];TregisterForm.Edit4:TEdit
00893D61 call TControl.GetText
00893D66 mov eax,dword ptr [ebp-7C]
00893D69 lea edx,[ebp-78]
00893D6C call Trim
00893D71 mov eax,dword ptr [ebp-78]
00893D74 lea edx,[ebp-74]
00893D77 call 0043121C
00893D7C mov ecx,dword ptr [ebp-74]
00893D7F lea eax,[ebp-70]
00893D82 mov edx,8940C0;'update user set Phone='
00893D87 call @UStrCat3
00893D8C mov edx,dword ptr [ebp-70]
00893D8F mov eax,[0092946C];^gvar_00A345C8:TCtl
00893D94 mov eax,dword ptr [eax]
00893D96 call TCtl.exeSQLStatement
00893D9B lea edx,[ebp-8C]
00893DA1 mov eax,dword ptr [ebx+3C0];TregisterForm.Edit5:TEdit
00893DA7 call TControl.GetText
00893DAC mov eax,dword ptr [ebp-8C]
00893DB2 lea edx,[ebp-88]
00893DB8 call Trim
00893DBD mov eax,dword ptr [ebp-88]
00893DC3 lea edx,[ebp-84]
00893DC9 call 0043121C
00893DCE mov ecx,dword ptr [ebp-84]
00893DD4 lea eax,[ebp-80]
00893DD7 mov edx,8940FC;'update user set Email='
00893DDC call @UStrCat3
00893DE1 mov edx,dword ptr [ebp-80]
00893DE4 mov eax,[0092946C];^gvar_00A345C8:TCtl
00893DE9 mov eax,dword ptr [eax]
00893DEB call TCtl.exeSQLStatement
00893DF0 push 0
00893DF2 mov ecx,893FE4
00893DF7 mov edx,89412C
00893DFC mov eax,[009295CC];^Application:TApplication
00893E01 mov eax,dword ptr [eax]
00893E03 call TApplication.MessageBox
00893E08 mov eax,[0092946C];^gvar_00A345C8:TCtl
00893E0D mov eax,dword ptr [eax]
00893E0F call TCtl.clearTryHistroy
00893E14 push 1
00893E16 push 894154;'start.exe'
00893E1B call kernel32.WinExec
00893E20 mov eax,[009295CC];^Application:TApplication
00893E25 mov eax,dword ptr [eax]
00893E27 call TApplication.Terminate
00893E2C> jmp 00893E54
00893E2E push 0
00893E30 mov ecx,893FE4
00893E35 mov edx,894160
00893E3A mov eax,[009295CC];^Application:TApplication
00893E3F mov eax,dword ptr [eax]
00893E41 call TApplication.MessageBox
00893E46 mov eax,dword ptr [ebx+3D0];TregisterForm.Edit6:TEdit
00893E4C mov edx,dword ptr [eax]
00893E4E call dword ptr [edx+0F4];TWinControl.SetFocus
00893E54 xor eax,eax
00893E56 pop edx
00893E57 pop ecx
00893E58 pop ecx
00893E59 mov dword ptr fs:[eax],edx
00893E5C push 893F05
00893E61 lea eax,[ebp-8C]
00893E67 call @UStrClr
00893E6C lea eax,[ebp-88]
00893E72 mov edx,3
00893E77 call @UStrArrayClr
00893E7C lea eax,[ebp-7C]
00893E7F call @UStrClr
00893E84 lea eax,[ebp-78]
00893E87 mov edx,3
00893E8C call @UStrArrayClr
00893E91 lea eax,[ebp-6C]
00893E94 call @UStrClr
00893E99 lea eax,[ebp-68]
00893E9C mov edx,3
00893EA1 call @UStrArrayClr
00893EA6 lea eax,[ebp-5C]
00893EA9 call @UStrClr
00893EAE lea eax,[ebp-58]
00893EB1 mov edx,3
00893EB6 call @UStrArrayClr
00893EBB lea eax,[ebp-4C]
00893EBE call @UStrClr
00893EC3 lea eax,[ebp-48]
00893EC6 mov edx,3
00893ECB call @UStrArrayClr
00893ED0 lea eax,[ebp-3C]
00893ED3 call @UStrClr
00893ED8 lea eax,[ebp-38]
00893EDB mov edx,2
00893EE0 call @UStrArrayClr
00893EE5 lea eax,[ebp-30]
00893EE8 mov edx,0B
00893EED call @UStrArrayClr
00893EF2 lea eax,[ebp-4]
00893EF5 call @UStrClr
00893EFA ret
00893EFB> jmp @HandleFinally
00893F00> jmp 00893E61
00893F05 pop ebx
00893F06 mov esp,ebp
00893F08 pop ebp
00893F09 ret