mIRC scripting sprog - mIRC scripting language
| Paradigme | Begivenhedsdrevet programmering , Procedurel programmering |
|---|---|
| Designet af | Khaled Mardam-Bey |
| Udvikler | Khaled Mardam-Bey |
| Først dukkede op | 1995 |
| Skrive disciplin | Dynamisk typning |
| OS | Microsoft Windows |
| Licens | Proprietær software |
| Filnavneudvidelser | .mrc, .ini |
| Internet side | http://mirc.com |
| Større implementeringer | |
| mIRC AdiIRC | |
Den scriptsprog mIRC (ofte uofficielt forkortet til " MSL ") er det scriptsprog indlejret i mIRC , en IRC -klient til Windows .
Primære anvendelser
- Kanal- og personlig beskyttelse mod enhver form for angreb (oversvømmelse, spamming, CTCP-oversvømmelser osv.).
- Dialogvinduer kan oprettes i mIRC for bedre at betjene brugerkompatibilitet.
- Populære mIRC dialogen udvidelser omfatter MDX ( m IRC D ialog Ex spænding) og DCX ( D ialog C egulering Ex spænding). Der er også et par versioner af mdx.dll og dcx.dll modded af IRC hackere.
- Bots, der giver automatisk IRC-kanaladministration, trivia eller andre spil og andre ønskede funktioner til chatters.
- Kommandoer, der sparer indtastning eller på anden måde forenkler livet på IRC (f.eks. Automatisk identificering som ejer af et kaldenavn).
Opbevaring af script
Scripts gemmes som enten almindelige tekstfiler, som regel med en .mrc filtypenavn , eller som INI-filer . De kan dog gemmes med enhver udvidelse. Flere scriptfiler kan indlæses ad gangen, men i nogle tilfælde vil et script komme i konflikt med et andet og få en eller begge til ikke længere til at fungere korrekt.
Sprogfunktioner
mIRC-skriptsprog bruger sin egen nomenklatur til at henvise til sprogkonstruktioner. (Selvom dette kan være lidt forvirrende for nybegyndere, påvirker de ikke funktionaliteten af mSL.)
- Indbyggede funktioner kaldes kommandoer eller, hvis de returnerer en værdi, identifikatorer .
- Brugerdefinerede scriptede funktioner kaldes aliaser . Aliasser, der returnerer en værdi, kaldes brugerdefinerede identifikatorer . Begge kaldes fra kommandolinjen eller andre dele af et script på samme måder som indbyggede kommandoer og identifikatorer (og kan endda erstatte dem).
- Popups er scriptede genvejsmenupunkter . Popups kaldes, når de vælges af brugeren. Udtrykket henviste oprindeligt til menuerne - som dukker op ved et højreklik. Det bruges stadig på denne måde i manualen.
- Fjernbetjeninger er scripts til håndtering af begivenheder . Fjernbetjeninger kaldes, når den begivenhed, de håndterer, finder sted.
- Alle variabler er dynamisk skrevet .
- mIRC-scripts gør brug af sigils . Forud for identifikatorer (uanset om det er brugerdefineret eller indbygget), forud for
$binære variabler&, og andre variabler (hvad enten lokale eller globale) er forud for%. Kommandoer og aliaser er ikke forud for et bestemt tegn (selvom det normalt indtastes fra kommandolinjen i et vindue/).
Filhåndtering
- Scripts kan læse fra og skrive til filer [
$read(file,[args])|/write]
Ovenstående er beregnet til entydig adgang til filen. Fordi hver gang du udsteder $read eller /write åbner og lukker filen for at få adgang. Flere adgange, f.eks. Under en sløjfe, håndteres bedst gennem /fopen , /fwrite og /fclose . Da dette kun åbner filen en gang. I nogle tilfælde /filter og /savebuf er en endnu mere effektiv (ikke Scripted sløjfe) metode.
- Scripts kan også kopiere og slette filer. [
/copy|/remove]
Binære variabler
- Indeholder ubegrænsede (8192 bytes før mIRC 6.1) rådata
- Globalt tilgængelig via kommandoer og identifikatorer
- Frakobles automatisk, når scriptet returnerer kontrol til mIRC (og ikke til en anden del af et script)
- Præfiks med
&(f.eks.&Variable) - Der er ikke adgang til andet end af
/breadog/bwriteså disse variabler kan ikke videregives til andre dele af scriptet
Hash-tabeller
- Kan indeholde ubegrænsede binære data eller op til 4.150 (950 før mIRC 6.32) byte med almindelig tekst. Denne grænse pålægges af mIRCs scripting parsers egen linjelængdebegrænsning (medmindre der tildeles en binær variabel)
- Globalt tilgængelig via kommandoer og identifikatorer
- Frakobles automatisk, når mIRC afsluttes, da de kun er gemt i hukommelsen
- Kan gemmes til senere brug
- Ikke præfiks
- Hurtigere end adgang fra en fil, da hash-tabeller gemmes i hukommelsen snarere end harddisken
- Størrelse begrænses kun af computerens hukommelsesgrænser.
- Tillader, at enhver skovlstørrelse bruges
Globale variabler
- Kan indeholde op til 4.150 (950 forud for mIRC 6.32) data bytes inklusive dets navn (dog på grund af linjelængdebegrænsninger i mIRCs scripting parser, kan maksimalt 4.146 bytes tildeles eksplicit ved hjælp af / set eller / var - dette antal falder da variabelens navn bliver længere)
- Kan ikke gemme NUL (ASCII 0) eller efterfølgende mellemrum
- Globalt tilgængelig
- Afbryd ikke automatisk, medmindre der bruges en switch (gemmes automatisk i en mIRC-initialiseringsfil)
- Præfiks med
%(f.eks.%Variable) - Oprettet ved hjælp af
setkommandoen ellervar -geller%Variable = valuenotationen
Lokale variabler
- Kan indeholde op til 4.150 (950 forud for mIRC 6.32) data byte inklusive variabelnavnet (dog på grund af linjelængdebegrænsninger i mIRCs scripting parser, kan maksimalt 4.146 bytes tildeles eksplicit ved hjælp af kommandoerne / set eller / var - dette antal falder, når variabelens navn bliver længere)
- Kan gemme NUL (ASCII 0) eller bageste mellemrum
- Ødelægges, når det udløste alias eller begivenhed slutter
- Præfiks med
%(f.eks.%Variable) - Oprettet ved hjælp af
varkommandoen.varer blot et internt alias for,set -lmenvarudgør midlerne til at erklære flere lokale variabler på en enkelt linje (f.eks.var %a = 1, %b, %c = 2)
Begrænsninger
- Scripting parser understøtter maksimalt 8.292 (950 før mIRC 6.32) tegn pr. Linje (ekskl. Nye linjer eller indrykning).
- Strenge er ikke syntaktisk lukket, hvilket skaber uklarheder i kode, hvor tegn, der menes som bogstavelige strenge, behandles som en del af sprogets syntaks .
- Hver linje kode opdeles i et sæt pladsafgrænsede tokens. Da mIRCs parser ikke understøtter null-tokens, og sproget ikke giver en syntaks, der klart skelner mellem bogstavelige strenge og kode; Før mIRC version 6.2 var det umuligt at videregive flere på hinanden følgende mellemrum til nogen kommando eller alias. Dette blev dog rettet med indførelsen af returnex-kommandoen, som tillader bevarelse af rum.
Kodeeksempler
Koden nedenfor er i det eksterne scriptsformat. Hvis de placeres i en aliasfil, skal kommandonavnene ikke forud for ordet " alias ". Testkommentarer inkluderer det fælles /* comment */ og ;comment .
Her er et eksempel på et Hello World- alias:
;Defines the alias 'hello' in the remote script
;Note: if this is placed in an alias script,
;the 'alias' part must be removed (result: hello {)
;Usage: /hello
alias hello {
;Displays(/echo) 'Hello World!' into the active window(-a)
echo -a Hello World!
}
Et eksternt script, der automatisk reagerer på bestemt tekst
;Placed in a remote script
;When a user types Hello! in a channel,
;you answer back: Hello, [nickname]!
on *:TEXT:Hello!:#:{ msg $chan Hello, $nick $+ ! }
;When a user types Hello! in a private message,
;you answer back: Hello, [nickname]!
on *:TEXT:Hello!:?: { msg $nick Hello, $nick $+ ! }
;Here is a script which automatically gives voice to a user
;who joins a particular channel (The Bot or user should have HOP)
on *:JOIN:#?: { mode $chan +v $nick }
;A bad word script
on *:Text:die*:#: { .mode $chan +b $nick | kick $chan $nick Dont say that again }
Se også
Referencer
- Smith, Chris. (2004). "Hack nr. 20 automatiserer IRC med scripting" i IRC-hacks: 100 tip og værktøjer til industriel styrke . Paul Mutton, red. O'Reilly Media, Inc. s. 71–74. (Dybtgående eksempel på scriptfunktioner og -brug)
- Jose Nazario (2004) Forsvars- og opdagelsesstrategier mod internetorme . Artech House, 2004. s. 53, 55. (Diskuterer mIRC-scriptangreb 1997).
- Ken Dunham, Jim Melnick (2008) Ondsindede bots: Et indvendigt blik på internetkriminel undergrund . CRC Tryk. s. 7-31. (Dybdegående analyse / reverse engineering af mIRC-script-baseret malware bot)
- Peter Szor (2005). Kunsten om computervirusforskning og forsvar . Pearson Uddannelse. Ch. 3.7.7.
- David Harley, Robert S. Vibert (2007). AVIEN Malware Defense Guide for Enterprise . Elsevier. s. 147. (brug i scriptangreb)
- Esharenana E. Adomi (2008). Sikkerhed og software til cybercaféer . Idea Group Inc (IGI). s. 173.
- Markus Jakobsson, Zulfikar Ramzan. (2008). Crimeware: Forståelse af nye angreb og forsvar . Addison-Wesley Professional. s. 194.
eksterne links
- Officiel mIRC-webside
- Online version af mIRC hjælpefilen
- WikiChip mIRC-sider - En Wiki-baseret bruger-vedligeholdt reference, primært til mIRC-scripting
- mIRC Scripting Help - Tyrkisk / engelsk mIRC Scripting Help inofficial