Tråd bedømmelse:
  • 1 Stemmer - 5 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Kom i gang med Lua scripting
12-04-2015, 14:36 (Denne besked var sidst ændret: 14-04-2015, 21:50 af iTick.)
#1
Kom i gang med Lua scripting
Formål:
Dette er ikke en guide i scripting, men en lille opslagsting, der forhåbentlig kan få andre i gang med at programmere,
derfor har jeg også undladt at kommentere koden. Det burde umiddelbart være læsligt, uden at kende sproget.
Og jeg anbefaler selvfølgelig, at søge på google og andre steder, før man spøger. Man falder ofte over noget interessant,
der kan give noget tillægsviden.
Jeg er ikke ekspert i sproget, og det er lavet for at være simpelt og let at forstå, så der vil uden tvivl være ting,
der er smartere eller bedre gjort på andre måder.
Det kan bare virke demotiverende, når man er helt ny til programmering, hvis man og skal overholde kodestandarder.
Sprog ændrer sig også med tiden, og tingene skal pludselig gøres anderledes.
Det er efter min opfattelse vigtigst at få det til at virke og få lidt rutine, så kan man finpudse det bag efter.
Jeg dækker absolut heller ikke det hele, men har taget lidt forskelligt med, og det burde være nok til at komme i gang.
Huske at alle sprog har nogle små kinks og triks. Disse er heller ikke taget med. Dette er heller ikke til eksperterne. :)

Alle scriptene kan startes direkte fra en linux konsol. Nogle sprog kan også benyttes på windows, men disse virker i hvert fald på linux.
Først skal man nok lige give brugertilladelse til, at scriptet må eksekveres. Dette gøres med:
$ chmod u+x <scriptnavn>
$ ./<scriptnavn>


Det klassiske Hello World eksempel:
 
#!/usr/bin/lua

-- Lua Hello World
-- Fil: helloworld.lua

print("Hello World")


Et eksempel på en for loop
 
#!/usr/bin/lua

-- Lua for
-- fil: for.lua

for i = 1, 10, 1 do
print(i)
end

j = 1
repeat
print(j)
j = j + 1
until j > 10


Et eksempel på en while loop
 
#!/usr/bin/lua

-- Lua while
-- fil: while.lua

local i = 1
while i < 10 do
print(i)
i = i + 1
end


Et eksempel på brugen af if/then/else:
 
#!/usr/bin/lua

-- Lua if
-- fil: if.lua

a = 0
if a < 2 then
print("Lavere")
end

a = 5
if a < 4 then
print("Lav")
else
print("H0j")
end

a = 4
if a < 4 then
print("Lav")
elseif a == 4 then
print("Mellem")
else
print("H0j")
end


Et eksempel på et script der får brugerinput:
 
#!/usr/bin/lua

-- Lua input
-- fil: input.lua

a = io.read("*l")
print(a)


Et eksempel på et script der bliver kaldt med argumenter:
 
#!/usr/bin/lua

--[[
Lua arguments
Fil: arg.lua
Kald scriptet med ./arg.lua 1 2
]]--

print(arg[1])
print(arg[2])


Et eksempel på en funktion:
 
#!/usr/bin/lua

-- Lua funktioner
-- Fil: function.lua

function enfunktion (a)
print(a)
end

print("Uden for funktionen")
enfunktion("I funktionen")


Et eksempel på et script der forbinder til et website:
 
#!/usr/bin/lua

-- Lua networking
-- Fil: network.lua

local socket = require "socket"

c = assert(socket.connect("google.dk", 80))
c:send("GET / HTTP/1.0\r\n\r\n")

while true do
local s, status, partial = c:receive(2^10)
io.write(s or partial)
if status == "closed" then break end
end


Link:
www.lua.org
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)