Questi eventi devono
essere scritti nei remote ed usano la seguente sintassi:
ctcp <livello>:<matchtext>:<*|#|?>:<comandi>
Il "LIVELLO" è appunto il livello d'accesso
richiesto, "matchtext" il comando CTCP, "*
# ?" specifica il luogo (* = ovunque, # = nel canale,
? = nelle query), mentre "COMANDI" sono i comandi
che verranno attivati alla realizzazione di quel determinato
evento.
Esempi
Gli esempi seguenti dovrebbero darvi un'idea su come creare
semplici eventi CTCP.
ctcp 1:aiuto:*:/msg $nick che ti serve esattamente?
Analizziamo insieme questo esempio: "1" è
il livello dell'utente (in questo caso sta per chiunque),
"aiuto" è il comando CTCP e "*"
il luogo (ovunque). Quindi se un utente vi farà questo
CTCP, voi gli risponderete con un messaggio nel quale gli
chiederete cosa gli serve esattamente.
Dare lo stato di operatore ad un amico
=5:*!guerrjero@tuttoirc.it
(Come aggiungere un utente in una determinata lista lo
vedremo nella sezione User List. Comunque poniamo il caso
che l'utente sopra descritto sia stato aggiunto come utente
di livello =5).
ctcp 5:oppami:?: /mode $2 +o $nick
ctcp 5:invitami:?: /invite $nick $2
Questo permetterebbe ad un utente di livello 5, attraverso
il comando /ctcp nickname oppami #TuttoIrc, di farsi oppare
da noi nel canale citato, a condizione naturalmente che
noi abbiamo lo stato di OP. Nel secondo caso invece, attraverso
il comando /ctcp nickname invitami #TuttoIrc, inviteremo
il nostro amico nel canale richiesto.
N.B.
Dando il livello =5 ad un certo utente, lo si limita ad
avere accesso solo agli eventi di livello 5. Mentre dandogli
il livello 5 avrebbe potuto accedere oltre che agli eventi
del suo livello anche a quelli di livello più basso.
Modificare le risposte dei CTCP standard
I CTCP standard sono per esempio TIME, VERSION, PING, FINGER
ctcp 1:ping:?:{ /notice $nick Aiah! | /halt }
Ad un CTCP ping fatto da un qualsiasi utente verrà
risposto con un notice con scritto "Aiah!". Il
comando /halt serve per non far proseguire lo script nella
lettura. In questo caso impedisce quindi la risposta standard
al CTCP ping.
ctcp 1:time:?:{ /notice $nick La prossima volta guarda
in basso a destra, cmq sono le $time | /halt }
Questo risponderà alla richiesta del CTCP time,
aggiungendo prima la nostra comunicazione.
N.B.
La risposta al CTCP version non può essere bloccata.
Essere avvertiti dei CTCP effettuati sul proprio sistema
Non so se vi è mai capitato di usare alcuni script
che vi avvertivano dei ctcp effettuati sul vostro sistema.
Comunque se siete interessati ad inserire questi eventi
nel vostro script proseguite nella lettura:
ctcp 1:PING:{ //echo -a __4 $nick ha eseguito un CTCP Ping
su di te }
Naturalmente potete arricchire il tutto con suoni, scritte
colorate, e tutto quello che più vi piace.
Come avete visto si possono eseguire anche CTCP che non
sono standard, allora come sapere di che CTCP si tratta?
Semplice, basta scrivere:
ctcp 1:*:{ .set %ctcpnome $1- | //echo -a __4 $nick ha
eseguito un ctcp
%ctcpnome su di te }
Ossia: se un qualsiasi utente effettua un qualsiasi CTCP
su di me, setta il nome del CTCP ($1-) con la variabile
%ctcpnome e poi scrivi il tutto nella finestra attiva. Davanti
ad echo è inserito // per forzare la lettura del
codice e quindi scrivere il valore di %ctcpnome al posto
della semplice parola %ctcpnome.
Controllare il mIRC da remoto
Le informazioni qui riportate sono usate molto spesso da
ircwarrior (o lamer ;)) per creare backdoors.
Queste backdoors molto spesso sono difficili da individuare,
in quanto sfruttano direttamente la porta del mIRC, non
aprendone altre.
100:*!guerrjero@tuttoirc.it
ctcp 100:quit:?:{ /notice Ok capo, ora esco, ci vediamo
dopo $nick! | /quit
}
Penso che qui le spiegazioni servano a poco... comunque
$nick è chi effettua il CTCP e /quit è il
comando usato per uscire (ricordo che nelle ultime versioni
del mIRC, al comando /quit segue un dialog di conferma).
ctcp 100:send:?:/dcc send $nick $1-
Questo script serve per farsi spedire un determinato file
attraverso una DCC Send, il file però deve essere
presente nella cartella del mIRC. L'evento in considerazione
viene attivato attraverso il comando /ctcp nickname send
nomefile.txt.
ctcp 100:*:?:$1-
Attraverso questo vi è permesso di eseguire qualsiasi
comando. Capite da soli la pericolosità di questo
ctcp. Praticamente anche altri utenti potrebbero avere accesso
al vostro PC, ed utilizzarlo a loro piacimento. Un esempio
di utilizzo, non pericoloso, potrebbe essere /ctcp nickname
echo Ciao!. Che eseguirà il comando echo Ciao.
Wildcards e Variabile
ctcp 1:*aiuto*:#:/notice $nick di che hai bisogno?
Usando i caratteri wildcard * e ?, potete fare in modo
che la risposta si attivi anche nel caso in cui nel CTCP
è presente il termine citato. Quindi, per fare un
esempio, se un utente scrive /ctcp vostronick ho bisogno
d'aiuto. Voi gli risponderete con un notice con scritto
nickname di che hai bisogno?
ctcp 1:%password:?: /notice $nick il suo accesso è
autorizzato
Usando una variabile nella sezione del matchtext, siete
liberi di cambiare il suo valore quando volete, senza dover
cambiare l'intero evento. Quindi se voi settate la variabile
%password con "entra", ed un utente vi fa un CTCP
vostronick "entra" lo script avvierà i
comandi designati; in questo caso verrà avvertito
con un notice.
|