2016-01-05 126 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