string ls_rootpath
string ls_volumnename
ulong lul_volumenamesize
ulong lul_volumeserialnumber
ulong lul_maximumcomponentlength
ulong lul_filesystemflags
string ls_filesystemnamebuffer
ulong lul_filesystemnamesize
boolean lb_rtn = false
string regnum
string diskn
string kkk
long dn_length
long s_length
close(w_loading)
f_wcenter(w_start)
ls_rootpath = "C:\"
ls_volumnename = space(256)
lul_volumenamesize = 256
lul_maximumcomponentlength = 256
ls_filesystemnamebuffer = space(256)
lul_filesystemnamesize = 256
lb_rtn = false
lb_rtn = getvolumeinformationa(ls_rootpath,ls_volumnename,lul_volumenamesize,lul_volumeserialnumber,lul_maximumcomponentlength,lul_filesystemflags,ls_filesystemnamebuffer,lul_filesystemnamesize)
if lb_rtn = false then
messagebox("提示","Volume函数调用失败!")
halt close
end if
disknum = string(lul_volumeserialnumber)
dn_length = len(disknum)
s_length = dn_length - 2
disknum_s = mid(disknum,1,s_length)
registryget("HKEY_CURRENT_USER\Software\drvtest","IDcheck",regstring!,regnum)
registryget("HKEY_CURRENT_USER\Software\drvtest","path",regstring!,progpath)
registryget("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,kkk)
if kkk = "3" then
halt close
end if
if regnum = "" then
is_user = false
messagebox("提示","你尚未注册,因此所做题目数量仅限于300题。" + "~r~n" + "注册后将开放所有题目及模拟考试功能。")
else
diskn = f_restore_dsknum(regnum)
if diskn = disknum_s then
is_user = true
else
is_user = false
messagebox("提示","你尚未注册,因此所做题目数量仅限于300题。" + "~r~n" + "注册后将开放所有题目及模拟考试功能。")
end if
end if
if progpath = "" then
messagebox("提示","本软件的有关参数设置已丢失,导致“交通法规”的条文将无法显示。" + "~r~n" + "请重新安装本软件。")
end if
flt = "Q"
setnull(uilnull)
if isvalid(message) then
return 0
else
return message.returnvalue
end if
string hex_data[10]
integer cc
integer pn
integer e
integer strlen
integer d
integer s
ulong resnum1
ulong resnum2
ulong resnum11
ulong resnum12
ulong resnum3
ulong resnum5
ulong resnum6
long slen2
long slen3
long slen4
long slen5
long fs_len
string s1
string s2
string s3
string slast4
string sleft
string vslast4
string resnum4
string resnum7
string resnum8
string st1 = ""
string uls1
string uls2
string uls3
string disksn = ""
char fsn[9]
char fcn1[12]
char fcn2[12]
char fcn3[12]
integer sgl[10]
integer jj
integer kk
cc = len(is_hex)
is_hex = left(is_hex,cc - 3)
pn = len(is_hex)
hex_data[e] = mid(is_hex,pn,1)
if isnumber(hex_data[e]) = false then
choose case hex_data[e]
case "A"
hex_data[e] = "10"
case "C"
hex_data[e] = "11"
case "X"
hex_data[e] = "12"
case "M"
hex_data[e] = "13"
case "H"
hex_data[e] = "14"
case "R"
hex_data[e] = "15"
end choose
end if
resnum1 = resnum1 + long(hex_data[e]) * 16 ^ e
pn --
e ++
if pn = 0 then
end if
resnum11 = resnum1 - 31650758
resnum2 = resnum1 - 42198964
resnum12 = resnum11 + resnum2
s1 = string(resnum11)
s2 = string(resnum12)
s3 = string(resnum2)
strlen = len(s3)
slast4 = right(s3,4)
vslast4 = reverse(slast4)
sleft = left(s3,strlen - 4)
resnum3 = long(sleft) / 2
resnum4 = string(resnum3) + vslast4
resnum5 = long(resnum4) / 2
slen2 = len(string(resnum2))
slen3 = len(string(resnum3))
slen4 = len(resnum4)
slen5 = len(string(resnum5))
uls1 = string(resnum3)
uls2 = resnum4
uls3 = string(resnum5)
jj = slen3 - 1
for s = 1 to slen3
fcn1[s] = mid(uls1,s,1)
next
for s = 1 to slen4
fcn2[s] = mid(uls2,s,1)
next
for s = 1 to slen5
fcn3[s] = mid(uls3,s,1)
next
sgl[slen3] = 15 - integer(fcn1[slen3])
for kk = 1 to slen3
sgl[kk] = 15 - integer(fcn1[kk])
next
kk = kk - 1
for s = 1 to kk
st1 = st1 + string(sgl[s])
next
resnum6 = (resnum5 + 3543987) / 3 - 15396815
resnum7 = string(resnum6)
resnum8 = mid(resnum7,2)
fs_len = len(resnum8)
for d = 1 to fs_len
fsn[d] = endsir[integer(mid(resnum8,d,1))]
next
for d = 1 to fs_len
disksn = disksn + fsn[d]
next
return disksn
string regnumgive
string disknt
integer i
integer j
if is_user = true then
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
if parent.sle_3.text = "" then
parent.sle_3.setfocus()
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
regnumgive = trim(parent.sle_3.text)
if len(regnumgive) < 4 then
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
if parent.qc <> parent.mt then
parent.ciq = 60
end if
if parent.ciq = 0 then
registryset("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,"3")
halt close
end if
disknt = f_restore_dsknum(regnumgive)
if disknt <> disknum_s then
parent.cyc ++
if parent.cyc > 20 then
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
j = parent.cyc - 1
parent.recnum[parent.cyc] = regnumgive
for i = 1 to j
if regnumgive = parent.recnum[i] then
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
next
parent.koba ++
if parent.koba > 8 then
registryset("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,"3")
halt close
end if
parent.sle_3.setfocus()
if isvalid(message) then
return 0
else
return message.returnvalue
end if
end if
registryset("HKEY_CURRENT_USER\Software\drvtest","IDcheck",regstring!,regnumgive)
messagebox("注册成功","祝贺你注册成功!请重新启动本软件",information!,ok!)
halt close
if isvalid(message) then
return 0
else
return message.returnvalue
end if
[课程]Android-CTF解题方法汇总!