begin process at 2013 05 23 05:13:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Scripts

 > STEGANOGRAPHIE BASIQUE

STEGANOGRAPHIE BASIQUE


 Information sur la source

Note :
9,6 / 10 - par 5 personnes
9,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Scripts Classé sous :stéganographie Niveau :Débutant Date de création :16/03/2005 Date de mise à jour :20/03/2005 14:58:10 Vu :5 258

Auteur : fjxokt

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

 Description

Salut a tous,
Je vous propose ce petit code qui a pour but d'inserer a l'interieur d'une image (dans ce cas la) n'importe quel document texte (j'appelle texte tout ce qui peut etre ouvert avec un bloc note)
Bien evidemment c'est tout a fait basique (j'entend par la aucun cryptage ou manipulation de bits) mais disons que ça peut malgré tout être utile

Dorenavent tous les types d'images habituels ( .bmp .tga .jpg .png et .tif)  sont reconnus

Voila si vous avez des commentaires, suggestions, (insultes lol) a me faire parvenir, n'hesitez pas

Source

  • alias stegano_m {
  • var %file $$sfile($+($left($mircdir,1),:\),Selectionnez l'image qui servira de support)
  • var %final $?="Entrez le nom/chemin du fichier qui sera créé [meme extension que le fichier support]" | if (!%final) halt
  • var %hide $$sfile($+($left($mircdir,1),:\),Selectionnez le fichier a cacher)
  • if ($exists(%final)) {
  • echo -a 4(?) Le fichier %final existant, le fichier crée se nomme desormais $+(%final,.double) 4(?)
  • %final = %final $+ .double
  • }
  • echo -a ---------------------------------------------------------------
  • echo -a Masquage en cours...
  • %file = $+(",%file,") | %hide = $+(",%hide,") | %final = $+(",%final,")
  • .copy %file %final
  • write %final F?J?X $+ $crlf $+ $remove(%hide,")
  • .copy -a %hide %final
  • var %total $file(%file)
  • write %final $chr(126) $+ %total
  • echo -a Operation terminée !
  • echo -a Le fichier %final contenant le fichier %hide  a été crée avec succes !
  • echo -a ---------------------------------------------------------------
  • }
  • alias stegano_dm {
  • var %file $$sfile($+($left($mircdir,1),:\),Selectionnez l'image contenant le fichier masqué)
  • var %file = $+(",%file,")
  • var %filetmp $+($left($mircdir,1),:\recover.tmp)
  • var %size $file(%file) , %tmp 0
  • .fopen file %file
  • while (%tmp <= 15) {
  • .fseek file $calc(%size - %tmp)
  • if ($chr($fgetc(file)) == $chr(126)) {
  • var %pos $fopen(file).pos , %tmp2 2 , %debhide $null
  • while ($calc(%pos + %tmp2) < %size) {
  • var %debhide = %debhide $+ $chr($fgetc(file))
  • inc %tmp2
  • }
  • break
  • }
  • inc %tmp
  • }
  • if (!%debhide) { echo -a 4/!\ Le fichier %file ne contient pas de fichier masqué ! 4/!\ | .fclose file | halt }
  • echo -a ---------------------------------------------------------------
  • echo -a Récuperation en cours...
  • bread %file %debhide %size &donnees
  • bwrite %filetmp 1 $bvar(&donnees,0) &donnees
  • var %chemin = $read(%filetmp,3)
  • write -d11 %filetmp | write -dl2 %filetmp | write -dl0 %filetmp
  • .fclose file
  • .rename %filetmp $+(",%chemin,.secret,")
  • echo -a Le fichier $nopath($remove(%chemin,.secret)) a été recupéré !
  • echo -a Chemin du fichier:  $+(",%chemin,.secret,") [extension .secret a supprimer]
  • echo -a ---------------------------------------------------------------
  • }
alias stegano_m {
  var %file $$sfile($+($left($mircdir,1),:\),Selectionnez l'image qui servira de support)                             
  var %final $?="Entrez le nom/chemin du fichier qui sera créé [meme extension que le fichier support]"                    | if (!%final) halt
  var %hide $$sfile($+($left($mircdir,1),:\),Selectionnez le fichier a cacher)                                          
  if ($exists(%final)) {
    echo -a 4(?) Le fichier %final existant, le fichier crée se nomme desormais $+(%final,.double) 4(?)
    %final = %final $+ .double
  }   
  echo -a ---------------------------------------------------------------
  echo -a Masquage en cours...

  %file = $+(",%file,") | %hide = $+(",%hide,") | %final = $+(",%final,")
  .copy %file %final
  write %final F?J?X $+ $crlf $+ $remove(%hide,")
  .copy -a %hide %final
  var %total $file(%file)
  write %final $chr(126) $+ %total 


  echo -a Operation terminée !
  echo -a Le fichier %final contenant le fichier %hide  a été crée avec succes !
  echo -a ---------------------------------------------------------------
}


alias stegano_dm {
  var %file $$sfile($+($left($mircdir,1),:\),Selectionnez l'image contenant le fichier masqué)
  var %file = $+(",%file,")
  var %filetmp $+($left($mircdir,1),:\recover.tmp)
  var %size $file(%file) , %tmp 0
  .fopen file %file
  while (%tmp <= 15) {
    .fseek file $calc(%size - %tmp)
    if ($chr($fgetc(file)) == $chr(126)) {
      var %pos $fopen(file).pos , %tmp2 2 , %debhide $null
      while ($calc(%pos + %tmp2) < %size) {
        var %debhide = %debhide $+ $chr($fgetc(file))
        inc %tmp2
      }
      break
    }
    inc %tmp 
  }
  if (!%debhide) { echo -a 4/!\ Le fichier %file ne contient pas de fichier masqué ! 4/!\ | .fclose file | halt }

  echo -a ---------------------------------------------------------------
  echo -a Récuperation en cours...

  bread %file %debhide %size &donnees
  bwrite %filetmp 1 $bvar(&donnees,0) &donnees
  var %chemin = $read(%filetmp,3)
  write -d11 %filetmp | write -dl2 %filetmp | write -dl0 %filetmp
  .fclose file 
  .rename %filetmp $+(",%chemin,.secret,")

  echo -a Le fichier $nopath($remove(%chemin,.secret)) a été recupéré !
  echo -a Chemin du fichier:  $+(",%chemin,.secret,") [extension .secret a supprimer]
  echo -a ---------------------------------------------------------------
}

 Conclusion

enjoy :)

a suivre...


 Historique

16 mars 2005 16:21:19 :
- changé le $! == null - probleme des espaces reglé
16 mars 2005 16:40:53 :
encore de l'ptimisation!
16 mars 2005 17:29:01 :
j'ai enlevé le format .jpg dans le commentaire du fichier (mais je compte regler ce pb)
20 mars 2005 00:45:42 :
PB des autres formats d'image reglé
20 mars 2005 14:58:10 :
j'ai raccourcis le code

 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 Zip Source avec une capture STEGBMP (STEGANOGRAPHIE)

 Sources de la même categorie

Source avec Zip PHRASE AUTOMATIQUE TXT par Aesculus
Source avec Zip PENDU POUR MIRC par neobidou
Source avec Zip MODIFICATION ET TRADUCTION DU SCRIPT RHYTHMBOX XCHAT ANNOUNC... par TrHiLK1L
[TCL] AUTOJOIN DE ROBOT AUTOMATIQUE par Atok
Source avec une capture TORRENT VIEWER par kamikaze97441

Commentaires et avis

Commentaire de KiNdErMaXi le 16/03/2005 15:46:53

if ($! == $null) devient if (!$!)

echo -a ---------------------------------------------------------------  devient : echo -a $str(-,63)

bonne continuation

Commentaire de fjxokt le 16/03/2005 15:51:17

le echo -a ------------------------------------------------------------- me sert plus a clarifier et delimiter le code qu'a faire joli dans la fenetre
c'est pour ça que j'ai préféré l'ecrire comme ça
sinon tu serai pas un taré de l'optimisation toi ;)

Commentaire de fyltum le 16/03/2005 16:27:04

Je suis étonné que ça marche :
var %file $?"Entrez le chemin/nom du fichier qui servira de support"
J'aurais mi :
var %file = $?="Entrez le chemin/nom du fichier qui servira de support"

Commentaire de fjxokt le 16/03/2005 16:31:25

ça marche aussi mais c'est plus long (moi aussi j'aime l'optimisation :)

Commentaire de KiNdErMaXi le 16/03/2005 16:35:20

lol bien pour l'update, mais tu as oublier des truc :
if (%hide == $null) devient if (!%hide)

Commentaire de fyltum le 16/03/2005 16:58:16

Je savais pas que l'on considérait ça comme une optimisation :)
Autremment je n'ai pas compris le but de ta source (pas testé)

Commentaire de fjxokt le 16/03/2005 17:06:49

bin le but c'est d'inserer un document dans une image sans alterer celle ci afin de faire passer ce document en tte discretion, puisque personne ne s'apercevra que l'img contient un document (sauf si une image de 10*10 pixels fait 5 Mo lol)
celui qui recoit l'img n'a plus qu'a utiliser la fonction /stegano_dm pour recuperer le doc
(ps: je sais que la maniere dont je procede n'a rien a voir avec le vrai principe de stegano)

Commentaire de SornDrixer le 16/03/2005 17:06:59 administrateur CS

Le 'cryptage' s'effectue bien, mais le décryptage par contre, impossible !
J'ai a chaque fois le droit au message :
/!\ Le fichier "XXX.jpg" ne contient pas de fichier masqué ! /!\

J'ai essayé de cacher un remote en .txt dans une image en JPG pour commencer, puis un simple .txt contenant moins de 20 lignes, sans succès niveau décryptage dans les 2 cas.

L'image servant de support est basique, format JPG, 394x320 pixels.

Commentaire de fjxokt le 16/03/2005 17:22:13

exact
c'est encore cette histoire de caractere special
dc pr l'instant les jpg ne marchent pas non plus
par contre t'a essayé avec des .tga et des .bmp ?

Commentaire de SornDrixer le 16/03/2005 17:34:42 administrateur CS

Je viens de tester avec un bmp, et en effet, cela fonctionne :-)

Bon boulot

Commentaire de fjxokt le 17/03/2005 08:33:49

merci pr les notes mais n'oubliez pas de laisser un commentaire (c'est toujours instructif)
sinon je devrai plus tarder a regler le pb des autres formats d' images

a suivre...

Commentaire de Kerrigan le 17/03/2005 13:21:22

var %file $?="Entrez le chemin vers l'image contenant le fichier masqué"

devient :
var %file = $sfile(c:\,"blabla")

c'est mieux on peut aller chercher l'image directement.

A fait salut tout le monde ... après 6 mois d'absence :))

Commentaire de KiNdErMaXi le 17/03/2005 13:23:31

re bienvenue kerrigan :)
au fait ya pas moyen de selectionner un tipe de fichier avec le $sfile ? du genre pour que ca affiche que les .txt ou autres ...

Commentaire de winwarrior le 17/03/2005 13:27:28

renseigne toi sur:
fopen
$feof
$fread
fwrite
fclose
ça sera mieux codé et plus rapide que /write et $read :)

bonne continuation.

Commentaire de fjxokt le 17/03/2005 20:10:30

Je tiendrai compte de tes remarques ds la prochaine update kerrigan (c'est vrai que c'est plus pratique :)
pour ce qui est du /write, je l'utilise car il copie ligne par ligne, et pas caractere par caractere

Commentaire de fjxokt le 19/03/2005 18:18:46

> kindermaxi
pour filter il suffit de (un exemple vaut mieux qu'un long discourt)
$sfile(c:\*.txt,tralala,OK) [c:\ est un exemple]

Commentaire de KiNdErMaXi le 19/03/2005 18:23:53

PARFAIS
:o) merci ^^

Commentaire de fjxokt le 20/03/2005 10:15:07

voila j'ai mis a jour
Signalez les bugs si vous en voyez !

Commentaire de Hades53 le 26/03/2005 12:38:36

"if (%hide == $null) devient if (!%hide)"

Ca na pas du tout le même sens:
!%hide c'est ((%hide == $null) || (%hide == 0) || (%hide == $false))

Commentaire de In0x le 04/06/2005 07:42:20

Pas trop mal mais il y a beacoup de compliquation que tu pouré tévité de faire domage mais bon. C'est bien quand même

Commentaire de fjxokt le 04/06/2005 14:44:45

des complications ? lequelles stp ?

Commentaire de In0x le 04/06/2005 15:01:42

des boucles ...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 4,836 sec (3)

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