FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Camoufler un fichier texte dans une image Emptypar Klaus Aujourd'hui à 1:15

» item_index(résolu)
Camoufler un fichier texte dans une image Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Camoufler un fichier texte dans une image Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Camoufler un fichier texte dans une image Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Camoufler un fichier texte dans une image Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Camoufler un fichier texte dans une image Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Camoufler un fichier texte dans une image Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Camoufler un fichier texte dans une image Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Camoufler un fichier texte dans une image Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Camoufler un fichier texte dans une image Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Camoufler un fichier texte dans une image Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Camoufler un fichier texte dans une image Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Camoufler un fichier texte dans une image Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Camoufler un fichier texte dans une image Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Camoufler un fichier texte dans une image Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon : la prochaine extension ...
Voir le deal

 

 Camoufler un fichier texte dans une image

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Camoufler un fichier texte dans une image Empty
MessageSujet: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image EmptyLun 1 Déc 2014 - 22:37

Pour mettre un fichier de type texte à l'abri des regards indiscrets, le fichier est crypté et intégré à une image quelconque qui garde ses propriétés d'image (inchangée visuellement).
Le cryptage est assez élémentaire, avec une clé de cryptage (à retenir !), mais il faut déjà savoir que cette image contient un élément invisible, puis savoir extraire et décoder cet élément.
Rien n'empêche d'ailleurs d'imaginer un codage plus sophistiqué, par exemple un compactage préalable genre zip, puis cryptage...

