能力值:
( LV2,RANK:10 )
|
-
-
2 楼
蛤??你说这个?大概看个逻辑应该ok吧 require("luci.sys")
uci_t = ((require("luci.model.uci")).cursor)()
socket = (require("nixio")).socket
server = "10.100.61.3"
port = Unknown_Type_Error
version = "2.1.9"
build_time = "2017-06-02 06:53"
protocol_ver = "2016-11-02 17:27:34.601000"
logfile_path = "/tmp/dr_client.log"
statusfile_path = "/tmp/dr_client.status"
timefile_path = "/tmp/dr_client.time"
offlinefile_path = "/tmp/dr_client.offline"
drcomuser = uci_t:get("network", "wan", "drcomuser")
drcompwd = uci_t:get("network", "wan", "drcompwd")
orimacaddr = uci_t:get("network", "wan_dev", "macaddr")
macaddr = (string.lower)((string.gsub)(orimacaddr, ":", ""))
ipaddr = uci_t:get("network", "wan", "ipaddr")
netmask = uci_t:get("network", "wan", "netmask")
gateway = uci_t:get("network", "wan", "gateway")
dns = uci_t:get("network", "wan", "primary_dns")
SALT = ""
s = ""
bin2hex = function(s)
-- function num : 0_0
s = (string.gsub)(s, "(.)", function(x)
-- function num : 0_0_0
return (string.format)("%02X ", (string.byte)(x))
end
)
return s
end
dTox = function(d)
-- function num : 0_1
return ((luci.sys).exec)("printf \"%x\" " .. d)
end
xTod = function(x)
-- function num : 0_2
return ((luci.sys).exec)("printf \"%d\" 0x" .. x)
end
math_exec = function(expr)
-- function num : 0_3
return (math.ceil)(((luci.sys).exec)("echo $((" .. expr .. "))"))
end
conv_unicode = function(str)
-- function num : 0_4
return ((luci.sys).exec)("echo -ne \'" .. str .. "\'")
end
dr_init = function()
-- function num : 0_5
((luci.sys).exec)("rm -rf /tmp/dr_client.*")
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
display_log(Unknown_Type_Error)
if ((luci.sys).exec)("ping -c 1 " .. server .. " | grep ttl") ~= "" then
display_log(Unknown_Type_Error)
else
display_log(Unknown_Type_Error)
;
(os.exit)()
end
end
checksum = function(s)
-- function num : 0_6
ret = Unknown_Type_Error
pos = Unknown_Type_Error
s = (string.lower)((string.gsub)(bin2hex(s), " ", ""))
while 1 do
pos = (string.find)(s, "........", pos + Unknown_Type_Error)
if pos == nil then
break
end
str = (string.sub)(s, pos, pos + Unknown_Type_Error)
str = (string.sub)(str, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(str, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(str, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(str, Unknown_Type_Error, Unknown_Type_Error)
ret = math_exec(ret .. "^" .. xTod(str))
end
ret = math_exec(Unknown_Type_Error * tonumber(ret) .. "&" .. "4294967295")
ret = dTox(ret)
ret = (string.rep)("0", Unknown_Type_Error - (string.len)(ret)) .. ret
ret = (string.sub)(ret, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(ret, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(ret, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(ret, Unknown_Type_Error, Unknown_Type_Error)
if (string.len)(ret) ~= Unknown_Type_Error then
((luci.sys).exec)("echo \'" .. (os.date)("%Y-%m-%d %H:%M:%S ") .. "[Chksum ERROR] Length: \'" .. (string.len)(ret) .. ". Content: " .. bin2hex(struct(ret)) .. " >> /tmp/chksumlen.debug")
end
return struct(ret)
end
md5sum = function(s)
-- function num : 0_7
local md5_core = require("md5.core")
s = (md5_core.sum)(s)
return s
end
ror = function(md5)
-- function num : 0_8
ret = ""
for i = Unknown_Type_Error, (string.len)(drcompwd), Unknown_Type_Error do
x = math_exec((string.byte)((string.sub)(md5, i, i)) .. "^" .. (string.byte)((string.sub)(drcompwd, i, i)))
ret = ret .. (string.char)(math_exec("(" .. x .. "<<3&255)+(" .. x .. ">>5)"))
end
return ret
end
randomStr = function(bytenum)
-- function num : 0_9
return ((luci.sys).exec)("tr -dc 0-9a-zA-Z </dev/urandom 2>&1 | head -c ${1-" .. bytenum .. "}")
end
randomNum = function(startnum, endnum)
-- function num : 0_10
(math.randomseed)(((tostring((os.time)())):reverse()):sub(Unknown_Type_Error, Unknown_Type_Error))
return (math.random)(startnum, endnum)
end
struct = function(x)
-- function num : 0_11
pkt = ""
local length = (string.len)(x)
if length % Unknown_Type_Error ~= Unknown_Type_Error then
x = "0" .. x
length = length + Unknown_Type_Error
end
for i = Unknown_Type_Error, length - Unknown_Type_Error, Unknown_Type_Error do
pkt_part = (string.sub)(x, i, i + Unknown_Type_Error)
if pkt_part ~= nil then
pkt = pkt .. conv_unicode("\\x" .. pkt_part)
end
end
return pkt
end
just = function(justtype, s, length, fillchar)
-- function num : 0_12
if (string.len)(s) < length then
strToFill = (string.rep)(fillchar, length - (string.len)(s))
if justtype == "right" then
return strToFill .. s
else
return s .. strToFill
end
else
return s
end
end
split = function(str, delimiter)
-- function num : 0_13
pos = Unknown_Type_Error
local pos_tbl = {}
while 1 do
while 1 do
pos = (string.find)(str, "%" .. delimiter, pos + Unknown_Type_Error)
end
if not pos then
(table.insert)(pos_tbl, pos)
-- DECOMPILER ERROR at PC23: LeaveBlock: unexpected jumping out IF_THEN_STMT
-- DECOMPILER ERROR at PC23: LeaveBlock: unexpected jumping out IF_STMT
end
end
local split_tbl = {}
for i = Unknown_Type_Error, #pos_tbl + Unknown_Type_Error, Unknown_Type_Error do
if i == Unknown_Type_Error then
part = (string.sub)(str, Unknown_Type_Error, pos_tbl[i])
else
if i == #pos_tbl + Unknown_Type_Error then
part = (string.sub)(str, pos_tbl[i - Unknown_Type_Error])
else
part = (string.sub)(str, pos_tbl[i - Unknown_Type_Error], pos_tbl[i] - Unknown_Type_Error)
end
end
part = (string.gsub)(part, "%" .. delimiter, "")
;
(table.insert)(split_tbl, part)
end
return split_tbl
end
gen_timestamp = function()
-- function num : 0_14
timestamp = dTox((os.time)() % Unknown_Type_Error)
timestamp = (string.rep)("0", Unknown_Type_Error - (string.len)(timestamp)) .. timestamp
timestamp = (string.sub)(timestamp, Unknown_Type_Error, Unknown_Type_Error) .. (string.sub)(timestamp, Unknown_Type_Error, Unknown_Type_Error)
return struct(timestamp)
end
challenge_package_builder = function()
-- function num : 0_15
packetChallenge = struct("0102")
packetChallenge = packetChallenge .. randomStr(Unknown_Type_Error)
packetChallenge = packetChallenge .. (string.rep)(struct("00"), Unknown_Type_Error)
return packetChallenge
end
login_package_builder = function(salt)
-- function num : 0_16
passLen = (string.len)(drcompwd)
if passLen > Unknown_Type_Error then
passLen = Unknown_Type_Error
end
zeroCount = (Unknown_Type_Error - passLen % Unknown_Type_Error) % Unknown_Type_Error
ip_str = ""
for i = Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error do
tbl = split(ipaddr, ".")
ip_str = ip_str .. struct((string.sub)((string.format)("%#x", tbl[i]), Unknown_Type_Error))
end
dns_str = ""
for i = Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error do
tbl = split(dns, ".")
dns_str = dns_str .. struct((string.sub)((string.format)("%#x", tbl[i]), Unknown_Type_Error))
end
packetLogin = struct("030100") .. (string.char)((string.len)(drcomuser) + Unknown_Type_Error)
packetLogin = packetLogin .. md5sum(struct("0301") .. salt .. drcompwd)
packetLogin = packetLogin .. just("left", drcomuser, Unknown_Type_Error, struct("00"))
packetLogin = packetLogin .. struct("2006")
t = struct(dTox(((luci.sys).exec)("echo $((" .. xTod((string.lower)((string.gsub)(bin2hex((string.sub)(packetLogin, Unknown_Type_Error, Unknown_Type_Error)), " ", ""))) .. "^" .. xTod(macaddr) .. "))")))
if (string.len)(t) < Unknown_Type_Error then
t = just("right", t, Unknown_Type_Error, struct("00"))
end
packetLogin = packetLogin .. t
packetLogin = packetLogin .. md5sum(struct("01") .. drcompwd .. salt .. (string.rep)(struct("00"), Unknown_Type_Error))
packetLogin = packetLogin .. struct("01")
packetLogin = packetLogin .. ip_str
packetLogin = packetLogin .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. (string.sub)(md5sum(packetLogin .. struct("1400070b")), Unknown_Type_Error, Unknown_Type_Error)
packetLogin = packetLogin .. struct("01") .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. randomStr(Unknown_Type_Error)
packetLogin = packetLogin .. dns_str
packetLogin = packetLogin .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. struct("940000000600000002000000f023000002000000")
packetLogin = packetLogin .. just("left", struct("4472434f4d00cf076a"), Unknown_Type_Error, struct("00"))
packetLogin = packetLogin .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. "1c210c99585fd22ad03d35c956911aeec1eb449b"
packetLogin = packetLogin .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. struct("6a00")
packetLogin = packetLogin .. struct("00") .. (string.char)((string.len)(drcompwd))
packetLogin = packetLogin .. ror(md5sum(struct("0301") .. salt .. drcompwd))
packetLogin = packetLogin .. struct("020c")
packetLogin = packetLogin .. checksum(packetLogin .. struct("012607110000") .. struct(macaddr))
packetLogin = packetLogin .. (string.rep)(struct("00"), Unknown_Type_Error)
packetLogin = packetLogin .. struct(macaddr)
packetLogin = packetLogin .. (string.rep)(struct("00"), zeroCount)
packetLogin = packetLogin .. randomStr(Unknown_Type_Error)
return packetLogin
end
keep_alive1_package_builder = function(salt, tail)
-- function num : 0_17
foo = gen_timestamp()
packetKA1 = struct("ff") .. md5sum(struct("0301") .. salt .. drcompwd) .. (string.rep)(struct("00"), Unknown_Type_Error) .. tail .. foo
return packetKA1
end
keep_alive2_package_builder = function(number, tail, type, type_extra, loop_mode)
-- function num : 0_18
ip_str = ""
for i = Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error do
tbl = split(ipaddr, ".")
ip_str = ip_str .. struct((string.sub)((string.format)("%#x", tbl[i]), Unknown_Type_Error))
end
packetKA2 = struct("07") .. (string.char)(number) .. struct("28000b") .. (string.char)(type)
if type_extra == Unknown_Type_Error then
packetKA2 = packetKA2 .. struct("0f27")
else
if type_extra == Unknown_Type_Error then
packetKA2 = packetKA2 .. struct("dc02")
else
if type_extra == Unknown_Type_Error then
packetKA2 = packetKA2 .. struct("db02")
end
end
end
packetKA2 = packetKA2 .. gen_timestamp()
if type == Unknown_Type_Error then
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
packetKA2 = packetKA2 .. tail
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
packetKA2 = packetKA2 .. checksum(packetKA2 .. struct("012607110000") .. struct(macaddr))
packetKA2 = packetKA2 .. ip_str
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
else
if type == Unknown_Type_Error then
if loop_mode == Unknown_Type_Error then
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
packetKA2 = packetKA2 .. tail
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
else
packetKA2 = packetKA2 .. (string.rep)(struct("00"), Unknown_Type_Error)
end
end
end
return packetKA2
end
build_socket = function()
-- function num : 0_19
s1 = socket("inet", "dgram")
bindResult = s1:bind("0.0.0.0", port)
s1:setopt("socket", "reuseaddr", Unknown_Type_Error)
s1:setopt("socket", "rcvtimeo", Unknown_Type_Error)
if bindResult then
display_log(Unknown_Type_Error)
else
display_log(Unknown_Type_Error)
;
(os.exit)()
end
return s1
end
socket_conn = function(data, s)
-- function num : 0_20
conn_time = Unknown_Type_Error
while conn_time < Unknown_Type_Error do
conn_time = conn_time + Unknown_Type_Error
send_len = (string.len)(data)
if send_len ~= Unknown_Type_Error and send_len ~= Unknown_Type_Error and send_len ~= Unknown_Type_Error and send_len < Unknown_Type_Error then
((luci.sys).exec)("echo \'" .. (os.date)("%Y-%m-%d %H:%M:%S ") .. "[Package ERROR] Length: \'" .. send_len .. ". Content: " .. bin2hex(data) .. " >> /tmp/pkg_debug.log")
end
s:sendto(data, server, port)
while 1 do
recv_data = s:recvfrom(Unknown_Type_Error)
if recv_data == false then
break
end
return recv_data
end
end
return struct("09")
end
challenge = function()
-- function num : 0_21
packetChallenge = challenge_package_builder()
while 1 do
recv_data = socket_conn(packetChallenge, s)
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("02") then
return (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error)
end
end
end
login = function()
-- function num : 0_22
display_log(Unknown_Type_Error)
salt = challenge()
SALT = salt
packetLogin = login_package_builder(salt)
while 1 do
while 1 do
while 1 do
while 1 do
recv_data = socket_conn(packetLogin, s)
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("04") then
display_log(Unknown_Type_Error)
-- DECOMPILER ERROR at PC32: LeaveBlock: unexpected jumping out IF_THEN_STMT
-- DECOMPILER ERROR at PC32: LeaveBlock: unexpected jumping out IF_STMT
end
end
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("05") then
display_log(Unknown_Type_Error)
;
(os.exit)()
-- DECOMPILER ERROR at PC50: LeaveBlock: unexpected jumping out IF_THEN_STMT
-- DECOMPILER ERROR at PC50: LeaveBlock: unexpected jumping out IF_STMT
end
end
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("09") then
display_log(Unknown_Type_Error)
;
((luci.sys).exec)("sleep 30")
-- DECOMPILER ERROR at PC70: LeaveBlock: unexpected jumping out IF_THEN_STMT
-- DECOMPILER ERROR at PC70: LeaveBlock: unexpected jumping out IF_STMT
end
end
display_log(Unknown_Type_Error)
;
((luci.sys).exec)("sleep 30")
end
return (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error)
end
keep_alive1 = function(salt, tail)
-- function num : 0_23
packetKA1 = keep_alive1_package_builder(salt, tail)
socket_conn(packetKA1, s)
end
keep_alive2 = function(salt, tail)
-- function num : 0_24
is_correct = false
while 1 do
while 1 do
svr_num = Unknown_Type_Error
keep_alive1_time = Unknown_Type_Error
keep_alive1(salt, tail)
keep_alive1_time = keep_alive1_time + Unknown_Type_Error
;
((luci.sys).exec)("sleep 2")
packetKA2_1 = keep_alive2_package_builder(svr_num, (string.rep)(struct("00"), Unknown_Type_Error), Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_1, s)
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("09") then
break
end
svr_num = svr_num + Unknown_Type_Error
packetKA2_2 = keep_alive2_package_builder(svr_num, (string.rep)(struct("00"), Unknown_Type_Error), Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_2, s)
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("09") then
break
end
svr_num = svr_num + Unknown_Type_Error
tail2 = (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error)
packetKA2_3 = keep_alive2_package_builder(svr_num, tail2, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_3, s)
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) == struct("09") then
break
end
svr_num = svr_num + Unknown_Type_Error
is_correct = true
break
end
if is_correct then
break
end
;
((luci.sys).exec)("sleep 2")
end
display_log(Unknown_Type_Error)
;
((luci.sys).exec)("sleep 20")
i = Unknown_Type_Error
while 1 do
i = i + Unknown_Type_Error
sec = i * Unknown_Type_Error
;
((luci.sys).exec)("echo " .. sec .. " > " .. timefile_path)
loop_start_time = (os.time)()
if keep_alive1(salt, tail) == struct("09") then
break
end
keep_alive1_time = keep_alive1_time + Unknown_Type_Error
;
((luci.sys).exec)("sleep 3")
if keep_alive1_time % Unknown_Type_Error == Unknown_Type_Error then
packetKA2_extra = keep_alive2_package_builder(svr_num, tail2, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_1, s)
if svr_num == Unknown_Type_Error then
svr_num = Unknown_Type_Error
else
svr_num = svr_num + Unknown_Type_Error
end
end
packetKA2_loop1 = keep_alive2_package_builder(svr_num, tail2, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_loop1, s)
if svr_num == Unknown_Type_Error then
svr_num = Unknown_Type_Error
else
svr_num = svr_num + Unknown_Type_Error
end
if (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error) ~= struct("09") then
tail3 = (string.sub)(recv_data, Unknown_Type_Error, Unknown_Type_Error)
end
packetKA2_loop2 = keep_alive2_package_builder(svr_num, tail3, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error)
recv_data = socket_conn(packetKA2_loop2, s)
if svr_num == Unknown_Type_Error then
svr_num = Unknown_Type_Error
else
svr_num = svr_num + Unknown_Type_Error
end
svr_num = (svr_num + Unknown_Type_Error) % Unknown_Type_Error
while 1 do
if (os.time)() - loop_start_time >= Unknown_Type_Error then
break
end
;
((luci.sys).exec)("sleep 1")
end
end
end
auth = function()
-- function num : 0_25
s = build_socket()
while 1 do
package_tail = login()
keep_alive2(SALT, package_tail)
end
end
display_log = function(err_code)
-- function num : 0_26
err_message = get_err_message(err_code)
if err_message ~= "empty" then
print(err_message)
end
;
((luci.sys).exec)("echo -ne \"<tr><td><span>" .. err_message .. "</span></td></tr>\" >> " .. logfile_path)
err_code_show = {Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error}
for k,v in ipairs(err_code_show) do
if v == err_code then
((luci.sys).exec)("echo " .. err_code .. " > " .. statusfile_path)
end
end
disconn_code = {Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error, Unknown_Type_Error}
for k,v in ipairs(err_code_show) do
if v == err_code then
((luci.sys).exec)("echo offline > " .. offlinefile_path)
end
end
end
get_err_message = function(err_code)
-- function num : 0_27
err_message = {}
-- DECOMPILER ERROR at PC3: Confused about usage of register: R1 in 'UnsetPending'
err_message["101"] = "等待基础设置初始化完成�\128��\128\166"
-- DECOMPILER ERROR at PC5: Confused about usage of register: R1 in 'UnsetPending'
err_message["102"] = "日志记录系统已启动�\128\130"
-- DECOMPILER ERROR at PC12: Confused about usage of register: R1 in 'UnsetPending'
err_message["103"] = "Dr.COM客户端版本:" .. version .. ". 发布时间�\154" .. build_time
-- DECOMPILER ERROR at PC17: Confused about usage of register: R1 in 'UnsetPending'
err_message["104"] = "Dr.COM协议版本�\154" .. protocol_ver
-- DECOMPILER ERROR at PC22: Confused about usage of register: R1 in 'UnsetPending'
err_message["105"] = "Dr.COM认证服务器地�\128�\154" .. server
-- DECOMPILER ERROR at PC24: Confused about usage of register: R1 in 'UnsetPending'
err_message["106"] = "Dr.COM认证服务器可用�\128\130"
-- DECOMPILER ERROR at PC32: Confused about usage of register: R1 in 'UnsetPending'
err_message["130"] = "Dr.COM认证端口绑定完成 (0.0.0.0:" .. tostring(port) .. ")�\130"
-- DECOMPILER ERROR at PC34: Confused about usage of register: R1 in 'UnsetPending'
err_message["140"] = "[系统网络设置]"
-- DECOMPILER ERROR at PC39: Confused about usage of register: R1 in 'UnsetPending'
err_message["141"] = "IP 地址: " .. ipaddr
-- DECOMPILER ERROR at PC44: Confused about usage of register: R1 in 'UnsetPending'
err_message["142"] = "子网掩码�\154" .. netmask
-- DECOMPILER ERROR at PC49: Confused about usage of register: R1 in 'UnsetPending'
err_message["143"] = "网关地址�\154" .. gateway
-- DECOMPILER ERROR at PC54: Confused about usage of register: R1 in 'UnsetPending'
err_message["144"] = "DNS 服务器:" .. dns
-- DECOMPILER ERROR at PC59: Confused about usage of register: R1 in 'UnsetPending'
err_message["145"] = "MAC 地址�\154" .. orimacaddr
-- DECOMPILER ERROR at PC61: Confused about usage of register: R1 in 'UnsetPending'
err_message["150"] = "[用户帐户设置]"
-- DECOMPILER ERROR at PC66: Confused about usage of register: R1 in 'UnsetPending'
err_message["151"] = "用户名:" .. drcomuser
-- DECOMPILER ERROR at PC78: Confused about usage of register: R1 in 'UnsetPending'
err_message["152"] = "密码�\154" .. (string.rep)("*", (string.len)(drcompwd))
-- DECOMPILER ERROR at PC80: Confused about usage of register: R1 in 'UnsetPending'
err_message["160"] = "正在发�\128�认证信息�\128��\128\166"
-- DECOMPILER ERROR at PC82: Confused about usage of register: R1 in 'UnsetPending'
err_message["161"] = "认证成功�\130"
-- DECOMPILER ERROR at PC84: Confused about usage of register: R1 in 'UnsetPending'
err_message["162"] = "已登录�\128\130"
-- DECOMPILER ERROR at PC86: Confused about usage of register: R1 in 'UnsetPending'
err_message["201"] = "�\128个或多个设置不正确�\128\130"
-- DECOMPILER ERROR at PC88: Confused about usage of register: R1 in 'UnsetPending'
err_message["206"] = "Dr.COM认证服务器不可达到�\128\130"
-- DECOMPILER ERROR at PC96: Confused about usage of register: R1 in 'UnsetPending'
err_message["230"] = "Dr.COM认证端口绑定失败 (0.0.0.0:" .. tostring(port) .. ")。可能是其它程序占用了此端口�\159"
-- DECOMPILER ERROR at PC98: Confused about usage of register: R1 in 'UnsetPending'
err_message["260"] = "登录超时�\130"
-- DECOMPILER ERROR at PC100: Confused about usage of register: R1 in 'UnsetPending'
err_message["261"] = "用户信息错误�\130"
-- DECOMPILER ERROR at PC102: Confused about usage of register: R1 in 'UnsetPending'
err_message["262"] = "未知的登录错误�\128\130"
if err_code >= Unknown_Type_Error and err_code <= Unknown_Type_Error then
return "[ " .. (os.date)() .. " ] " .. err_message[tostring(err_code)]
else
return err_message[tostring(err_code)]
end
end
main = function()
-- function num : 0_28
dr_init()
auth()
end
main()
|