Skriptovací jazyk MIRC - MIRC scripting language
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |
Paradigma | Programování řízené událostmi, Procedurální programování |
---|---|
Navrhl | Khaled Mardam-Bey |
Vývojář | Khaled Mardam-Bey |
Poprvé se objevil | 1995 |
Psací disciplína | Dynamické psaní |
OS | Microsoft Windows |
Licence | Proprietární software |
Přípony názvu souboru | .mrc, .ini |
webová stránka | http://mirc.com |
Hlavní, důležitý implementace | |
mIRC AdiIRC[1][2][3] |

The skriptovací jazyk mIRC (často neoficiálně zkráceno na „mSL"[3][4]) je skriptovací jazyk vloženo do mIRC, an IRC klient pro Okna.
Primární použití
- Ochrana kanálů a osob před jakýmkoli typem útoků (záplavy, spamování, záplavy CTCP atd.).
- V mIRC lze vytvořit dialogová okna, aby lépe sloužila kompatibilitě uživatelů.
- Populární rozšíření dialogů mIRC zahrnují MDX (mIRC Dialog Přnapětí) a DCX (Dialog Control Přnapětí). Existuje také několik verzí mdx.dll a dcx.dll upravených hackery IRC.
- Boti které poskytují automatickou správu IRC kanálů, vědomostní nebo jiné hry a další požadované funkce pro chatující.
- Příkazy, které šetří psaní nebo jinak zjednodušují život na IRC (například automaticky identifikace jako vlastník přezdívky).
Ukládání skriptů
Skripty se ukládají buď jako soubory prostého textu, obvykle s příponou .mrc přípona souboru, nebo jako INI soubory. Mohou však být uloženy s libovolnou příponou. Lze načíst více souborů skriptu najednou, i když v některých případech bude jeden skript v konfliktu s druhým a způsobí, že jeden nebo oba přestanou správně fungovat.
Jazykové funkce
![]() | Tato sekce může být pro většinu čtenářů příliš technická na to, aby je pochopili. Prosím pomozte to vylepšit na aby to bylo srozumitelné pro neodborníky, aniž by byly odstraněny technické podrobnosti. (Srpna 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |
skriptovací jazyk mIRC používá svou vlastní nomenklaturu k označení jazykových konstrukcí. (I když to může být pro nováčky trochu matoucí, nemá to vliv na funkčnost mSL.)
- Integrované funkce se nazývají příkazy nebo, pokud vrátí hodnotu, identifikátory.
- Vlastní skript funkce jsou nazývány aliasy. Aliasy, které vracejí hodnotu, jsou známé jako vlastní identifikátory. Oba jsou volány z příkazového řádku nebo jiných částí skriptu stejným způsobem jako vestavěné příkazy a identifikátory (a mohou je dokonce nahradit).
- Vyskakovací okna jsou skriptované kontextová nabídka položky. Vyskakovací okna jsou volána, když jsou vybrána uživatelem. Termín původně odkazoval na nabídky - které se zobrazí po kliknutí pravým tlačítkem. Tímto způsobem se v příručce stále používá.
- Dálkové ovladače jsou zpracování událostí skripty. Dálkové ovladače jsou volány, když dojde k události, kterou zpracovávají.
- Všechny proměnné jsou dynamicky zadáno.
- skripty mIRC využívají sigily. Před identifikátory (ať už vlastními nebo vestavěnými) předchází
$
, před binárními proměnnými je uvedeno&
a před dalšími proměnnými (ať už lokálními nebo globálními) předchází%
. Příkazy a aliasy nepředchází žádný konkrétní znak (i když při zadání z příkazového řádku okna musí před nimi být předpona příkazu, obvykle/
).
Zpracování souborů
- Skripty mohou číst a zapisovat do souborů [
$ čtení (soubor, [args])
|/psát si
]
Výše uvedené je určeno pro jednotný přístup k souboru. Protože pokaždé, když vydáte $ číst
nebo /psát si
otevřete a zavřete soubor pro přístup. Více přístupů, například během smyčky, je nejlépe zpracovat / fopen
, / fwrite
a / fclose
. Protože se tím otevře soubor pouze jednou. V některých případech /filtr
a / savebuf
je ještě efektivnější metoda (bez skriptované smyčky).
- Skripty mohou také kopírovat a mazat soubory. [
/kopírovat
|/odstranit
]
Binární proměnné
- Obsahují neomezená (8192 bajtů před mIRC 6.1) nezpracovaná data
- Globálně přístupné prostřednictvím příkazů a identifikátorů
- Automaticky zrušit nastavení, když skript vrátí řízení do mIRC (a nikoli do jiné části skriptu)
- S předponou
&
(např.& Variabilní
) - Nelze přistupovat jinak než uživatelem
/chléb
a/ bwrite
, takže tyto proměnné nelze předat do jiných částí skriptu
Hash tabulky
- Může obsahovat neomezená binární data nebo až 4 150 (950 před mIRC 6.32) bajtů prostého textu. Tento limit je dán omezením vlastní délky řádku skriptovacího analyzátoru mIRC (pokud není přiřazena binární proměnná)
- Globálně přístupné prostřednictvím příkazů a identifikátorů
- Automaticky se deaktivuje při ukončení mIRC, protože jsou uloženy pouze v paměti
- Lze uložit pro pozdější použití
- Není předponou
- Rychlejší než přístup ze souboru, protože hash tabulky jsou uloženy spíše v paměti než na pevném disku
- Velikost omezena pouze limity paměti počítače.
- Umožňuje použití jakékoli velikosti kbelíku
Globální proměnné
- Může obsahovat až 4 150 (950 před mIRC 6,32) bajtů dat včetně jeho názvu (vzhledem k omezením délky řádku v skriptovacím analyzátoru mIRC lze pomocí / set nebo / var explicitně přiřadit maximálně 4 146 bajtů - toto číslo klesá jak název proměnné roste)
- Nelze uložit NUL (ASCII 0) nebo koncové mezery
- Globálně přístupné
- Nezastavujte automaticky, pokud není použit přepínač (automaticky uložený v inicializačním souboru mIRC)
- S předponou
%
(např.% Proměnná
) - Vytvořeno pomocí
soubor
příkaz nebovar -g
nebo% Proměnná = hodnota
notace
Místní proměnné
- Může obsahovat až 4 150 (950 před mIRC 6.32) bajtů dat včetně názvu proměnné (vzhledem k omezením délky řádku v skriptovacím analyzátoru mIRC lze pomocí příkazů / set nebo / var explicitně přiřadit maximálně 4 146 bajtů - toto číslo klesá, jak název proměnné roste)
- Může ukládat NUL (ASCII 0) nebo koncové mezery
- Jsou zničeny, když spuštěný alias nebo událost skončí
- S předponou
%
(např.% Proměnná
) - Vytvořeno pomocí
var
příkaz.var
je pouze interní alias proset -l
alevar
představuje prostředek k deklaraci více lokálních proměnných na jednom řádku (např.var% a = 1,% b,% c = 2
)
Omezení
- Analyzátor skriptů podporuje maximálně 8 292 (950 před mIRC 6.32) znaků na řádek (bez nových řádků nebo odsazení).
- Řetězce nejsou syntakticky uzavřeny, což vytváří nejednoznačnosti v kódu, kde se s postavami, které se myslí jako doslovné řetězce, zachází jako s částí jazyka syntax.
- Každý řádek kódu je rozdělen na sadu tokenů oddělených mezerou. Protože analyzátor mIRC nepodporuje nulové tokeny a jazyk neposkytuje syntaxi, která by jasně odlišovala řetězcové řetězce od kódu; Před verzí mIRC 6.2 nebylo možné předat více po sobě jdoucích mezer jakémukoli příkazu nebo aliasu. To však bylo opraveno zavedením příkazu returnex, který umožňuje zachování mezer.
Příklady kódu
Níže uvedený kód je ve formátu vzdálených skriptů. Pokud je umístěn do souboru aliasu, nemělo by před názvy příkazů předcházet slovo „alias
". Testovací komentáře zahrnují běžné /* komentář */
a ;komentář
.
Zde je příklad a Ahoj světe alias:
; Definuje alias 'hello' ve vzdáleném skriptu; Poznámka: pokud je tento umístěn v aliasovém skriptu,; část 'alias' musí být odstraněna (výsledek: hello {); Použití: / helloalias hello {; Zobrazí (/ echo ) 'Ahoj světe!' do aktivního okna (-a) echo -a Hello World!}
Vzdálený skript pro automatickou odpověď na určitý text
; Umístěno do vzdáleného skriptu; Když uživatel zadá Hello! v kanálu,; odpovíte zpět: Dobrý den, [přezdívka]! na *: TEXT: Dobrý den!: #: {msg $ chan Dobrý den, $ nick $ +! }; Když uživatel zadá Hello! v soukromé zprávě;; odpovíte zpět: Dobrý den, [přezdívka]! na *: TEXT: Dobrý den!:?: {msg $ nick Dobrý den, $ nick $ +! }; Zde je skript, který automaticky dává hlas uživateli; kdo se připojí ke konkrétnímu kanálu (Bot nebo uživatel by měl mít HOP) na *: JOIN: # ?: {mode $ chan + v $ nick}; Špatné slovo scripton *: Text: die *: #: {.mode $ chan + b $ nick | nakopnout $ chan $ nick Neříkej to znovu}
Viz také
Reference
- ^ „Funkce - AdiIRC - Podpora AdiIRC / Chyby / Žádosti o funkce“. Per Amundsen. Archivovány od originál dne 2. prosince 2020. Citováno 2. prosince 2020.
- ^ „Skriptování - AdiIRC - Podpora AdiIRC / Chyby / Žádosti o funkce“. Per Amundsen. Archivovány od originál dne 2. prosince 2020. Citováno 2. prosince 2020.
- ^ A b "mIRC vs AdiIRC podrobné srovnání od roku 2020 - Slant". Parli, Inc. Archivovány od originál dne 2. prosince 2020. Citováno 2. prosince 2020.
- ^ mIRC skriptovací jazyk - WikiChip, WikiChip LLC, archivovány z originál dne 2. prosince 2020
- Smith, Chris. (2004). "Hack # 20 Automatizovat IRC skriptováním" ve Windows IRC Hacks: 100 průmyslových tipů a nástrojů. Paul Mutton, ed. O'Reilly Media, Inc. str. 71–74. (Podrobný příklad funkcí a použití skriptu)
- Jose Nazario (2004)Obranné a detekční strategie proti internetovým červům. Artech House, 2004. str. 53, 55. (Diskutuje o útoku skriptu mIRC z roku 1997.)
- Ken Dunham, Jim Melnick (2008) Malicious Bots: An Inside Look into the Cyber-Criminal Underground of the Internet. CRC Press. p. 7-31. (Hloubková analýza / reverzní inženýrství malwarového robota založeného na mIRC skriptu)
- Peter Szor (2005). Umění výzkumu a obrany počítačových virů. Pearson Education. Ch. 3.7.7.
- David Harley, Robert S. Vibert (2007). AVIEN Malware Defense Guide for the Enterprise. Elsevier. p. 147. (použití při útocích na skripty)
- Esharenana E. Adomi (2008). Zabezpečení a software pro Cybercafés. Idea Group Inc (IGI). p. 173.
- Markus Jakobsson, Zulfikar Ramzan. (2008). Crimeware: Porozumění novým útokům a obranám. Addison-Wesley Professional. p. 194.
externí odkazy
- Oficiální web mIRC
- Online verze souboru nápovědy mIRC
- Stránky mIRC WikiChip - Uživatelsky udržovaná referenční nápověda založená na Wiki primárně pro skriptování mIRC
- Skripty mIRC na Curlie
- Nápověda skriptování mIRC - Turecká / anglická mIRC skriptování Nápověda neoficiální