티스토리 뷰
[ Lua Script ]
- 1993년 개발된 프로그래밍 언어. 이름은 달을 의미하는 포르투갈어 단어라고 한다. 스크립트 언어를 하나의 목적으로 가지고 있기 때문에 굉장히 작고 가벼운 인터프리터형 언어이다. 현재 안정버전은 5.3
태생 자체가 가벼운 스크립트 언어이며, C/C++에 접착시키기 매우 쉽다. 개발 과정에 있어서 재컴파일이나 리로딩없이 바로 설정 변화를 적용할 수 있는 점 때문에 특히 게임업계에서 많이 쓰인다.
- Python, Ruby 같은 스크립트 언어
- 다른 스크립트 언어보다 가볍다
- 프로그램에 내장되는 스크립트이다.
- 프로그램과 통신이 가능하다(데이터 교환, API 상호 호출)
- C, C++ 언어에 이식하기 편하다.
- 가비지 컬렉터가 있다.
* 가벼움
인터프리터(또는 후술할 JIT 컴파일러)의 용량이 300kb도 안 될 정도로 작고 굉장히 빠르다. 굉장히 적은 수의 데이터형만을 지원하긴 하지만 그만큼 가볍다. 다양한 프로그램에 쉽게 붙일 수 있는 이유도 용량과 속도의 부담이 적기 때문. 그러면서도 다양한 패러다임을 가지고 있는데, 절차적으로도, 객체지향적으로도, 함수형으로도 이용할 수 있다.
* 문법
- Lua의 변수는 기본적으로 전부 전역 변수. ex) suspect = 1(전역변수), local suspect = 1(지역변수)
- nil => 다른언어의 Null과 같음. ex) suspect = nil
- boolean => true, false
- string => 문자열 처리에 강함(아직 Python에 익숙해서 Python이 더 좋은듯..)
- number => 정수와 소수 구분 X, 모든 숫자를 실수형으로 처리
- table => C++의 std:map, Python의 dict와 유사한데, Lua의 최고의 장점이라고 할 수 있다. number형과 string 형을 모두 인덱스 할 수 있고, 크기가 고정되어 있지 않으며, 값과 변수가 아닌 객체이다.
* 다른 언어와 달리 0이 아닌, 1부터 시작한다.
- 명령문 (if)
if (조건식) than (실행문)
else if (조건식) than (실행문)
else (실행문)
end
- 명령문 (while)
while (조건식) do
(실행문)
end
- 명령문 (repeat)
C++의 do ~ while과 유사
repeat
(실행문)
until (조건식)
- 명령문 (numberic for)
for (초기화), (조건식), (증감) do
(실행문)
end
증감을 생략하면 자동으로 1씩 증가
- 명령문 (generic for)
table의 요소를 한 번에 하나씩 접근할 때 주로 사용
pairs() / ipairs() 함수와 함께 사용
ex) days = {"a", "b", "c"}
for index, value in pairs(days) do
print(index, value)
end
result : 1 a
2 b
3 c
- 함수
function 함수이름(인자)
함수내용..
return 반환값
end
[ 설치 방법 ]
1. 아래의 좌표에서 다운로드를 받는다.
https://code.google.com/p/luaforwindows/
2. 다운로드 받은 설치파일을 실행하여 설치 하기
Telegram을 이용해서 Bot을 하나 만들어보려고 계획중에 Lua Script를 알게 되었습니다.
Python 찬양자인 저로서는 Lua가 그렇게 끌리진 않지만, Telegram Bot을 만들 때 사용해보려고 합니다.
- Total
- Today
- Yesterday
- idapython
- 해킹메일
- Bisonal
- 출처 : Do it 안드로이드 프로그래밍
- 멋쟁이사자처럼 4기
- infostealer
- Yara
- malware
- Static Analysis Engine
- AMSI
- vuln
- keylogger
- koodous
- 악성코드
- Cisco Talos
- us-cert
- Flybits
- 위협정보공유
- 스피어피싱
- 한글악성코드
- MS-Office
- CVE-2018-0798
- CVE-2018-9375
- cuckoo-sandbox
- Kimsuky
- .wll
- 비트코인
- Servey
- Decoding
- VirusBulletin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |