begin process at 2010 03 16 22:16:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > STEGBMP (STEGANOGRAPHIE)

STEGBMP (STEGANOGRAPHIE)


 Information sur la source

Note :
9,67 / 10 - par 6 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Classé sous :steganographie, binvar, bitmap, masquer, bit Niveau :Débutant Date de création :01/01/2006 Date de mise à jour :10/01/2006 22:05:43 Vu / téléchargé :4 013 / 273

Auteur : fjxokt

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Salut à tous,
je vous propose un add-on de stéganographie, c'est à dire un add-on permettant de masquer des fichiers à l'interieur de fichiers bitmap (.bmp)
Il est possible de masquer n'importe quel type de fichier, bien evidemmement, plus il sera lourd, plus ce sera long, et plus l'image sera "alterée"
En deux mot, le principe repose sur le masquage d'informations en remplaçant les bits de poids faibles des pixels d'une image par les bits du document a masquer: L'image reste lisible, malqué un déterioration plus ou moins visible dûe a la substitution de bits

Vous pouvez masquer des fichiers jusqua 1Mo (0,99 pour être précis) mais un conseil, n'allez pas au dessus de 100ko, n'oubliez que le mirc, c'est lent ;-)

J'ai copié le code ci dessous mais il vaut mieux telecharger le zip qui contient l'aide, masqué dans l'image exemple.bmp

[code édité deux fois]