L'image utilisée sera de type quelconque, je préconiserais plutôt du jpg, c'est plus compact.
(Cette image source n'est pas modifiée, seulement copiée)
Le fichier généré dans un répertoire à choisir portera le nom de l'image utilisée précédé de 'CCF_' (c'est tout à fait arbitraire).
La SUB Cryptext assure les deux fonctions, cryptage et décryptage. Les paramètres d'utilisation sont précisés en tête.
Elle utilise KGF.dll (fonction lecture d'un fichier dans une chaîne), il faut donc préciser son chemin en tête de la sub.
En décryptage, il faut préciser le répertoire qui recevra le fichier décodé, lequel sera généré avec son nom d'origine (avant codage).
Voici, avec un exemple d'appel:
Code:
DIM f$,rep$,cle$,fimg$
f$ = "C:\TEXTES\LOREM.txt": ' fichier texte à crypter
fimg$ = "C:\GRAPH\JPG\Rafale.jpg": ' image support
rep$ = "Z:": ' répertoire résultat
cle$ = "1a2b3c4d"

Cryptext(1,f$,rep$,cle$,fimg$): ' cryptage

' Cryptext(2,"Z:\CCF_Rafale.jpg",rep$,cle$): ' décryptage
PRINT "Terminé !"
END
' ==============================================================================
SUB Cryptext(mode%,f$,rep$,cle$,fimg$)
' Cryptage et camouflage d'un fichier texte dans une image (jpg, c'est plus compact)
' - PARAMÈTRES: -
' mode%:  = 1: cryptage, = 2: décryptage
' f$:     chemin du fichier texte à crypter ou décrypter
' rep$:   répertoire du résultat (image en cryptage, fichier texte en décryptage)
'         (le nom de l'image résultat est dérivé du nom de l'image support:
'           exemple: image support "Monimage.jpg", image résultat: "CCF_Monimage.jpg")
' cle$:   clé de cryptage/décryptage: une séquence de caractères ascii
'         ** Il est conseillé de mettre une clé en chiffres, ou mélange lettres/chiffres ***
'           (sinon, dans le cas de séries d'espaces, la clé risque d'apparaître en clair)
' fimg$:  (cryptage uniquement) chemin de l'image support (non modifiée)
' DÉCRYPTAGE: le fichier sera rendu avec son nom d'origine dans le répertoire rep$
' à charge pour le programme appelant de supprimer ou non le fichier image codé d'origine.
DIM_LOCAL a$, b$, nf$, ni$, v$, rs%, i%, xx, l1%, lf%, lt%
IF FILE_EXISTS(f$) = 0 THEN EXIT_SUB
IF DIR_EXISTS(rep$) = 0 THEN EXIT_SUB
IF cle$ = "" THEN EXIT_SUB
IF LABEL("Nor_dll") = 0 THEN LABEL Nor_dll
ON_ERROR_GOTO Nor_dll: ' si pas de dll chargée, dll_off -> erreur
DLL_OFF: ' à tout hasard
Nor_dll:
OFF_ERROR_GOTO
DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll": ' <<<<<<<<<<< A PRÉCISER <<<<<<<<<<<<<
IF RIGHT$(rep$,1)<>"" THEN rep$ = rep$+""
IF mode% = 1: ' CRYPTAGE ET CAMOUFLAGE
    IF FILE_EXISTS(fimg$) = 0 THEN EXIT_SUB
    FILEBIN_OPEN_READ 9, fimg$: l1%=FILEBIN_SIZE(9): FILEBIN_CLOSE 9: ' taille fichier image
    FILEBIN_OPEN_READ 9, f$: b$ = STRING$(FILEBIN_SIZE(9)," "): FILEBIN_CLOSE 9
    i% = DLL_CALL2("ReadBinaryFileToString",ADR(f$),ADR(b$)): ' fichier à crypter
    nf$ = FILE_EXTRACT_NAME$(f$): lf% = LEN(nf$): ' nom du fichier
    b$ = b$ + nf$
    ' cryptage de b$ (fichier + nom) dans a$
    a$ = "": xx = 1
    FOR i% = 1 TO LEN(b$)
        a$ = a$ + CHR$(BIN_XOR(ASC(MID$(b$,i%,1)),ASC(MID$(cle$,xx,1))))
        xx = xx+1: IF xx > LEN(cle$) THEN xx = 1
    NEXT i%
    v$ = "": xx = l1%: ' archivage taille du fichier image
    WHILE LEN(v$)<4
        v$ = v$ + CHR$(256*FRAC(xx/256)): xx = INT(xx/256)
    END_WHILE
    a$ = a$+v$
    v$ = "": xx = lf%: ' archivage longueur du nom du fichier crypté
    WHILE LEN(v$)<2
        v$ = v$ + CHR$(256*FRAC(xx/256)): xx = INT(xx/256)
    END_WHILE
    a$ = a$+v$
    b$ = STRING$(l1%," ")
    i% = DLL_CALL2("ReadBinaryFileToString",ADR(fimg$),ADR(b$)): ' fichier image -> b$
    b$ = b$+a$
    ni$ = FILE_EXTRACT_NAME$(fimg$): nf$ = rep$+"CCF_"+ni$
    i% = DLL_CALL2("WriteStringToBinaryFile",ADR(nf$),ADR(b$)): ' écriture
ELSE: ' DÉCRYPTAGE
    FILEBIN_OPEN_READ 9, f$: lt% = FILEBIN_SIZE(9): FILEBIN_CLOSE 9
    b$ = STRING$(lt%," ")
    i% = DLL_CALL2("ReadBinaryFileToString",ADR(f$),ADR(b$))
    a$ = RIGHT$(b$,6)
    l1%=16777213*ASC(MID$(a$,4,1))+65536*ASC(MID$(a$,3,1))
    l1%=l1%+256*ASC(MID$(a$,2,1))+ASC(MID$(a$,1,1)): ' lgr du fichier image
    lf% = 256*ASC(MID$(a$,6,1))+ASC(MID$(a$,5,1)): ' lgr nom du fichier
    b$ = MID$(b$,l1%+1,lt%-l1%-6): ' fichier crypté + nom
    ' décryptage de b$ dans a$
    a$ = "": xx = 1
    FOR i% = 1 TO LEN(b$)
        a$ = a$ + CHR$(BIN_XOR(ASC(MID$(b$,i%,1)),ASC(MID$(cle$,xx,1))))
        xx = xx+1: IF xx > LEN(cle$) THEN xx = 1
    NEXT i%
    nf$ = rep$+RIGHT$(a$,lf%): a$ = LEFT$(a$,LEN(a$)-lf%)
    i% = DLL_CALL2("WriteStringToBinaryFile",ADR(nf$),ADR(a$)): ' écriture décrypté
END_IF
END_SUB
' ==============================================================================
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12298
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Camoufler un fichier texte dans une image Empty
MessageSujet: Re: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image EmptyMar 2 Déc 2014 - 0:07

De la Stéganographie. Intéressant.

Il est vrai qu'en matière de cryptage, il y a de multiples techniques. La stéganographie en est une. Son avantage est de cacher une (relativement courte) information dans un fichier publiquement lisible, anodin en apparence. Mais le principe a son revers: le pourcentage d'information secrète par rapport à l'information anodine est ridicule, car dès qu'on augmente ce taux, donc dès qu'on veut cacher une partie plus significative de texte, cela devient trop facilement visible, pour des spécialistes du décryptage. Bien sûr, on peut employer une variante: transmettre toute une collection d'images, chacune contenant un fragment de texte crypté, si possible avec une clé différente, le nombre d'images donnant l'information (prédéfinie) sur les clés et leur ordre d'application. On peut crypter une petite portion de texte dans chaque image (ou dans chaque n-ième image) d'une vidéo...On peut varier les plaisirs à l'infini. Pour nous, simples amateurs, un tel cryptage est largement suffisant, car incompréhensible à l'oeil nu, même avec un éditeur hexa. Mais pas pour les spécialistes du décryptage car en présence de fichiers de type visuel, ils éliminent d'abord ce genre de possibilités par des outils puissants d'analyse d'images.

Pour les amateurs noon professionnels de cryptage, on peut commencer par la fameuse méthode de César (translocation de lettres). Je crois me souvenir que cela a déjà été fait sur le forum. Puis, il y a des méthodes plus sophistiquées (pour du texte, toujours): on peut appliquer de façon plus ou moins sophistiquée des méthodes de substitution de caractères, jusqu'au processus des fameux Enigma. Avec de l'informatique, c'est facile.

Cela devient déjà plus difficile de crypter des informations quelconques. Fichiers binaires tels de des photos, des plans, des bases de données etc, surtout si les volumes augmentent. On a alors recours à des algorithmes beaucoup plus complexes qui ont pour effet de rendre immédiatement "incompréhensible" le fichier en question qui est alors crypté en sa totalité - c'est l'information elle-même qui est cryptée et non incluse dans un fichier qui sert de véhicule. Il y a de multiples algorithmes, à simple ou double clé, clés binaires ou texte, etc. Je m'y suis essayé également, et le résultat sont deux fonctions dans KGF.dll qui traitent ce problème. Cryptage de fichiers binaires de n'importe quelle longueur, sur-cryptage de fichiers déjà cryptés etc. Sans grande utilité, juste un exercice de style. Mais j'ai trouvé cela passionnant, et je suis tout ce qui se fait dans ce sens, sur le forum. Et la petite procédure de notre ami JL35 est un parfait exemple de faire quelque chose de très spectaculaire en Panoramic. Bravo, JL35 !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Camoufler un fichier texte dans une image Empty
MessageSujet: Re: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image EmptyMar 2 Déc 2014 - 0:26

Tu as bien compris que je n'avais pas le sentiment d'avoir inventé un procédé inviolable, c'est juste le côté amusant (une image) et ça peut certainement résister à la curiosité des personnes non spécialement outillées pour le décodage.
Et pour des fichiers texte pas trop conséquents, genre liste de mots de passe, ou quelque chose comme ça, difficiles à interpréter en dehors de leur contexte par une personne autre que l'auteur.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12298
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Camoufler un fichier texte dans une image Empty
MessageSujet: Re: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image EmptyMar 2 Déc 2014 - 0:48

Exact, JL35. C'est bien ce que j'ai dit. C'était juste pour planter un peu le contexte...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Camoufler un fichier texte dans une image Empty
MessageSujet: Re: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image EmptyMar 2 Déc 2014 - 14:41

Quoi qu'il en soit Klaus, en tout cas merci pour les deux fonctions de KGF.dll File to string et String to file (j'abrège) qui me sont vraiment utiles (indispensables) pour les bricolages dans les fichiers binaires.
Revenir en haut Aller en bas
Contenu sponsorisé





Camoufler un fichier texte dans une image Empty
MessageSujet: Re: Camoufler un fichier texte dans une image   Camoufler un fichier texte dans une image Empty

Revenir en haut Aller en bas
 
Camoufler un fichier texte dans une image
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Écrire un texte dans une image
» Recherches dans un fichier texte
» Remplacer un article dans un fichier texte
» Rechercher une séquence dans un fichier texte
» Lecture / écriture dans un fichier texte

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: