vfp反编译出来的代码,懂vfp的帮忙看一下它的算法过程:
PROCEDURE DESTROY
IF NOT TYPE("mainform.caption") = "C"
CLEAR EVENTS
QUIT
ENDIF
PROCEDURE INIT
PARAMETERS kos
IF TYPE("kos") = "C"
THISFORM.cmd3.enabled = .F.
ENDIF
IF NOT TYPE("mainform.caption") = "C"
this.left = -2
this.top = -30
ELSE
THISFORM.cmd3.enabled = .F.
ENDIF
IF sysdata(80)
THISFORM.cmd1.enabled = .F.
THISFORM.text1.readonly = .T.
IF sysdata(79)
THISFORM.STATUBAR1.label1.caption = lang("授权于:")+sysdata(34)
ELSE
THISFORM.STATUBAR1.label1.caption = lang("授权于:")+sysdata(33)
ENDIF
THISFORM.blabel1.visible = .F.
ENDIF
PROCEDURE KEYPRESS
LPARAMETERS nkeycode,nshiftaltctrl
PROCEDURE INIT
IF sysdata(80) = .T.
THISFORM.text2.value = ALLTRIM(regread("BBSERID","Software\serverice"))
THISFORM.text1.value = "系统已经注册"
ELSE
hy = getmac()
dri = getdiskserial()
blp = SUBSTR(DRI,AT("-",DRI)+1,LEN(DRI)-AT("-",DRI)+1)
se = SUBSTR(HY,AT("-",HY)+1,LEN(HY)-AT("-",HY)-1)
ok = "BLP"+ALLTRIM(STR(ASC(SE)))+ALLTRIM(STR(ASC(BLP)))
ok = "REG"+SUBSTR(OK,4,LEN(OK)-3)
sbb = ""
sv = ALLTRIM(STR(SEC(DATETIME())))
this.value = OK+"13"+IIF(SV = "13","07",ALLTRIM(STR(SEC(DATETIME()))))
ENDIF
PROCEDURE CLICK
hb = ALLTRIM(THISFORM.TEXT2.value)
IF THISFORM.KEY1.unkey(THISFORM.TEXT1.value) = SUBSTR(HB,4,AT("13",HB)-4)
regwrite("BBSER",ALLTRIM(THISFORM.TEXT1.value),"Software\serverice")
regwrite("BBSERID",ALLTRIM(THISFORM.TEXT2.value),"Software\serverice")
xmessagebox("恭喜,您已经成为本软件的正式用户!",304,"注册成功")
sysdata[80] = .T.
hi = GETENV("windir")+"\serverice.dat"
IF FILE(HI)
DELETE FILE &hi
ENDIF
IF NOT TYPE("mainform.caption") = "C"
CLEAR EVENTS
QUIT
ELSE
thisform.release
ENDIF
ELSE
hi = GETENV("windir")+"\serverice.dat"
IF FILE(HI)
bl = ALLTRIM(FILETOSTR(HI))
IF LEN(BL) = 0
xmessagebox("因为您的操作!本软件的使用权已经被取消,请与软件供应商联系",272,"警告")
CLEAR EVENTS
QUIT
ELSE
bp = VAL(BL)
IF BP > 3
xmessagebox("因为您的操作!本软件的使用权已经被取消,请与软件供应商联系",272,"警告")
CLEAR EVENTS
QUIT
ELSE
bp = ALLTRIM(STR(BP+1))
STRTOFILE(BP,HI)
ENDIF
ENDIF
ELSE
bo = "1"
STRTOFILE(BO,HI)
ENDIF
xmessagebox("您的注册码无效,请重新输入!",304,"提示")
THISFORM.text1.setfocus
RETURN
ENDIF
PROCEDURE CLICK
= regwrite("BBSER","MjAwOC0wMi0xMyMw","Software\serverice")
xmessagebox("试用期限为3天,请及时注册本软件!",304,"提示")
DECLARE INTEGER GetModuleFileName IN kernel32 INTEGER, STRING @, INTEGER
lpfilename = SPACE(250)
lnlen = getmodulefilename(0,@LPFILENAME,LEN(LPFILENAME))
gt = (LEFT(LPFILENAME,LNLEN))
CLEAR DLLS GETMODULEFILENAME
! /n >
thisform.release
ON SHUTDOWN quit
CLEAR EVENTS
QUIT
PROCEDURE CLICK
_CLIPTEXT = ALLTRIM(THIS.PARENT.TEXT2.value)
PROCEDURE CLICK
IF NOT TYPE("mainform.caption") = "C"
CLEAR EVENTS
QUIT
ELSE
thisform.release
ENDIF
[课程]FART 脱壳王!加量不加价!FART作者讲授!