mIRC 스크립팅 언어
mIRC scripting language![]() |
패러다임 | 이벤트 기반 프로그래밍, 절차적 프로그래밍 |
---|---|
설계자 | 칼레드 마담-비 |
개발자 | 칼레드 마담-비 |
첫 등장 | 1995 |
타이핑 규율 | 동적 타이핑 |
OS | 마이크로소프트 윈도 |
면허증 | 독점 소프트웨어 |
파일 이름 확장명 | .mrc, .ini |
웹사이트 | http://mirc.com |
주요 구현 | |
mIRC 아디IRC[1][2][3] |
mIRC 스크립팅 언어(흔히 비공식적으로 "msL"[3][4]로 약칭)는 Windows용 IRC 클라이언트인 mIRC에 내장된 스크립팅 언어다.
주요 용도
- 모든 유형의 공격(홍수, 스팸, CTCP 홍수 등)에 대한 채널 및 개인 보호
- 대화창은 mIRC에서 만들어 사용자 호환성을 높일 수 있다.
- 인기 있는 mIRC 대화 상자 확장에는 MDX(mIRC 대화 상자 확장)와 DCX(대화 상자 제어 확장)가 포함된다.또한 IRC 해커에 의해 변형된 mdx.dll과 dcx.dll의 몇 가지 버전도 있다.
- 자동 IRC 채널 관리, 트라이비아 또는 기타 게임 및 기타 채팅 담당자에게 원하는 기능을 제공하는 봇.
- 입력을 저장하거나 IRC에서 수명을 단순화하는 명령(예: 별명의 소유자로 자동 식별)
스크립트 저장소
스크립트는 보통 .mrc 파일 확장자를 가진 일반 텍스트 파일 또는 INI 파일로 저장된다.그러나 그것들은 어떤 확장으로도 저장할 수 있다.한 스크립트가 다른 스크립트와 충돌하여 하나 또는 둘 다 더 이상 제대로 작동하지 않는 경우도 있지만 여러 스크립트 파일을 한 번에 로드할 수 있다.
언어 기능
![]() | 이 섹션은 대부분의 독자들이 이해하기에는 너무 기술적일 수 있다..(2012년 8월) (이 를 및 정보를 할 수 하십시오 |
mIRC 스크립팅 언어는 언어 구문을 참조하기 위해 자체 명칭을 사용한다.(단, 이것이 새로 온 사람들에게 조금 혼란스러울 수 있지만, MSL의 기능에는 영향을 미치지 않는다.)
- 내장 함수는 명령어 또는 값을 반환하는 경우 식별자로 불린다.
- 사용자 정의 스크립트로 작성된 함수를 별칭이라고 한다.값을 반환하는 별칭을 사용자 지정 식별자로 알려져 있다.둘 다 기본 제공 명령 및 식별자와 같은 방식으로 명령줄 또는 스크립트의 다른 부분에서 호출되며, 이를 대체하기도 한다.
- 팝업은 스크립트에 사용되는 상황에 맞는 메뉴 항목이다.팝업은 사용자가 선택하면 호출된다.이 용어는 원래 마우스 오른쪽 버튼을 클릭하면 나타나는 메뉴를 가리켰다.그것은 여전히 매뉴얼에서 이런 식으로 사용되고 있다.
- 리모트는 이벤트 처리 스크립트 입니다.리모트는 그들이 처리하는 이벤트가 발생할 때 호출된다.
- 모든 변수는 동적으로 입력된다.
- mIRC 스크립트는 시그널을 사용한다.식별자(사용자 정의 또는 기본 제공 여부) 앞에 다음이 있음
$
, 이항 변수 앞에 다음이 있음&
, 및 기타 변수(로컬 또는 전역)가 선행하는 경우%
. 명령과 별칭은 특정 문자로 선행되지 않는다(창의 명령줄에서 입력하는 경우 일반적으로 명령 접두사 앞에 있어야 함)./
).
파일 처리
- 스크립트를 읽고 파일에 쓸 수 있음 [
$read(file,[args])
/write
]
위 내용은 파일에 대한 단수 접근을 위한 것이다.왜냐하면 매번 발행할때마다$read
또는/write
액세스하기 위해 파일을 열고 닫으십시오.예를 들어 루프를 사용하는 동안 여러 액세스가 가장 잘 처리됨/fopen
,/fwrite
그리고/fclose
. 이렇게 하면 파일이 한 번만 열리기 때문에.경우에 따라서는/filter
그리고/savebuf
훨씬 더 효율적인 방법(스크립트되지 않은 루프)이다.
- 스크립트는 또한 파일을 복사하고 삭제할 수 있다.[
/copy
/remove
]
이항 변수
- 무제한(8192바이트 이전 mIRC 6.1) 원시 데이터 포함
- 명령 및 식별자를 통해 전체적으로 액세스 가능
- 스크립트가 제어 권한을 mIRC(스크립트의 다른 부분 제외)로 반환할 때 자동으로 설정 해제
- 접두사:
&
(예:&Variable
) - 다음 방법 이외에는 액세스할 수 없음
/bread
그리고/bwrite
, 따라서 이러한 변수를 스크립트의 다른 부분으로 전달할 수 없음
해시 테이블
- 무제한 이진 데이터 또는 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 일반 텍스트를 포함할 수 있다.이 제한은 mIRC의 스크립팅 파서 자체 라인 길이 제한에 의해 부과된다(이진 변수를 할당하지 않는 경우).
- 명령 및 식별자를 통해 전체적으로 액세스 가능
- mIRC는 메모리에만 저장되므로 종료 시 자동으로 설정 해제됨
- 나중에 사용하기 위해 저장할 수 있음
- 접두사 없음
- 해시 테이블이 하드 디스크가 아닌 메모리에 저장되므로 파일에서 액세스하는 것보다 빠름
- 컴퓨터의 메모리 제한에 의해서만 제한되는 크기.
- 모든 버킷 크기 사용 허용
전역 변수
- 이름을 포함하여 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 데이터를 포함할 수 있음(그러나 mIRC 스크립팅 파서의 라인 길이 제한으로 인해 /set 또는 /var를 사용하여 최대 4,146바이트를 명시적으로 할당할 수 있음 - 변수 이름이 길어질수록 이 수는 감소함)
- NUL(ASCII 0) 또는 후행 공백을 저장할 수 없음
- 글로벌 액세스 가능
- 스위치를 사용하지 않는 한 자동으로 설정 해제하지 않음(mIRC 초기화 파일에 자동으로 저장됨)
- 접두사:
%
(예:%Variable
) - 다음을 사용하여 작성됨
set
또는 명령하다.var -g
또는%Variable = value
표기법
국부변수
- 변수 이름을 포함하여 최대 4,150바이트(mIRC 6.32 이전 950)바이트의 데이터를 포함할 수 있음(그러나 mIRC 스크립팅 파서의 라인 길이 제한으로 인해 /set 또는 /var 명령을 사용하여 최대 4,146바이트를 명시적으로 할당할 수 있음 - 변수 이름이 길어질수록 이 수는 감소함)
- NUL(ASCII 0) 또는 후행 공백을 저장할 수 있음
- 트리거된 별칭 또는 이벤트가 종료될 때 제거됨
- 접두사:
%
(예:%Variable
) - 다음을 사용하여 작성됨
var
명령하다var
단지 의 내부 가명일 뿐이다.set -l
그렇지만var
하나의 선에 여러 개의 국지 변수를 선언하는 수단을 제시한다(예:var %a = 1, %b, %c = 2
)
제한 사항
- 스크립팅 파서는 줄당 최대 8,292자(mIRC 6.32 이전 950자)의 문자를 지원한다(새 줄이나 들여쓰기는 제외).
- 문자열은 구문적으로 폐쇄되지 않고, 문자열을 의미하는 문자가 언어 구문의 일부로 취급되는 코드에서 모호성을 생성한다.
- 코드의 각 행은 공간 구분 토큰 세트로 분해된다.mIRC의 파서는 null 토큰을 지원하지 않고 언어는 리터럴 문자열을 코드와 명확하게 구별할 수 있는 구문을 제공하지 않기 때문에 mIRC 버전 6.2 이전에는 명령이나 별칭에 연속된 여러 공간을 전달하는 것이 불가능했다.그러나 이는 공간을 보존할 수 있는 returnex 명령어 도입으로 고정되었다.
코드 예제
아래 코드는 원격 스크립트 형식이다.별칭 파일에 넣을 경우 명령 이름 앞에 "을 붙이면 안 된다.alias
". 시험 코멘트는 공통점을 포함한다./* comment */
그리고;comment
.
헬로 월드 별칭의 예는 다음과 같다.
;원격 스크립트에서 'Hello'라는 별칭을 정의하십시오.참고:이 항목이 별칭 스크립트에 배치되면;;;;;;;'alias' 부분을 제거해야 한다(결과: hello);;;usage: /hello 별칭 hello {;Displays(/echo) 'Hello World!'를 활성 창(-a) 에코 -a hello!}에 넣으십시오.
특정 텍스트에 자동으로 응답하는 원격 스크립트
;원격 스크립트에 배치;사용자가 채널에 Hello!를 입력할 때;답변:안녕, [닉네임]!*:TEXT:여보세요!:## msg $chan Hello, $nick $+!};사용자가 개인 메시지에 Hello!를 입력하면;답변:안녕, [닉네임]!*:TEXT:여보세요!:?: {msg $nick Hello, $nick $+!};여기 특정 채널(The Bot 또는 사용자는 *::JOIN:#?: { 모드 $chan +v $nick}; *:Text:die*:#: { .mode $chan +b $nickchan $nick 다시 말하지 마십시오.}
참고 항목
참조
- ^ "Features - AdiIRC - AdiIRC Support/Bugs/Feature Requests". Per Amundsen. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
- ^ "Scripting - AdiIRC - AdiIRC Support/Bugs/Feature Requests". Per Amundsen. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
- ^ a b "mIRC vs AdiIRC detailed comparison as of 2020 - Slant". Parli, Inc. Archived from the original on 2 December 2020. Retrieved 2 December 2020.
- ^ mIRC Scripting Language - WikiChip, WikiChip LLC, archived from the original on 2 December 2020
- 스미스, 크리스.(2004).IRC Hacks의 "Hack #20 스크립팅으로 IRC 자동화": 100개의 산업강도 팁 & 툴폴 머튼, 에드O'Reilly Media, Inc. 페이지 71–74. (스크립트 특징 및 사용의 자세한 예)
- 호세 나자리오(2004) 인터넷 웜에 대한 방어 및 탐지 전략.Artech House, 2004. 페이지 53, 55. (Discuse 1997 mIRC 스크립트 공격)
- 켄 더넘, 짐 멜닉(2008) 악성봇: 인터넷의 사이버 범죄 지하를 들여다보는 인사이드.CRC 프레스. 페이지 7-31. (mIRC-script 기반 멀웨어 봇의 심층 분석/역설계)
- 피터 스조르(2005년).컴퓨터 바이러스 연구와 방어의 기술.피어슨 교육.3.7.7장.
- 데이비드 할리, 로버트 S.비버트(2007년).기업용 AVIEN 멀웨어 방어 가이드.기타 147페이지 (스크립트 공격 사용)
- 에샤레나나 E.아도미(2008)사이버카페를 위한 보안 및 소프트웨어.IGI (Idea Group Inc. 173 페이지)
- 마르쿠스 야콥손, 줄피카 람잔.(2008).크림웨어: 새로운 공격 및 방어에 대한 이해.애디슨 웨슬리 프로페셔널 페이지 194
외부 링크
![]() | Wikibooks에는 mIRC 스크립팅에 관한 책이 있다. |
- 공식 mIRC 웹 사이트
- mIRC 도움말 파일의 온라인 버전
- WikiChip mIRC 페이지 - 주로 mIRC 스크립팅을 위한 Wiki 기반 사용자 유지 관리 도움말 참조
- mIRC 스크립팅 도움말 - 터키어/영어 mIRC 스크립팅 도움말 비공식적