2016-01-05 127 views
2

我不使用Lua和我试图互联网上搜索,这是什么做:Lua的Base64编码

assert`(load(Base64Decode(==BASE64 Script but is not Encoded like usualy==), nil, "bt", _ENV))().` 

每个编码的消息G0x........==开始。 我试过数学解码,但我什么也做不了。

那么,有什么帮助?

+0

也许,提供更多信息?哪个模块提供'Base64Decode'功能? – hjpotter92

+0

@ hjpotter92,这只能在该文件中考虑。没有更多: – ChrystianSandu

+0

你是什么意思“没有编码像平时”这些脚本从哪里来?这些脚本应该运行什么?标准lua解释器?某些游戏? –

回答

3

轻松找到一个解决方案googling它。连续提出许多问题可能会导致暂时的“询问停用”,您不能问任何问题。我们可能需要更多的信息,但是,通过标题,我想你想从Base64进行编码和解码。来源:lua-users wiki: Base64

local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/' -- You will need this for encoding/decoding 
-- encoding 
function enc(data) 
    return ((data:gsub('.', function(x) 
     local r,b='',x:byte() 
     for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end 
     return r; 
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x) 
     if (#x < 6) then return '' end 
     local c=0 
     for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end 
     return b:sub(c+1,c+1) 
    end)..({ '', '==', '=' })[#data%3+1]) 
end 

-- decoding 
function dec(data) 
    data = string.gsub(data, '[^'..b..'=]', '') 
    return (data:gsub('.', function(x) 
     if (x == '=') then return '' end 
     local r,f='',(b:find(x)-1) 
     for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end 
     return r; 
    end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x) 
     if (#x ~= 8) then return '' end 
     local c=0 
     for i=1,8 do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0) end 
      return string.char(c) 
    end)) 
end 

这应该有所帮助。 〜TheCrimulo