Source

  • ;;;;;;;;;;;;;;;;;;;
  • ;stegBMP v1 ;
  • ;fjxokt ;
  • ;fjxokt@gmail.com ;
  • ;;;;;;;;;;;;;;;;;;;
  • on *:load:{
  • if $version < 6.12 { echo -a Version de mirc trop ancienne. L'add-on ne peut être installé | halt }
  • if (!$isdir($dire(rec))) mkdir $q($dire(rec))
  • if (!$isdir($dire(por))) mkdir $q($dire(por))
  • echo -a stegBMP installé ! Tapez /stegBMP pour l'utiliser
  • }
  • on *:unload:{
  • if ($input(Voulez-vous supprimer les dossiers par défaut contenant les images porteuses et les fichiers récupérés ?,iy,Déchargement de l'add-on...)) {
  • .echo -q $findfile($dire(rec),*,0,.remove $q($1-))
  • .echo -q $findfile($dire(por),*,0,.remove $q($1-))
  • rmdir $q($dire(rec))
  • rmdir $q($dire(por))
  • }
  • }
  • ;#DIALOG ET EVENT
  • dialog steg_dial {
  • title "StegBMP v1"
  • size -1 -1 264 185
  • option dbu
  • box "Demasquage", 1, 126 5 118 36
  • box "Masquage", 2, 3 59 119 110
  • text "Chemin vers l'image support :", 3, 9 68 71 9
  • button "...", 4, 9 78 13 9
  • edit "", 5, 29 77 85 11, autohs
  • edit "", 6, 154 25 85 11, autohs
  • button "...", 7, 131 26 13 9
  • text "Chemin vers l'image support", 8, 131 15 71 9
  • text "Chemin vers le fichier à masquer :", 9, 9 91 82 8
  • button "...", 10, 9 101 13 9
  • edit "", 11, 29 100 86 11, autohs
  • button "&OK", 14, 182 46 29 11
  • button "Fermer", 15, 215 46 29 11, cancel
  • text "Codage sur ", 16, 9 117 29 8
  • combo 17, 40 115 20 40, size drop
  • text "bit par octet", 18, 63 117 41 8
  • button "Masquer", 19, 16 21 37 12, flat
  • button "Demasquer", 20, 71 21 37 12, flat
  • button "&GO", 21, 59 172 29 11
  • button "Fermer", 22, 93 172 29 11, cancel
  • text "Choisissez l'option à effectuer", 23, 16 8 100 10
  • edit "", 24, 16 41 92 10, read
  • text "Nom du fichier de sortie :", 12, 9 144 82 8
  • edit "", 13, 9 153 86 11
  • text "Ecrire tous les", 25, 9 131 36 8
  • combo 26, 46 129 20 50, size edit drop limit 2
  • text "octets", 27, 69 131 19 10
  • }
  • on 1:dialog:steg_dial:*:*:{
  • if ($devent == init) { did -ca $dname 17 1 | didtok $dname 17 32 2 4 | did -ca $dname 26 12 | didtok $dname 26 32 3 6 9 }
  • elseif ($devent == sclick) {
  • if ($did isin 4710) stegano.sel $did
  • elseif ($did == 19) stegano_dial.hide
  • elseif ($did == 20) stegano_dial.read
  • elseif ($did == 14) stegano.read
  • elseif ($did == 21) stegano.hide
  • elseif ($did == 17) did -ra $dname 18 $+(bit,$iif($did(17) != 1,s)) par octet
  • }
  • }
  • ;#ALIAS ECRITURE FICHIER
  • alias -l stegano.hide {
  • var %ticks $ticks , %d steg_dial , %fs $d(13) , %fm $d(11) , %bo $d(17) , %dec $d(26)
  • if (!%fs || !%fm || !%dec) { print Tous les champs doivent être remplis | halt }
  • elseif (%dec < 3) { print Espace d'ecriture minimum = 3 | halt }
  • elseif (!$regex($d(5),(\.bmp)$)) { print L'image n'est pas du format BITMAP | return }
  • elseif (!$bpp($d(5))) { print L'image doit être en 24 bits/pixel | halt }
  • elseif ($file($d(5)) < $stegano.len) { print Taille necessaire: $v2 octets ! | halt }
  • .copy $q($d(5)) %fs
  • set %seek 55
  • print Ecriture du header...
  • ;signature
  • $_write(%fs,%seek,FjX,1)
  • ;bits/octet
  • $_write(%fs,%seek,%bo,1)
  • ;decalage octet/pixel
  • $_write(%fs,%seek,$base(%dec,10,10,2),1)
  • ;taille nom fichier
  • $_write(%fs,%seek,$base($len($nopath(%fm)),10,10,2),1)
  • ;nom fichier
  • $_write(%fs,%seek,$nopath(%fm),1)
  • ;taille fichier
  • $_write(%fs,%seek,$base($file(%fm),10,10,7),1)
  • ;fichier
  • $_write(%fs,%fm,%bo,%dec).file
  • var %ù = $+(",$dire,%fs,") | if ($exists(%ù)) .remove %ù | .rename %fs %ù
  • run $dire
  • unset %seek
  • print Masquage terminé en $tps(%ticks)
  • }
  • alias -l _write {
  • if ($prop == file) {
  • ;syntaxe $_write_file(fichier_source,fichier_secret,bits/octet,decalage)
  • var %fs $q($1) , %fm $q($2)
  • bread %fs 0 $file(%fs) &fs
  • bread %fm 0 $file(%fm) &fm
  • var %deb 1 , %max $bvar(&fm,0) , %pos 0
  • while (%deb <= %max) {
  • print $str(l,$ceil($calc(%deb * 86 / %max)))
  • var %bin = $base($bvar(&fm,%deb,1),10,2,8) , %i 1
  • while (%i < 9) {
  • bset &bin 1 $base($+($left($base($bvar(&fs,$calc(%seek + %pos),1),10,2,8),$calc(8 - $3)),$mid(%bin,%i,$3)),2,10)
  • bwrite %fs $calc(%seek + %pos -1) 1 &bin
  • inc %pos $4
  • inc %i $3
  • }
  • inc %deb
  • }
  • inc %seek %pos
  • }
  • else {
  • ;syntaxe $_write(fichier,position,texte,bits/octet)
  • bread $1-2 $file($1) &data
  • var %deb 1 , %max $len($3) , %pos 0
  • while (%deb <= %max) {
  • var %bin = $base($asc($mid($3,%deb,1)),10,2,8) , %i 1
  • while (%i < 9) {
  • bset &bin 1 $base($+($left($base($bvar(&data,$calc($2 + %pos),1),10,2,8),$calc(8 - $4)),$mid(%bin,%i,$4)),2,10)
  • bwrite $1 $calc($2 + %pos) 1 &bin
  • inc %seek
  • inc %pos
  • inc %i $4
  • }
  • inc %deb
  • }
  • print fin d'ecriture de : $3
  • }
  • }
  • ;#ALIAS RECUPERATION FICHIER
  • alias -l stegano.read {
  • var %f $q($d(6)) , %infos $_read(%f,55,500,1) , %ticks $ticks
  • if (!$regex(%infos,^FjX)) { print Erreur: Fichier non steganographié! | return }
  • var %bo $mid(%infos,4,1) , %dec $mid(%infos,5,2) , %fname $mid(%infos,9,$mid(%infos,7,2)) , %taille $mid(%infos,$calc(9 + $len(%fname)),7)
  • .fopen -o f $+(",$dire(rec),%fname,")
  • var %i $calc(118 + 56 + 8 * $len(%fname)) , %max $calc(%i + %taille * (8 / %bo) * %dec)
  • while (%i < %max) {
  • print $str(l,$ceil($calc(%i * 86 / %max)))
  • bset &b 1 $iif($_read(%f,%i,$calc(8 * (%dec / %bo)),%bo,%dec).bin,$v1,0)
  • .fwrite -b f &b
  • inc %i $calc((8 / %bo) * %dec)
  • }
  • run $nofile($fopen(f).fname)
  • .fclose f
  • print Récupération effectuée en $tps(%ticks)
  • }
  • alias -l _read {
  • ;syntaxe $_read(fichier,debut_lecture,fin_lecture,bits/octet,decalage)
  • bread $1-3 &data
  • var %i $2 , %max $calc($2 + $3) , %p 1
  • while (%i <= %max) {
  • var %data = %data $+ $right($base($bvar(&data,%p,1),10,2,8),$4)
  • if ($len(%data) == 8) { var %final %final $+ $chr($base(%data,2,10)) | unset %data }
  • inc %p $5
  • inc %i $4
  • }
  • return $iif($prop == bin,$asc(%final),%final)
  • }
  • ;#ALIAS DIVERS
  • alias stegBMP { if !$dialog(steg_dial) { dialog -m steg_dial steg_dial | dialog -bs steg_dial -1 -1 124 59 } }
  • alias dire return $+($scriptdir,fichiers $iif($1 == rec,récupérés,porteurs),\)
  • alias -l tps return $duration($calc(($ticks - $1) / 1000)))
  • alias -l print did -ra steg_dial 24 $1-
  • alias -l q return $+(",$$1-,")
  • alias -l d return $did(steg_dial,$1)
  • alias -l bpp { bread $q($1-) 28 1 &bpp | if ($bvar(&bpp,1,1) != 24) return 0 | return 1 }
  • alias -l stegano.len {
  • var %d steg_dial
  • return $calc(($file($did(%d,11)) * (8 / $did(%d,17))) * $did(%d,26) + 110 + 56 + (8 * $len($nopath($did(%d,11)))))
  • }
  • alias -l stegano_dial.hide {
  • var %d steg_dial
  • if ($dialog(%d).w > 350) { var %i 130 | while (%i >= 0) { dialog -bs %d -1 -1 $calc(125 + %i) 59 | dec %i } }
  • var %i 1 | while (%i <= 135 ) { dialog -bs %d -1 -1 124 $calc(50 + %i) | inc %i } | did -b %d 19 | did -e %d 20
  • }
  • alias -l stegano_dial.read {
  • var %d steg_dial
  • if ($dialog(%d).h > 200) { var %i 134 | while (%i >= 0) { dialog -bs %d -1 -1 124 $calc(58 + %i) | dec %i } }
  • var %i 1 | while (%i <= 131) { dialog -bs %d -1 -1 $calc(115 + %i) 59 | inc %i } | did -b %d 20 | did -e %d 19
  • }
  • alias -l stegano.sel {
  • var %d did -ra steg_dial
  • if ($1 == 4) { var %p $$sfile($+($scriptdir,:\*.bmp),Selectionnez l'image support,Selectionner) | %d 5 %p | %d 13 $instok($nopath(%p),STEG,-1,46) }
  • elseif ($1 == 7) { var %f $q($dire) | %d 6 $$sfile( %f \*.bmp,Selectionnez l'image support,Selectionner) }
  • elseif ($1 == 10) %d 11 $$sfile($scriptdir \*.*,Selectionnez le fichier à masquer,Selectionner)
  • }
;;;;;;;;;;;;;;;;;;;
;stegBMP v1       ;
;fjxokt           ;
;fjxokt@gmail.com ;
;;;;;;;;;;;;;;;;;;;


on *:load:{
  if $version < 6.12 { echo -a Version de mirc trop ancienne. L'add-on ne peut être installé | halt }
  if (!$isdir($dire(rec))) mkdir $q($dire(rec))
  if (!$isdir($dire(por))) mkdir $q($dire(por))
  echo -a stegBMP installé ! Tapez /stegBMP pour l'utiliser
}

on *:unload:{
  if ($input(Voulez-vous supprimer les dossiers par défaut contenant les images porteuses et les fichiers récupérés ?,iy,Déchargement de l'add-on...)) {   
    .echo -q $findfile($dire(rec),*,0,.remove $q($1-))
    .echo -q $findfile($dire(por),*,0,.remove $q($1-))
    rmdir $q($dire(rec))
    rmdir $q($dire(por))
  }
}


;#DIALOG ET EVENT


dialog steg_dial {
  title "StegBMP v1"
  size -1 -1 264 185
  option dbu
  box "Demasquage", 1, 126 5 118 36
  box "Masquage", 2, 3 59 119 110
  text "Chemin vers l'image support :", 3, 9 68 71 9
  button "...", 4, 9 78 13 9
  edit "", 5, 29 77 85 11, autohs
  edit "", 6, 154 25 85 11, autohs
  button "...", 7, 131 26 13 9
  text "Chemin vers l'image support", 8, 131 15 71 9
  text "Chemin vers le fichier à masquer :", 9, 9 91 82 8
  button "...", 10, 9 101 13 9
  edit "", 11, 29 100 86 11, autohs
  button "&OK", 14, 182 46 29 11
  button "Fermer", 15, 215 46 29 11, cancel
  text "Codage sur ", 16, 9 117 29 8
  combo 17, 40 115 20 40, size drop
  text "bit par octet", 18, 63 117 41 8
  button "Masquer", 19, 16 21 37 12, flat
  button "Demasquer", 20, 71 21 37 12, flat
  button "&GO", 21, 59 172 29 11
  button "Fermer", 22, 93 172 29 11, cancel
  text "Choisissez l'option à effectuer", 23, 16 8 100 10
  edit "", 24, 16 41 92 10, read
  text "Nom du fichier de sortie :", 12, 9 144 82 8
  edit "", 13, 9 153 86 11
  text "Ecrire tous les", 25, 9 131 36 8
  combo 26, 46 129 20 50, size edit drop limit 2
  text "octets", 27, 69 131 19 10
}

on 1:dialog:steg_dial:*:*:{
  if ($devent == init) { did -ca $dname 17 1 | didtok $dname 17 32 2 4 | did -ca $dname 26 12 | didtok $dname 26 32 3 6 9 }
  elseif ($devent == sclick) {
    if ($did isin 4710) stegano.sel $did
    elseif ($did == 19) stegano_dial.hide
    elseif ($did == 20) stegano_dial.read
    elseif ($did == 14) stegano.read
    elseif ($did == 21) stegano.hide
    elseif ($did == 17) did -ra $dname 18 $+(bit,$iif($did(17) != 1,s)) par octet
  }
}


;#ALIAS ECRITURE FICHIER


alias -l stegano.hide {
  var %ticks $ticks , %d steg_dial , %fs $d(13) , %fm $d(11) , %bo $d(17) , %dec $d(26)

  if (!%fs || !%fm || !%dec) { print Tous les champs doivent être remplis | halt }
  elseif (%dec < 3) { print Espace d'ecriture minimum = 3 | halt }
  elseif (!$regex($d(5),(\.bmp)$)) { print L'image n'est pas du format BITMAP | return }
  elseif (!$bpp($d(5))) { print L'image doit être en 24 bits/pixel | halt }
  elseif ($file($d(5)) < $stegano.len) { print Taille necessaire:  $v2 octets ! | halt }

  .copy $q($d(5)) %fs
  set %seek 55
  print Ecriture du header...

  ;signature
  $_write(%fs,%seek,FjX,1)
  ;bits/octet
  $_write(%fs,%seek,%bo,1)
  ;decalage octet/pixel
  $_write(%fs,%seek,$base(%dec,10,10,2),1)
  ;taille nom fichier
  $_write(%fs,%seek,$base($len($nopath(%fm)),10,10,2),1)
  ;nom fichier
  $_write(%fs,%seek,$nopath(%fm),1)
  ;taille fichier
  $_write(%fs,%seek,$base($file(%fm),10,10,7),1)
  ;fichier
  $_write(%fs,%fm,%bo,%dec).file

  var %ù = $+(",$dire,%fs,") | if ($exists(%ù)) .remove %ù | .rename %fs %ù
  run $dire
  unset %seek
  print Masquage terminé en $tps(%ticks) 
}

alias -l _write {
  if ($prop == file) {
    ;syntaxe $_write_file(fichier_source,fichier_secret,bits/octet,decalage)

    var %fs $q($1) , %fm $q($2)
    bread %fs 0 $file(%fs) &fs
    bread %fm 0 $file(%fm) &fm
    var %deb 1 , %max $bvar(&fm,0) , %pos 0
    while (%deb <= %max) {
      print $str(l,$ceil($calc(%deb * 86 / %max)))
      var %bin = $base($bvar(&fm,%deb,1),10,2,8) , %i 1
      while (%i < 9) {
        bset &bin 1 $base($+($left($base($bvar(&fs,$calc(%seek + %pos),1),10,2,8),$calc(8 - $3)),$mid(%bin,%i,$3)),2,10)
        bwrite %fs $calc(%seek + %pos -1) 1 &bin
        inc %pos $4
        inc %i $3
      }
      inc %deb
    }
    inc %seek %pos
  }
  else {
    ;syntaxe $_write(fichier,position,texte,bits/octet)

    bread $1-2 $file($1) &data
    var %deb 1 , %max $len($3) , %pos 0
    while (%deb <= %max) {
      var %bin = $base($asc($mid($3,%deb,1)),10,2,8) , %i 1
      while (%i < 9) { 
        bset &bin 1 $base($+($left($base($bvar(&data,$calc($2 + %pos),1),10,2,8),$calc(8 - $4)),$mid(%bin,%i,$4)),2,10)
        bwrite $1 $calc($2 + %pos) 1 &bin
        inc %seek
        inc %pos
        inc %i $4
      }
      inc %deb
    }
    print fin d'ecriture de : $3 
  }
}


;#ALIAS RECUPERATION FICHIER


alias -l stegano.read {
  var %f $q($d(6)) , %infos $_read(%f,55,500,1) , %ticks $ticks
  if (!$regex(%infos,^FjX)) { print Erreur: Fichier non steganographié! | return }
  var %bo $mid(%infos,4,1) , %dec $mid(%infos,5,2) , %fname $mid(%infos,9,$mid(%infos,7,2)) , %taille $mid(%infos,$calc(9 + $len(%fname)),7)
  .fopen -o f $+(",$dire(rec),%fname,")
  var %i $calc(118 + 56 + 8 * $len(%fname)) , %max $calc(%i + %taille * (8 / %bo) * %dec)
  while (%i < %max) {
    print $str(l,$ceil($calc(%i * 86 / %max)))
    bset &b 1 $iif($_read(%f,%i,$calc(8 * (%dec / %bo)),%bo,%dec).bin,$v1,0)
    .fwrite -b f &b
    inc %i $calc((8 / %bo) * %dec)
  }
  run $nofile($fopen(f).fname)
  .fclose f
  print Récupération effectuée en $tps(%ticks)
}

alias -l _read {
  ;syntaxe $_read(fichier,debut_lecture,fin_lecture,bits/octet,decalage)

  bread $1-3 &data
  var %i $2 , %max $calc($2 + $3) , %p 1
  while (%i <= %max) {
    var %data = %data $+ $right($base($bvar(&data,%p,1),10,2,8),$4)
    if ($len(%data) == 8) { var %final %final $+ $chr($base(%data,2,10)) | unset %data }
    inc %p $5
    inc %i $4
  }
  return $iif($prop == bin,$asc(%final),%final)
}


;#ALIAS DIVERS


alias stegBMP { if !$dialog(steg_dial) { dialog -m steg_dial steg_dial | dialog -bs steg_dial -1 -1 124 59 } }

alias dire return $+($scriptdir,fichiers $iif($1 == rec,récupérés,porteurs),\)
alias -l tps return $duration($calc(($ticks - $1) / 1000)))
alias -l print did -ra steg_dial 24 $1-
alias -l q return $+(",$$1-,")
alias -l d return $did(steg_dial,$1)
alias -l bpp { bread $q($1-) 28 1 &bpp | if ($bvar(&bpp,1,1) != 24) return 0 | return 1 }

alias -l stegano.len {
  var %d steg_dial
  return $calc(($file($did(%d,11)) * (8 / $did(%d,17))) * $did(%d,26) + 110 + 56 + (8 * $len($nopath($did(%d,11)))))
}

alias -l stegano_dial.hide {
  var %d steg_dial
  if ($dialog(%d).w > 350) { var %i 130 | while (%i >= 0) { dialog -bs %d -1 -1 $calc(125 + %i) 59 | dec %i } }
  var %i 1 | while (%i <= 135 ) { dialog -bs %d -1 -1 124 $calc(50 + %i) | inc %i } | did -b %d 19 | did -e %d 20
} 

alias -l stegano_dial.read {
  var %d steg_dial
  if ($dialog(%d).h > 200) { var %i 134 | while (%i >= 0) { dialog -bs %d -1 -1 124 $calc(58 + %i) | dec %i } }
  var %i 1 | while (%i <= 131) { dialog -bs %d -1 -1 $calc(115 + %i) 59 | inc %i } | did -b %d 20 | did -e %d 19 
}

alias -l stegano.sel {
  var %d did -ra steg_dial
  if ($1 == 4) { var %p $$sfile($+($scriptdir,:\*.bmp),Selectionnez l'image support,Selectionner) | %d 5 %p | %d 13 $instok($nopath(%p),STEG,-1,46) }
  elseif ($1 == 7) { var %f $q($dire) | %d 6 $$sfile( %f \*.bmp,Selectionnez l'image support,Selectionner) }
  elseif ($1 == 10) %d 11 $$sfile($scriptdir \*.*,Selectionnez le fichier à masquer,Selectionner)
}

 Conclusion

Installation:
-Placez le dossier stegBMP à la racine de votre script
-dans mirc faites : alt + R > file > load... et chargez le remote stegbmp.mrc
-Si une fenêtre de warning apparaît, acceptez (afin d'installer les dossier neccessaires au bon fonctionnement du script)
-enfin, tapez /stegBMP pour l'utiliser

/!\
Le fichier d'aide est masqué dans l'image incluse dans le zip, donc utilisez l'add-on pour la faire apparaître ;-)
lisez le si vous ne savez ou ne comprennez pas comment remplir les paramètres
/!\

Je complèterai l'aide prochainement

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

01 janvier 2006 23:32:08 :
erreur bête
02 janvier 2006 08:57:54 :
.
04 janvier 2006 18:21:28 :
mise à jour majeur ! dorenavent le masquage s'effectue de manière beaucoup plus discrète que précedemment
10 janvier 2006 22:01:41 :
j'ai ajouté un autre fichier contenant le même code, mais cette fois ci entièrement commenté N'oubliez pas de charger soit l'un, soit l'autre dans vos remotes, mais pas les deux !
10 janvier 2006 22:05:43 :
j'ai ajouté un autre fichier contenant le même code, mais cette fois ci entièrement commenté N'oubliez pas de charger soit l'un, soit l'autre dans vos remotes, mais pas les deux !

 Sources du même auteur

Source avec Zip Source avec une capture ALGORITHME A*
Source avec Zip Source avec une capture IMAGESHACK UPLOADER V0.1 ALPHA
Source avec Zip Source avec une capture AUTO COMPLÉTION V1
Source avec Zip CREATION DE TABLEAUX ALPHA
Source avec une capture SELECTEUR DE COULEURS

 Sources de la même categorie

TCL - AJOUT SUPPRESSION DE LOGS par Atok
BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501

 Sources en rapport avec celle ci

SERVEUR FTP par hisoka2501

Commentaires et avis

Commentaire de AgoRa_ScripT le 01/01/2006 23:58:40

g00d (:

Commentaire de Dark1245 le 02/01/2006 14:12:20

Trés bien scripté ;) 10/10

Commentaire de Zova le 02/01/2006 20:36:38

Ton addon ne me sert certes pas, mais il est très bien codé ormis un ou deux tout petits détails qui ne valent pas la peine d'être cités. Je trouve ça innovant c'est un bon début pour une bonne année ;)

PS : 10/10 ;)

Commentaire de fjxokt le 02/01/2006 20:43:00

tous les details sont bons a prendre ;-)

Commentaire de Mc_AbBeR le 02/01/2006 21:03:55

rien à dire, good =)

<10/10>

Commentaire de AgoRa_ScripT le 07/01/2006 00:26:01

je vois dans certaines sources l'identifieur v2, a quoi il sert? :/

Commentaire de fjxokt le 07/01/2006 00:36:44

dans une condition
par exemple:
if (%var1 < %var2)
$v1 retourne %var1
$v2 retourne %var2

Commentaire de AgoRa_ScripT le 07/01/2006 20:01:16

c'est normal que ça n'y sois pas ds l'help 6.12? (ou j'ai mal cherché)

Commentaire de fjxokt le 07/01/2006 20:39:29

tu as du mal chercher (ou voir)
/help $v1 ( ça t'amènes dans la partie 'if then else' )

Commentaire de AgoRa_ScripT le 07/01/2006 22:09:13

$v1 $v2 ne font pas partie de la liste des mots clé pour faire une recherche, et ds la partie if then else, ils ne sont pas expliqués non plus..
merci sinon :)

Commentaire de wims le 10/01/2006 21:31:22

$v1 et $v2 sont des nouveauté de 6.16.
Dans le version.txt de mirc 6.16 , c'est marqué

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Masquer IP [ par Stonz ] Bonjour,çà fait 2 jours que j'essaye de cacher un peu mon IP dans les info ou dans les whois... mais j'y arrive pas, çà commence à m'énerver. J'ai cré


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales