Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Que peux-t-on mettre dans une DLL ?

2 views
Skip to first unread message

Zeldus

unread,
Jun 23, 2009, 4:51:11 PM6/23/09
to
Bonjour,

Dans le cadre du d�veloppement d'un projet sous Windows avec Visual Studio
ou CodeGear C++ , est il possible d'int�grer directement des fichiers
multim�dia (JPG, PNG, AVI, AAC et Flash) dans une DLL lors de sa cr�ation ?

Le but est de pouvoir r�utiliser ces fichiers depuis un executable via des
fonctions tout en emp�chant ou rendant difficile leur utilisation en dehors
du cadre de l'aplpli (pour les droits d'auteurs), en particulier pour la
vid�o.

Merci de vos r�ponse,

Pierre


alain

unread,
Jun 23, 2009, 5:42:35 PM6/23/09
to
"Zeldus" <n...@email.com> a �crit dans le message de news:
4a414044$0$27809$426a...@news.free.fr...

Tu peux absolument tout mettre, puisque tout est binaire, en ressources au
format binaire, et extraire par les apis ressources

(=>FU windows)


Jean-Claude BELLAMY

unread,
Jun 24, 2009, 4:09:30 AM6/24/09
to
"Zeldus" <n...@email.com> a �crit dans le message de
news:4a414044$0$27809$426a...@news.free.fr...


Oui, on peut mettre tout ce qu'on veut en binaire gr�ce aux ressources de
type RCDATA.
http://msdn.microsoft.com/en-us/library/aa381039(VS.85).aspx


Par contre, laisse tomber l'id�e de prot�ger ces donn�es !
Avec un �diteur/extracteur de ressources tel que "Resource Hacker" (freeware
g�nial), on fait absolument tout ce qu'on veut !
http://www.angusj.com/resourcehacker/


--
May the Force be with You!
La Connaissance s'accro�t quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org

Vincent Burel

unread,
Jun 24, 2009, 4:23:10 AM6/24/09
to

"Jean-Claude BELLAMY" <Jean-Clau...@wanadoo.fr> wrote in message
news:4a41dfa0$0$12660$ba4a...@news.orange.fr...

> "Zeldus" <n...@email.com> a �crit dans le message de
> news:4a414044$0$27809$426a...@news.free.fr...
> > Bonjour,
> >
> > Dans le cadre du d�veloppement d'un projet sous Windows avec Visual
Studio
> > ou CodeGear C++ , est il possible d'int�grer directement des fichiers
> > multim�dia (JPG, PNG, AVI, AAC et Flash) dans une DLL lors de sa
cr�ation
> > ?
> >
> > Le but est de pouvoir r�utiliser ces fichiers depuis un executable via
> > des fonctions tout en emp�chant ou rendant difficile leur utilisation en
> > dehors du cadre de l'aplpli (pour les droits d'auteurs), en particulier
> > pour la vid�o.
>
>
> Oui, on peut mettre tout ce qu'on veut en binaire gr�ce aux ressources de
> type RCDATA.
> http://msdn.microsoft.com/en-us/library/aa381039(VS.85).aspx
>
>
> Par contre, laisse tomber l'id�e de prot�ger ces donn�es !
> Avec un �diteur/extracteur de ressources tel que "Resource Hacker"
(freeware
> g�nial), on fait absolument tout ce qu'on veut !
> http://www.angusj.com/resourcehacker/

il peut inclure des resources binaires, cript�es.
et justement int�grer dans la DLL les fonctions de decriptage...
D�criptage qui peut se faire selon un mot de passe fournit par l'application
(qui utilise cette DLL).

VB


Michael Doubez

unread,
Jun 24, 2009, 6:21:18 AM6/24/09
to
On 24 juin, 10:23, "Vincent Burel" <vincent.bu...@nospam.wanadoo.fr>
wrote:
> "Jean-Claude BELLAMY" <Jean-Claude.Bell...@wanadoo.fr> wrote in message
>
> news:4a41dfa0$0$12660$ba4a...@news.orange.fr...
>
>
>
> > "Zeldus" <n...@email.com> a écrit dans le message de
> >news:4a414044$0$27809$426a...@news.free.fr...
> > > Bonjour,
>
> > > Dans le cadre du développement d'un projet sous Windows avec Visual
> Studio
> > > ou CodeGear C++ , est il possible d'intégrer directement des fichiers
> > > multimédia (JPG, PNG, AVI, AAC et Flash) dans une DLL lors de sa
> création
> > > ?
>
> > > Le but est de pouvoir réutiliser ces fichiers depuis un executable  via
> > > des fonctions tout en empêchant ou rendant difficile leur utilisation en

> > > dehors du cadre de l'aplpli (pour les droits d'auteurs), en particulier
> > > pour la vidéo.
>
> > Oui, on peut mettre tout ce qu'on veut en binaire grâce aux ressources de
> > type RCDATA.
> >http://msdn.microsoft.com/en-us/library/aa381039(VS.85).aspx
>
> > Par contre, laisse tomber l'idée de protéger ces données !
> > Avec un éditeur/extracteur de ressources tel que "Resource Hacker"
> (freeware
> > génial), on fait absolument tout ce qu'on veut !
> >http://www.angusj.com/resourcehacker/
>
> il peut inclure des resources binaires, criptées.
> et justement intégrer dans la DLL les fonctions de decriptage...
> Décriptage qui peut se faire selon un mot de passe fournit par l'application
> (qui utilise cette DLL).

Ce n'est pas vraiment une bonne idée. N'importe qui peut créer une DLL
proxy qui permet une attaque "man in the middle".
Le mieux est de laisser le décryptage dans l'application.

--
Michael

Zeldus

unread,
Jun 24, 2009, 8:59:42 AM6/24/09
to

"Vincent Burel" <vincen...@nospam.wanadoo.fr> a �crit dans le message de
news:4a41e381$0$17074$ba4a...@news.orange.fr...

> il peut inclure des resources binaires, cript�es.
> et justement int�grer dans la DLL les fonctions de decriptage...
> D�criptage qui peut se faire selon un mot de passe fournit par
> l'application
> (qui utilise cette DLL).


C'est exactement ce � quoi je pensais, utiliser un cryptage des fichiers
binaires directement dans la DLL avec fonctions de d�cryptage int�gr�es si
pr�sentation des bons mots de passe par l'appli exe faisant appel aux
fonctions.

Le but n'�tant pas de fournir une v�ritable appli cryptographique totalement
blind�e mais simplement d'emp�cher ou du moins freiner consid�rablement la
r�cup�ration des fichiers binaire de type photo / video / audio / flash
inlus dans la DLL par n'importe qui.

Merci

Pierre

Patrick 'Zener' Brunet

unread,
Jun 24, 2009, 12:45:28 PM6/24/09
to
Bonjour.

"Vincent Burel" <vincen...@nospam.wanadoo.fr> a �crit dans le message
de news 4a41e381$0$17074$ba4a...@news.orange.fr


> "Jean-Claude BELLAMY" <Jean-Clau...@wanadoo.fr> wrote in
> message news:4a41dfa0$0$12660$ba4a...@news.orange.fr...
>> "Zeldus" <n...@email.com> a �crit dans le message de
>> news:4a414044$0$27809$426a...@news.free.fr...
>>>

>>> Dans le cadre du d�veloppement d'un projet sous Windows avec
>>> Visual Studio ou CodeGear C++ , est il possible d'int�grer
>>> directement des fichiers multim�dia (JPG, PNG, AVI, AAC et Flash)
>>> dans une DLL lors de sa cr�ation ?
>>>
>>> Le but est de pouvoir r�utiliser ces fichiers depuis un
>>> executable via des fonctions tout en emp�chant ou rendant
>>> difficile leur utilisation en dehors du cadre de l'aplpli (pour
>>> les droits d'auteurs), en particulier pour la vid�o.
>>
>>
>> Oui, on peut mettre tout ce qu'on veut en binaire gr�ce aux
>> ressources de type RCDATA.
>> http://msdn.microsoft.com/en-us/library/aa381039(VS.85).aspx
>>
>>
>> Par contre, laisse tomber l'id�e de prot�ger ces donn�es !
>> Avec un �diteur/extracteur de ressources tel que "Resource Hacker"
>> (freeware g�nial), on fait absolument tout ce qu'on veut !
>> http://www.angusj.com/resourcehacker/
>
> il peut inclure des resources binaires, cript�es.
> et justement int�grer dans la DLL les fonctions de decriptage...
> D�criptage qui peut se faire selon un mot de passe fournit par
> l'application (qui utilise cette DLL).
>

Navr� d'�tre chiant, mais pour le principe, la culture g�n�rale et la
qualit� de la documentation du futur logiciel:
il vaudrait mieux que ces ressources soient *chiffr�es*, car crypt�es, elles
seraient inexploitables m�me pour l'application l�gitime:
http://fr.wikipedia.org/wiki/Cryptographie

Et comme il a �t� dit, effectivement, l'application doit garder le contr�le
de l'op�ration de d�chiffrement car il serait extr�mement facile de
r�cup�rer et afficher le mot de passe avec une DLL fake.

--
Cordialement.

* Patrick BRUNET www.ipzb.fr www.ipzb-pro.com
* E-mail: lien sur http://zener131.eu/ContactMe

Sylvain SF

unread,
Jun 24, 2009, 1:41:17 PM6/24/09
to
Zeldus a �crit :

>
> C'est exactement ce � quoi je pensais, utiliser un cryptage des fichiers
> binaires directement dans la DLL avec fonctions de d�cryptage int�gr�es
> si pr�sentation des bons mots de passe par l'appli exe faisant appel aux
> fonctions.

"int�gr�es" veut dire ici "� la DLL"; donc la DLL v�rifie elle-m�me
un mot de passe qui de fait est �galement en clair (sauf crypto
circulaire) dans la DLL et retourne le contenu d�chiffr� ?!

=> des efforts pour rien et protection nulle.

vous devez mettre les ciphers et la cl� (pas un mot de passe) dans
l'appli. (en essayant de dissimuler la cl� autant que faire ce peux)
sinon une DLL cod� � 2mn12 intercal�e entre votre appli et la vraie
DLL r�cup�rera les cl�s, mots de passe ou autre contenu (qui sortirait
en clair de la DLL).

> Le but n'�tant pas de fournir une v�ritable appli cryptographique
> totalement blind�e mais simplement d'emp�cher ou du moins freiner
> consid�rablement la r�cup�ration des fichiers binaire de type photo /
> video / audio / flash inlus dans la DLL par n'importe qui.

les photos seront copi�es par capture d'�cran, l'audio par
r�tro-enregistrement (il y a s�rement un nom plus technique),
la vid�o et le flash peuvent demander plus d'effort (un hook
sur le renderer/player que vous utilisez).

entre fr.comp.lang.c++ et fr.comp.os.ms-windows.programmation
je ne sais lequel s'applique, peut �tre fr.misc.cryptologie.

Sylvain.

Bertrand Lenoir-Welter

unread,
Jun 24, 2009, 1:58:45 PM6/24/09
to
Sylvain :
> (...)

> => des efforts pour rien et protection nulle.

Ca me para�t un brin manich�en comme position. Il me semble que Pierre a
pr�cis� qu'il ne cherchait pas � rendre une ressource incraquable mais
seulement limiter la casse. C'est s�r qu'un hacker un peu s�rieux ne
fera qu'une bouch�e d'une ressource crypt�e - pardon, chiffr�e - dans
une DLL, surtout si le d�cryptage - pardon, le d�chiffrage - se fait en
local. Mais si c'est pour seulement barrer la route au vulgum pecus qui
entrave que pouic aux techniques avanc�es de hacking, �a me para�t pas
si stupide. Protection l�g�re donc, mais pas protection nulle. Tout
d�pend de la valeur du contenu. Enfin, c'est jamais que mon avis.

Sylvain SF

unread,
Jun 24, 2009, 2:12:18 PM6/24/09
to
Bertrand Lenoir-Welter a �crit :

la qualit� intrins�que de la protection n'est pas le point.

il parle bien de faire l'effort de stocker des ressources
chiffr�s, donc il s'oblige � les chiffrer en amont (et
s�rement en externe de son appli.) => 1 tool pour cela,
il a besoin d'une routine de d�chiffrement => un algo, �
coder ou r�cup�rer et lier � son appli, il pourra avoir
besoin de g�rer diff�rentes cl�s si tous ces clients n'ont
pas le m�me "contenu multim�dia" et qu'il souhaite �viter
qu'un client pompe le contenu d'un autre => gestionnaire
de cl�s (compile d�di� et papasserie).

je suis oblig� de maintenir que s'il se condamne � tous
ces efforts pour que le contenu puisse �tre r�cup�r� pour
tout coll�gien d�butant, ce sont "des efforts pour rien".

(lire la ressource chiffr�e de la DLL et la d�chiffrer
dans l'appli reste une bonne solution - j'ai l'habitude
d'y ajouter une signature de cette ressource pour v�rifier
via une cl� publique contenue dans l'appli. que la DLL
de ressources n'est pas forg�e, ce point �tant optionnel).

Sylvain.

Zeldus

unread,
Jun 24, 2009, 2:24:02 PM6/24/09
to

"Sylvain SF" <syl...@boiteaspam.info> a �crit dans le message de
news:4a42653c$0$12657$ba4a...@news.orange.fr...

>
> => des efforts pour rien et protection nulle.
>
> vous devez mettre les ciphers et la cl� (pas un mot de passe) dans
> l'appli. (en essayant de dissimuler la cl� autant que faire ce peux)
> sinon une DLL cod� � 2mn12 intercal�e entre votre appli et la vraie
> DLL r�cup�rera les cl�s, mots de passe ou autre contenu (qui sortirait
> en clair de la DLL).

OK pour vos diff�rentes remarques mais en incluant cette fois la fonction de
d�chiffrage dans l'exe principal, je doute qu'il soit si simple que �a de
r�cup�rer *en clair* une cl� dans une appli compil�e en code binaire
executable (que ce soit programm� au d�part en C++ ou en Delphi) avec un
�diteur hexad�cimal.


> les photos seront copi�es par capture d'�cran, l'audio par
> r�tro-enregistrement (il y a s�rement un nom plus technique),
> la vid�o et le flash peuvent demander plus d'effort (un hook
> sur le renderer/player que vous utilisez).


Il existe des techniques de programmation pour avoir un �cran noir � la
place de la photo vis�e lors d'un copie d'�cran. J'en ai fait l'exp�rience
avec PowerDVD lors de la lecture de blu-ray sous Windows. Il �tait
impossible de faire des captures d'�cran en Full HD via le menu du logiciel
et la copie d'�cran via la touche "Impr ecran" donnait un �cran noir � la
place, seul le mode SD �tait autoris�, pas HD. Par ailleurs, je ne vois pas
l'int�r�t de faire un hook sur le player pour capturer un Flash puisqu'on
perd toute l'interactivit� et le code actionscript mis en place dans le
fichier d'origine.

Pierre

Glav

unread,
Jun 24, 2009, 4:35:22 PM6/24/09
to
Bonjour,

> Il existe des techniques de programmation pour avoir un �cran noir � la
> place de la photo vis�e lors d'un copie d'�cran. J'en ai fait
> l'exp�rience avec PowerDVD lors de la lecture de blu-ray sous Windows.
> Il �tait impossible de faire des captures d'�cran en Full HD via le menu
> du logiciel et la copie d'�cran via la touche "Impr ecran" donnait un
> �cran noir � la place, seul le mode SD �tait autoris�, pas HD.

Ce n'est pas un algorithme de protection. La raison de ce probl�me,
c'est que la zone de la vid�o est trait�e diff�remment des �l�ments
graphiques normaux et ne passent pas par la m�me m�moire (dont s'occupe
le screenshot). Elle passe par un processeur graphique plus rapide dans
la carte graphique (une m�thode appell�e Hardware overlay). Pour �viter
�a, il suffit de d�sactiver le hardware overlay, dans les menus
d'affichage windows.

Sache une chose : lorsqu'une ressource est visible par un utilisateur,
alors il peut la capturer. C'est bien l� la grande pol�mique de nos
ann�es. La meilleure solution pour prot�ger tes images reste selon moi
un petit logo plac� � un endroit strat�gique sur l'image. C'est
difficile � enlever, vu que �a d�truit les pixels de la zone.

Bonne chance !

Bertrand Lenoir-Welter

unread,
Jun 24, 2009, 4:38:11 PM6/24/09
to
Sylvain SF :

>
> je suis oblig� de maintenir que s'il se condamne � tous
> ces efforts pour que le contenu puisse �tre r�cup�r� pour
> tout coll�gien d�butant, ce sont "des efforts pour rien".

Pour ma part, je n'ai jamais vu un "coll�gien d�butant" capable d'�crire
une DLL proxy ou casser un code de chiffrage en d�sassemblant un
programme. Mais bon, je dois �tre largu�.

Sylvain SF

unread,
Jun 24, 2009, 5:05:28 PM6/24/09
to
Zeldus a �crit :
>
> OK pour vos diff�rentes remarques mais en incluant cette fois la
> fonction de d�chiffrage dans l'exe principal, je doute qu'il soit si
> simple que �a de r�cup�rer *en clair* une cl� [...].

cela ne le sera pas et garantira la r�alisation du but recherch�.

> Il existe des techniques de programmation pour avoir un �cran noir � la
> place de la photo vis�e lors d'un copie d'�cran. J'en ai fait
> l'exp�rience avec PowerDVD lors de la lecture de blu-ray sous Windows.

"glav" a �pondu, c'est la gestion d'incrustation qui produit cela,
elle peux �tre d�sactiv�e.

> Il �tait impossible de faire des captures d'�cran en Full HD via le menu
> du logiciel

en effet votre seule option serait logicielle.

� savoir si vous utilisez une API syst�me pour jouer la vid�o,
celle-ci peut �tre hook�e et le stream vid�o peut �tre captur�,
autre option tr�s co�teuse en d�veloppement vous rendez vous-m�me
par code chaque frame. cela d�passe compl�tement votre objectif
initial et ne m�rite s�rement pas d'�tre mis en �uvre (car
un peu plus dur que de simplement griser l'option capture
si le mode est HD).

> je ne vois pas l'int�r�t de faire un hook sur le player pour
> capturer un Flash puisqu'on perd toute l'interactivit� et le code

> actionscript mis en place dans le fichier d'origine.

ah bon ? flash est un des trucs les plus stupides, il ne sait rien
jouer tant que l'int�gralit� de du script n'est pas charg�, et par
script j'entends ici tous les �l�ments vectoriels requis, toutes les
bitmap requises et tout le "sc�nario" (dont les actionscripts) jouant
cela, l� o� flash se surpasse c'est simplement pour mixer tout cela
en une pur�e dont il est impossible d'extraire un �l�ment particulier
mais capturer l'ensemble du machin flash reste possible (et non simple).

Sylvain.

Marc Espie

unread,
Jun 25, 2009, 3:53:27 AM6/25/09
to
In article <4a426f48$0$19643$426a...@news.free.fr>,
Zeldus <n...@email.com> wrote:

>"Sylvain SF" <syl...@boiteaspam.info> a �crit dans le message de
>news:4a42653c$0$12657$ba4a...@news.orange.fr...

>> => des efforts pour rien et protection nulle.

>> vous devez mettre les ciphers et la cl� (pas un mot de passe) dans
>> l'appli. (en essayant de dissimuler la cl� autant que faire ce peux)
>> sinon une DLL cod� � 2mn12 intercal�e entre votre appli et la vraie
>> DLL r�cup�rera les cl�s, mots de passe ou autre contenu (qui sortirait
>> en clair de la DLL).

>OK pour vos diff�rentes remarques mais en incluant cette fois la fonction de
>d�chiffrage dans l'exe principal, je doute qu'il soit si simple que �a de
>r�cup�rer *en clair* une cl� dans une appli compil�e en code binaire
>executable (que ce soit programm� au d�part en C++ ou en Delphi) avec un
>�diteur hexad�cimal.

C'est juste que tu as peu l'experience de ce genre de choses. C'est beaucoup
plus simple que la plupart des gens le croient. C'est ce qui rend la securite
des applications informatiques si difficile: la sitution est fortement
disymetrique, a l'avantage du pirate. Il suffit de trouver une facon de
rentrer, et ca ne se fait generalement pas en decodant et en comprenant
toute l'application, mais juste le tout petit bout qui interesse le pirate.

Si tu as l'occasion, trouve quelqu'un specialise dans les tests d'intrusion en
boite noire, et regarde-le travailler, tu seras surpris du grand nombre
d'attaques qui sont testables en 1h, et de la faible technicite
necessaire pour les conduire...

Zeldus

unread,
Jun 25, 2009, 9:14:50 AM6/25/09
to

"Sylvain SF" <syl...@boiteaspam.info> a �crit dans le message de
news:4a429517$0$12642$ba4a...@news.orange.fr...


> mais capturer l'ensemble du machin flash reste possible (et non simple).


Vous voulez dire sous forme de fichier SWF natif ou sous forme de fichier
vid�o "brut" ce qui change quand m�me beaucoup de chose. Sachant que les
applications bancaires e-carte bleue sont �crites sous Flash 9, je doute
qu'il soit si simple que �a de r�cup�rer le code source actionscript d'une
appli Flash compil�e, sinon, il y a bien longtemps que ce syst�me aurait �t�
craqu�.

Par ailleurs, pour la diffusion la plus "s�curis�e" d'applications
multim�dias et interractives, la solution Director Shockwave (grand fr�re de
Flash) est la plus utilis�e (la plupart des CD ROM et DVD ROM �ducatifs et
culturels vendus dans le commerce ont �t� d�velopp�s sous cet
environnement). Et surtout, il y a une gestion native et compl�te de la 3D
qui fait cruellement d�faut � Flash.

Merci � tous pour vos diff�rents conseils qui me seront pr�cieux dans
l'�criture de cette appli.

Pierre


Sylvain SF

unread,
Jun 25, 2009, 10:49:27 AM6/25/09
to
Zeldus a �crit :

>
> Vous voulez dire sous forme de fichier SWF natif ou sous forme de
> fichier vid�o "brut" ce qui change quand m�me beaucoup de chose.

je parle du flux brut (le .swf).

> que les applications bancaires e-carte bleue sont �crites sous Flash 9,
> je doute qu'il soit si simple que �a de r�cup�rer le code source
> actionscript d'une appli Flash compil�e, sinon, il y a bien longtemps
> que ce syst�me aurait �t� craqu�.

?!? o� est l'argument de s�curit� ??

flash a �t� choisi parce que �a clignote, �a permet de coller sa
pub (sa chartre graphique) et parce que pour 1 d�veloppeur web
capable de g�rer � la main un protocole SSL correct on trouvera
72 bidouilleurs flash tr�s � l'aise pour programmer � la souris.

flash ne fait ici (pour une ""applciation bancaire"") que d'essayer
de masquer la saisie du num�ro de carte, en �vitant les keys-logger.

le choix est d'autant plus (non-)pertinent qu'un num�ro "e-carte" est
justement jetable � usage unique (pour son usage sur site marchand)
et discutable ou r�l�vateur de la non-ma�trise de SSL par les banques
(pour l'obtention de ce num�ro unique).

> Par ailleurs, pour la diffusion la plus "s�curis�e" d'applications
> multim�dias et interractives, la solution Director Shockwave (grand
> fr�re de Flash) est la plus utilis�e (la plupart des CD ROM et DVD ROM
> �ducatifs et culturels vendus dans le commerce ont �t� d�velopp�s sous
> cet environnement). Et surtout, il y a une gestion native et compl�te de
> la 3D qui fait cruellement d�faut � Flash.

c'est un argument d'autorit� publicitaire: flash/shockwave serait
le meilleur parce qu'il a pollu� tout le march�. je n'adh�re pas
et ce n'est pas une preuve de s�curit�.

Sylvain.

Zeldus

unread,
Jun 25, 2009, 11:21:30 AM6/25/09
to

"Sylvain SF" <syl...@boiteaspam.info> a �crit dans le message de
news:4a438e74$0$17750$ba4a...@news.orange.fr...

>
> je parle du flux brut (le .swf).


Et donc, vous �tes capable de r�cup�rer le fichier .swf sous format original
*non chiffr�* contenu dans une DLL au d�part crypt� puis d�chiffr� en
interne par l'application exe ? On ne parle pas de page Internet ni de
navigateur mais d'une application binaire cod�e en C++. Vous l'avez d�j�
fait avant d'affirmer que cela se faisait sans probl�me ? Et si oui, avez
vous des sources ?


> ?!? o� est l'argument de s�curit� ??

Le r�sultat est l�, depuis 4 ou 5 ans qu'existe l'e-carte bleue, personne
n'a r�ussi � d�compiler et publier le code source actionscript de cette
application. On peut lire dans ce fil ou ailleurs qu'il est facile de
d�compiler et retrouver le code source d'un fichier binaire cod� au d�part
en C++ ou en Delphi, sans parler du Flash. Or dans ce cas pr�cis, personne
n'a r�ussi � le faire. C'est pour moi une preuve qu'il n'est peut �tre pas
aussi simple que �a de cracker des applications Flash ou Sockwave.


>
>> Par ailleurs, pour la diffusion la plus "s�curis�e" d'applications
>> multim�dias et interractives, la solution Director Shockwave (grand fr�re
>> de Flash) est la plus utilis�e (la plupart des CD ROM et DVD ROM
>> �ducatifs et culturels vendus dans le commerce ont �t� d�velopp�s sous
>> cet environnement). Et surtout, il y a une gestion native et compl�te de
>> la 3D qui fait cruellement d�faut � Flash.
>
> c'est un argument d'autorit� publicitaire: flash/shockwave serait
> le meilleur parce qu'il a pollu� tout le march�. je n'adh�re pas
> et ce n'est pas une preuve de s�curit�.


L'anc�tre de Director a �t� invent� en 1985, � une �poque ou les photos
s'affichaient en maximum 16 ou 32 couleurs sur les ordinateurs personnels. A
l'�poque, aucun autre outil ne permettait de faire du multim�dia de mani�re
aussi simple, d'ailleurs, le terme multim�dia n'existait m�me pas. Il a �t�
rejoint en 1993 par Flash afin de faciliter le d�ploiement du multim�dia sur
le web. Le fait que ces outils soient omnipr�sents dans leur domaine montre
peut �tre qu'ils ont r�ussi l� ou d'autres ont �chou�... Permettre � des
designers non experts en programmation de concevoir de v�ritables
applications multim�dia allant de la simple photo au contenu 3D du type
r�alit� virtuelle. Programmeur est un v�ritable m�tier, infographiste en est
un autre, et le meilleur moyen de r�unir les deux sans trop de difficult�,
c'est justement Flash ou Shockwave.

Je vous laisse imaginer le travail que repr�senterait le codage en C++ natif
de la visite virtuelle du Louvre ou du mus�e d'Orsay avec balade en 3D dans
les diff�rentes all�es...

Pierre

Sylvain SF

unread,
Jun 25, 2009, 12:05:10 PM6/25/09
to
Zeldus a �crit :

>
> Et donc, vous �tes capable de r�cup�rer le fichier .swf sous format
> original *non chiffr�* contenu dans une DLL au d�part crypt� puis
> d�chiffr� en interne par l'application exe ?

on tourne en rond l�. ce comportement est le protocole que
je (que l'on) vous ai sugg�r�.

> On ne parle pas de page Internet ni de navigateur mais d'une
> application binaire cod�e en C++.

v'oui, et vous avez cod� vous m�me "en C++" le player flash...

ah moins que vous n'utilisiez plut�t l'OCX flash, zut on va
re-pouvoir le hooker/hacker. votre appli. n'est qu'un container
exactement comme un navigateur "binaire cod� en C++".

> Le r�sultat est l�, depuis 4 ou 5 ans qu'existe l'e-carte bleue,
> personne n'a r�ussi � d�compiler et publier le code source actionscript

on s'en tape de son code, il ne fait rien � part de la *saisie*.
vous avez vu bcp de commer�ants se faire d�compiler leur terminal
CB ? non, tout b�tement parce qu'il ne contient rien non plus
(sauf les autorisations du jour non transmisses).

par contre j'ai vu de nombreuses pages de phishing invitant au
t�l�chargement d'une mise � jour (fake) de flash-player pour
saisir ses infos bancaires ... et les neuneux incapables de
v�rifier un cert mais abruti de s�quences flash de s'empresser
de cliquer.

> On peut lire dans ce fil ou ailleurs qu'il est
> facile de d�compiler et retrouver le code source d'un fichier binaire

on vous a plut�t dit que l'on ne proc�dait g�n�ralement pas ainsi.

> L'anc�tre de Director a �t� invent� en 1985, [........]

l� on est HS sur tous newsgroups.

> Je vous laisse imaginer le travail que repr�senterait le codage en C++
> natif de la visite virtuelle du Louvre ou du mus�e d'Orsay avec balade
> en 3D dans les diff�rentes all�es...

j'ai achet� la premi�re �dition de ce CD, je n'ai pu l'utiliser que
qlq mois sur le PC de l'�poque; parce que �videmment ce format de m.r.e
propri�taire n'�tait pas compatible avec la version suivante du player
distribu� sur l'OS suivant.

Sylvain.

Marc Espie

unread,
Jun 25, 2009, 2:59:24 PM6/25/09
to
In article <4a439602$0$2957$426a...@news.free.fr>,

Zeldus <n...@email.com> wrote:
>
>"Sylvain SF" <syl...@boiteaspam.info> a �crit dans le message de
>news:4a438e74$0$17750$ba4a...@news.orange.fr...
>>
>> je parle du flux brut (le .swf).


>Et donc, vous �tes capable de r�cup�rer le fichier .swf sous format original
>*non chiffr�* contenu dans une DLL au d�part crypt� puis d�chiffr� en
>interne par l'application exe ? On ne parle pas de page Internet ni de
>navigateur mais d'une application binaire cod�e en C++. Vous l'avez d�j�
>fait avant d'affirmer que cela se faisait sans probl�me ? Et si oui, avez
>vous des sources ?


Flash... hum,

http://blogs.zdnet.com/security/?p=1189
http://blogs.zdnet.com/security/?p=1030

enfin bon, non rien....

Glav

unread,
Jun 25, 2009, 3:23:18 PM6/25/09
to
Bonjour,

> Le r�sultat est l�, depuis 4 ou 5 ans qu'existe l'e-carte bleue,
> personne n'a r�ussi � d�compiler et publier le code source actionscript
> de cette application. On peut lire dans ce fil ou ailleurs qu'il est
> facile de d�compiler et retrouver le code source d'un fichier binaire
> cod� au d�part en C++ ou en Delphi, sans parler du Flash. Or dans ce cas
> pr�cis, personne n'a r�ussi � le faire. C'est pour moi une preuve qu'il
> n'est peut �tre pas aussi simple que �a de cracker des applications
> Flash ou Sockwave.

Si. http://www.sothink.com/product/flashdecompiler/download.htm
Ce logiciel d�compile � volont� tous les SWF de toutes les versions de
flash apparues � ce jour. Le fait est qu'il n'y a aucun int�ret �
d�compiler un swf de saisie de code de CB, puisque le swf ne s'occupe
que de l'interface (les formes graphiques, les images, etc.). Il se
contente ensuite d'envoyer les donn�es entr�e � un php (ou cgi ou autre)
cot� serveur sans faire aucune modification (rien de moins s�curis� que
de mettre l'algo de protection cot� client !). Flash a plus le r�le de
l'esth�tique ici.

Zeldus

unread,
Jun 25, 2009, 5:22:25 PM6/25/09
to

"Glav" <spr3a...@gmail.com> a �crit dans le message de
news:h20ir9$kg1$1...@aioe.org...

> Si. http://www.sothink.com/product/flashdecompiler/download.htm
> Ce logiciel d�compile � volont� tous les SWF de toutes les versions de
> flash apparues � ce jour. Le fait est qu'il n'y a aucun int�ret �
> d�compiler un swf de saisie de code de CB, puisque le swf ne s'occupe que
> de l'interface (les formes graphiques, les images, etc.). Il se contente
> ensuite d'envoyer les donn�es entr�e � un php (ou cgi ou autre) cot�
> serveur sans faire aucune modification (rien de moins s�curis� que de
> mettre l'algo de protection cot� client !). Flash a plus le r�le de
> l'esth�tique ici.

Merci pour l'info, cela dit, le fait de pouvoir d�compiler aussi facilement
des .swf pose le probl�me de la r�utilisation de mani�re ultra facile des
�l�ments graphiques se trouvant � l'int�rieur ainsi que du code (pour les
jeux par exemple). Quant � l'appli e-carte bleue, il y a au moins les
adresses IP des serveurs bancaires et le protocole de cryptage pour le login
/ password, non ?

Par contre, attention, Shockwave n'a rien � voir avec Flash, ce n'est pas le
m�me produit Adobe (Director), ni le m�me compilateur. Les fichiers
Shockwave sont des .DCR et le logiciel que tu donnes ne fonctionne pas sur
ce type de fichier.

Bonne soir�e,

Pierre


Marc Espie

unread,
Jun 25, 2009, 7:37:35 PM6/25/09
to
In article <4a43ea99$0$23516$426a...@news.free.fr>,

Zeldus <n...@email.com> wrote:
>
>"Glav" <spr3a...@gmail.com> a �crit dans le message de
>news:h20ir9$kg1$1...@aioe.org...
>> Si. http://www.sothink.com/product/flashdecompiler/download.htm
>> Ce logiciel d�compile � volont� tous les SWF de toutes les versions de
>> flash apparues � ce jour. Le fait est qu'il n'y a aucun int�ret �
>> d�compiler un swf de saisie de code de CB, puisque le swf ne s'occupe que
>> de l'interface (les formes graphiques, les images, etc.). Il se contente
>> ensuite d'envoyer les donn�es entr�e � un php (ou cgi ou autre) cot�
>> serveur sans faire aucune modification (rien de moins s�curis� que de
>> mettre l'algo de protection cot� client !). Flash a plus le r�le de
>> l'esth�tique ici.
>
>Merci pour l'info, cela dit, le fait de pouvoir d�compiler aussi facilement
>des .swf pose le probl�me de la r�utilisation de mani�re ultra facile des
>�l�ments graphiques se trouvant � l'int�rieur ainsi que du code (pour les
>jeux par exemple). Quant � l'appli e-carte bleue, il y a au moins les
>adresses IP des serveurs bancaires et le protocole de cryptage pour le login
>/ password, non ?

Si tu comptes sur une protection technique contre la reutilisation
d'elements graphiques, tu te fourres le doigt dans l'oeil jusqu'au doigt
de pied.

La seule protection valable est d'ordre legal. Tu veux proteger tes elements
graphiques ? le droit d'auteur est la pour toi.

Sylvain SF

unread,
Jun 25, 2009, 8:20:56 PM6/25/09
to
Marc Espie a �crit :

>
> Tu veux proteger tes elements graphiques ?
> le droit d'auteur est la pour toi.

avec le thread juste pr�c�dent "R�cup�rer [du contenu] � partir
d'une page HTML", on a (� peu pr�s) fait le tour ;)

SF.

Vincent Burel

unread,
Jun 28, 2009, 5:24:43 AM6/28/09
to

"Patrick 'Zener' Brunet" <use.link.i...@ddress.invalid> wrote in
message news:h1tl7d$h5o$1...@shakotay.alphanet.ch...

Je ne suis pas suffisamment cal� pour garantir que mon vocabulaire est
adapt�..
Par contre je sais , par la pratique, qu'il est tr�s simple de mettre en
place de "encodage" sym�trique (XOR) qui ne pourra pas �tre cass� sans avoir
en m�me temps [1] l'algo de fabrication de la s�rie (d'encryption). [2] le
mot de passe.

Si cela ne prot�ge pas le contenu (tout flux, tout rendering... sont
capturables) cela prot�ge l'int�grit� de la DLL et cela empeche toute
corruption de celle ci.

Maintenant , comme il a �t� dit, tout peut se p�ter, il suffit de faire une
DLL fake, il suffit de d�sassembler la DLL etc... le fait est que dans la
pratique tr�s peu de produit (DLL ,EXE ...) prot�g� de la sorte, sont
crack�s. Pour une simple raison : ceux qui auraient envi de le faire n'ont
ni la comp�tence ni le temps de l'acqu�rir, ceux qui auraient cette
comp�tence n'ont g�n�ralement aucun int�r�t � perdre du temps l� dessus.

a+
VB


Marc Espie

unread,
Jun 28, 2009, 6:21:02 AM6/28/09
to
In article <4a473818$0$12615$ba4a...@news.orange.fr>,

Vincent Burel <vincen...@nospam.wanadoo.fr> wrote:
>Maintenant , comme il a �t� dit, tout peut se p�ter, il suffit de faire une
>DLL fake, il suffit de d�sassembler la DLL etc... le fait est que dans la
>pratique tr�s peu de produit (DLL ,EXE ...) prot�g� de la sorte, sont
>crack�s. Pour une simple raison : ceux qui auraient envi de le faire n'ont
>ni la comp�tence ni le temps de l'acqu�rir, ceux qui auraient cette
>comp�tence n'ont g�n�ralement aucun int�r�t � perdre du temps l� dessus.

Et d'ou sors-tu cette affirmation ?

Il y a des tonnes de DLL et de logiciels crackes dans la nature. Des que
ca presente le moindre interet, il y a des gens pour le faire.

Les seuls logiciels non crackes sont ceux qui sont suffisamment nuls pour
que ca n'interesse personne....

Steph

unread,
Jun 27, 2009, 6:47:27 AM6/27/09
to
"Marc Espie" <es...@lain.home> a �crit dans le message de news:
h27g6e$2mtn$1...@saria.nerim.net...

> Et d'ou sors-tu cette affirmation ?
>
> Il y a des tonnes de DLL et de logiciels crackes dans la nature. Des que
> ca presente le moindre interet, il y a des gens pour le faire.
>
> Les seuls logiciels non crackes sont ceux qui sont suffisamment nuls pour
> que ca n'interesse personne....

Simplement parce que �a prend trop de temps pour pas grand chose au final.


Vincent Burel

unread,
Jun 28, 2009, 4:28:08 PM6/28/09
to

"Marc Espie" <es...@lain.home> wrote in message
news:h27g6e$2mtn$1...@saria.nerim.net...

> In article <4a473818$0$12615$ba4a...@news.orange.fr>,
> Vincent Burel <vincen...@nospam.wanadoo.fr> wrote:
> >Maintenant , comme il a �t� dit, tout peut se p�ter, il suffit de faire
une
> >DLL fake, il suffit de d�sassembler la DLL etc... le fait est que dans la
> >pratique tr�s peu de produit (DLL ,EXE ...) prot�g� de la sorte, sont
> >crack�s. Pour une simple raison : ceux qui auraient envi de le faire
n'ont
> >ni la comp�tence ni le temps de l'acqu�rir, ceux qui auraient cette
> >comp�tence n'ont g�n�ralement aucun int�r�t � perdre du temps l� dessus.
>
> Et d'ou sors-tu cette affirmation ?

Et toi ? d'o� tu parles ? :-)

> Il y a des tonnes de DLL et de logiciels crackes dans la nature. Des que
> ca presente le moindre interet, il y a des gens pour le faire.

Je ne pense pas que ce soit "l'int�r�t" qui motive le "cracking ", c'est
plutot la "possibilit�" de le faire (comme pour les mp3...). Les logiciels
crack�s sont d'abord ceux qui ne pr�sentent pas de protection r�elle, ou
tr�s faible. les logiciels ou l'on peut copier l'installation et ceux qu'on
peut cracker par le biais d'un outil sp�cifique. Mais d�s qu'il faut mettre
la main � la patte, programmer des outils, faire du d�codage, du
d�sassemblage, y'a plus grand monde.

> Les seuls logiciels non crackes sont ceux qui sont suffisamment nuls pour
> que ca n'interesse personne....

Bof, beaucoup de logiciels crack�s ou pr�sent�s comme tels, sont des
freeware, des versions de d�mo, des version NFR, des versions
promotionnelles (un pourcentage important ne pr�sente d'ailleurs aucun
int�r�t, et ne sont jamais utilis�... ).

VB

Mickaël Wolff

unread,
Jun 28, 2009, 5:17:38 PM6/28/09
to
Vincent Burel a �crit :

> Bof, beaucoup de logiciels crack�s ou pr�sent�s comme tels, sont des
> freeware, des versions de d�mo, des version NFR, des versions
> promotionnelles (un pourcentage important ne pr�sente d'ailleurs aucun
> int�r�t, et ne sont jamais utilis�... ).

C'est vrai que les protections SecuROM permettent aux jeux vid�os de
ne jamais �tre pirat�.

Bienvenue dans le monde r�el.

--
Micka�l Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>

Patrick 'Zener' Brunet

unread,
Jun 28, 2009, 6:21:10 PM6/28/09
to
Bonsoir.

"Vincent Burel" <vincen...@nospam.wanadoo.fr> a �crit dans le message

de news 4a473818$0$12615$ba4a...@news.orange.fr


> "Patrick 'Zener' Brunet" <use.link.i...@ddress.invalid>
> wrote in message news:h1tl7d$h5o$1...@shakotay.alphanet.ch...

>> "Vincent Burel" <vincen...@nospam.wanadoo.fr> a �crit dans le
>> message de news 4a41e381$0$17074$ba4a...@news.orange.fr
>>> "Jean-Claude BELLAMY" <Jean-Clau...@wanadoo.fr> wrote in
>>> message news:4a41dfa0$0$12660$ba4a...@news.orange.fr...
>>>> "Zeldus" <n...@email.com> a �crit dans le message de
>>>> news:4a414044$0$27809$426a...@news.free.fr...
>>>>>

>>>[..]

>> Navr� d'�tre chiant, mais pour le principe, la culture g�n�rale et
>> la qualit� de la documentation du futur logiciel:
>> il vaudrait mieux que ces ressources soient *chiffr�es*, car
>> crypt�es, elles seraient inexploitables m�me pour l'application
>> l�gitime: http://fr.wikipedia.org/wiki/Cryptographie
>>
>> Et comme il a �t� dit, effectivement, l'application doit garder le
>> contr�le de l'op�ration de d�chiffrement car il serait extr�mement
>> facile de r�cup�rer et afficher le mot de passe avec une DLL fake.
>

> Je ne suis pas suffisamment cal� pour garantir que mon vocabulaire

> est adapt�...

http://www.apprendre-en-ligne.net/crypto/menu/index.html

Site tr�s bien fait et tr�s instructif.
Notamment on y voir que la probl�matique remonte � la nuit des temps et
qu'il est *tr�s difficile* de garantir l'inviolabilit� d'un syst�me:
- a priori �a ne peut �tre que relatif et temporaire (lire la citation
d'Edgar Allan Poe),
- c'est tr�s frustrant parce qu'on se prend au jeu, on a 100 fois la
conviction d'avoir enfin trouv� le Graal, et chaque fois on retombe dans la
m�me quadruple alternative:
- - soit on passe trop d'information et donc c'est trou� d�s le d�part,
- - soit on n'en passe pas assez et c'est inutilisable pour le d�chiffreur
l�gitime,
- - soit c'est tr�s lourd et pourtant seulement capable de r�sister � une
puissance de calcul "raisonnable � l'instant donn�",
- - soit c'est simple et d�finitivement inviolable mais �a repose sur un
pouvoir magique ou autre comp�tence surnaturelle, donc c'est inutilisable en
dehors d'une d�mo d'�cole.

Seul le chiffre de Vernam est d�finitivement inviolable, mais ce n'est qu'un
transfert de la difficult� vers la transmission (ou cr�ation de part et
d'autre) de la cl�.

Sur fr.misc.cryptologie, il y a r�guli�rement des gens qui viennent affirmer
avoir trouv� le Graal, et soit ils se font gentiment d�cevoir, soit ils
insistent, rajoutant sparadrap sur sparadrap sans pouvoir boucher le trou,
deviennent agressifs, et finissent par se rendre ridicules.

Fort heureusement, la qu�te de ce Graal reste ouverte, mais la simple
faisabilit� th�orique d'un tel protocole sans aucun des 4 travers ci-dessus
reste � d�montrer. On en a pas mal discut�...

> Par contre je sais , par la pratique, qu'il est tr�s simple de
> mettre en place de "encodage" sym�trique (XOR) qui ne pourra pas
> �tre cass� sans avoir en m�me temps [1] l'algo de fabrication de la
> s�rie (d'encryption). [2] le mot de passe.
>

exemple simple:
http://tpe-crypto.eg2.fr/fonctions.pdf

"je sais" est � reconsid�rer par rapport � ce qui pr�c�de, et ce qui suit:

> Si cela ne prot�ge pas le contenu (tout flux, tout rendering... sont
> capturables) cela prot�ge l'int�grit� de la DLL et cela empeche
> toute corruption de celle ci.
>

Vous voulez dire que �a permet de d�tecter une DLL ill�gitime ?
Avec le m�me niveau de garantie, je le crains.

> Maintenant , comme il a �t� dit, tout peut se p�ter, il suffit de
> faire une DLL fake, il suffit de d�sassembler la DLL etc... le fait
> est que dans la pratique tr�s peu de produit (DLL ,EXE ...) prot�g�
> de la sorte, sont crack�s. Pour une simple raison : ceux qui
> auraient envi de le faire n'ont ni la comp�tence ni le temps de
> l'acqu�rir, ceux qui auraient cette comp�tence n'ont g�n�ralement
> aucun int�r�t � perdre du temps l� dessus.
>

L'humain a cette caract�ristique presque unique: le go�t du jeu, de la
futilit�.

Le simple fait de tenter de prot�ger un truc lance automatiquement un d�fi
que quelqu'un va tenter de relever.
Il y a aussi des gens qui sont intimement convaincus que toute forme de
secret est ill�gitime et doit �tre cass�.
Et plus �a r�siste, plus il est motivant d'�tre celui qui va signer et
publier l'exploit.

Bref, a priori ce syst�me sera g�nant, d�courageant pour les novices qui
n'ont pas vraiment envie de le casser, mais sans plus, et m�me eux
trouveront un jour le toolkit en t�l�chargement si le contenu de la DLL en
vaut la peine.

Pour rire un peu:
http://tinyurl.com/kuowhr (alias pour)
http://www.vbfrance.com/codes/CRYPTAGE-XOR-FONCTION-CLE-CARACTERE-PRECEDENT_
23754.aspx

Zeldus

unread,
Jun 29, 2009, 5:15:00 AM6/29/09
to

"Marc Espie" <es...@lain.home> a �crit dans le message de
news:h27g6e$2mtn$1...@saria.nerim.net...

>
> Et d'ou sors-tu cette affirmation ?
>
> Il y a des tonnes de DLL et de logiciels crackes dans la nature. Des que
> ca presente le moindre interet, il y a des gens pour le faire.
>
> Les seuls logiciels non crackes sont ceux qui sont suffisamment nuls pour
> que ca n'interesse personne....


Mon exp�rience sur Windows:

La plupart des logiciels crack�s servent tous de vecteurs pour balancer des
trojans et autres virus sur les PC de gens cr�dules.

J'ai lu un article dans la presse informatique que m�me les sites qui
vendent les photoshop, illustrator et autres excel pirat�s "pr�t � l'emploi"
a 50 euros au lieu de 1000 en profitent pour balancer un trojan avec... Tout
ce qui peut permettre d'infecter des PC pour les transformer en PC zombie
int�resse les mafias (en particulier d'Europe de l'Est) et autres
malfaisants du Net. Derri�re, il y a de l'argent, beaucoup d'argent qui est
dra�n� par cette activit�. Le spam qu'on re�oit dans nos BAL, c'est un
business tr�s lucratif. Ces gens l� travaillent �videmment sur les logiciels
les plus populaires pour infecter le maximum de monde. Photoshop est bien
plus int�ressant pour eux que le logiciel qui va pr�senter la vistite du
Louvre en 3D. Et pourtant, �a ne veut pas dire que le premier est g�nial et
le second nul, ils n'ont simplement pas le m�me "audimat".

Si on suit ce que tu dis, le nombre de softs crack�s sur Mac �tant bcp moins
nombreux que sur Windows, cela voudrait dire que cette plateforme est
"nulle" ?? Non, mais il y a bcp moins d'utilisateurs, donc, bcp moins
int�ressant pour les spammeurs et mafieux.

Pierre

Vincent Burel

unread,
Jun 29, 2009, 5:14:56 AM6/29/09
to

"Patrick 'Zener' Brunet" <use.link.i...@ddress.invalid> wrote in
message news:h28qcu$r8p$1...@shakotay.alphanet.ch...
> Bonsoir.

>
> Seul le chiffre de Vernam est d�finitivement inviolable, mais ce n'est
qu'un
> transfert de la difficult� vers la transmission (ou cr�ation de part et
> d'autre) de la cl�.
>
> Sur fr.misc.cryptologie, il y a r�guli�rement des gens qui viennent
affirmer
> avoir trouv� le Graal, et soit ils se font gentiment d�cevoir, soit ils
> insistent, rajoutant sparadrap sur sparadrap sans pouvoir boucher le trou,
> deviennent agressifs, et finissent par se rendre ridicules.
>
> Fort heureusement, la qu�te de ce Graal reste ouverte, mais la simple
> faisabilit� th�orique d'un tel protocole sans aucun des 4 travers
ci-dessus
> reste � d�montrer. On en a pas mal discut�...

En th�orie vous avez raison. En pratique c'est un peu diff�rent.

Je suis d'accord pour dire qu'un coffre fort peut etre aussi solide que
possible, aussi �pais que l'on veut avec autant de v�rou et que l'on peu
imaginer, il suffit simplement d'avoir la clef pour l'ouvrir. Ca ne remets
pas en cause l'utilit� des coffres-forts. Mais ca donne une id�e de la
m�thode g�n�rale du "cracking". En informatique, la plupart des "piratages"
sont le fruit de vol � la source, et non le r�sultat d'une g�niale r�flexion
ou d'une quelconque mise en branle de mati�re grise. Car je le r�p�te , d�s
qu'il faut casser des codes, ca devient tr�s difficile pour le commun des
mortels (m�me informaticien/math�maticien chevronn�).

> L'humain a cette caract�ristique presque unique: le go�t du jeu, de la
> futilit�.
> Le simple fait de tenter de prot�ger un truc lance automatiquement un d�fi
> que quelqu'un va tenter de relever.
> Il y a aussi des gens qui sont intimement convaincus que toute forme de
> secret est ill�gitime et doit �tre cass�.
> Et plus �a r�siste, plus il est motivant d'�tre celui qui va signer et
> publier l'exploit.

Ha ouai ! Alors faisons un test et voyons si les humains dont vous parlez
sont nombreux !

voici un lien vers un fichier binaire (1040 octets) :
http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
ce fichier contient un texte ASCII tout � fait normal, encod� avec une clef
sym�trique :
char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.

Est-ce qu'il y aura qqn pour relever le d�fit et me dire quel message
contient ce fichier ? En combien de temps ?

VB


Zeldus

unread,
Jun 29, 2009, 5:21:06 AM6/29/09
to

"Vincent Burel" <vincen...@nospam.wanadoo.fr> a �crit dans le message de
news:4a473818$0$12615$ba4a...@news.orange.fr...

>> Par contre je sais , par la pratique, qu'il est tr�s simple de mettre en
> place de "encodage" sym�trique (XOR) qui ne pourra pas �tre cass� sans
> avoir
> en m�me temps [1] l'algo de fabrication de la s�rie (d'encryption). [2] le
> mot de passe.
>
> Si cela ne prot�ge pas le contenu (tout flux, tout rendering... sont
> capturables) cela prot�ge l'int�grit� de la DLL et cela empeche toute
> corruption de celle ci.


Je pensais utiliser un codage XOR avec une cl� suffisamment longue,
justement pour chiffrer les fichiers contenus dans la DLL et pouvoir les
r�cup�rer dans l'appli exe principale. Je pense que c'est un moyen
relativement simple � mettre en place (j'ai d�j� eu l'occasion de programmer
un cryptage XOR en C++, �a se fait facilement) et qui permet une certaine
protection, �videmment loin d'�tre parfaite, nous sommes bien d'accord.

Pierre

robert

unread,
Jun 29, 2009, 7:25:55 AM6/29/09
to
Jean-Claude BELLAMY a �crit :
> "Zeldus" <n...@email.com> a �crit dans le message de
> news:4a414044$0$27809$426a...@news.free.fr...
>> Bonjour,

>>
>> Dans le cadre du d�veloppement d'un projet sous Windows avec Visual
>> Studio ou CodeGear C++ , est il possible d'int�grer directement des
>> fichiers multim�dia (JPG, PNG, AVI, AAC et Flash) dans une DLL lors de
>> sa cr�ation ?
>>
>> Le but est de pouvoir r�utiliser ces fichiers depuis un executable
>> via des fonctions tout en emp�chant ou rendant difficile leur
>> utilisation en dehors du cadre de l'aplpli (pour les droits
>> d'auteurs), en particulier pour la vid�o.
>
>
> Oui, on peut mettre tout ce qu'on veut en binaire gr�ce aux ressources
> de type RCDATA.
> http://msdn.microsoft.com/en-us/library/aa381039(VS.85).aspx
>
>
> Par contre, laisse tomber l'id�e de prot�ger ces donn�es !
> Avec un �diteur/extracteur de ressources tel que "Resource Hacker"
> (freeware g�nial), on fait absolument tout ce qu'on veut !
> http://www.angusj.com/resourcehacker/
>
>
> --
> May the Force be with You!
> La Connaissance s'accro�t quand on la partage
> ----------------------------------------------------------
> Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
>
Bonjour,

Une alternative au vieillissant Resource Hacker : http://www.resedit.net/

robert

unread,
Jun 29, 2009, 7:27:04 AM6/29/09
to
Vincent Burel a �crit :
Si tu utilise un masque jetable c'est �videmment impossible de
d�chiffrer le message...

Glav

unread,
Jun 29, 2009, 7:27:09 AM6/29/09
to
Bonjour,

> Mon exp�rience sur Windows:
>
> La plupart des logiciels crack�s servent tous de vecteurs pour balancer
> des trojans et autres virus sur les PC de gens cr�dules.
Attention, �a c'est l'argument des �diteurs pour dissuader d'utiliser
des cracks. Et la dissuasion "virus", elle a disparue depuis un bail,
maintenant qu'�quiper son PC contre les malwares est gratuit et � la
port� de tous.

> J'ai lu un article dans la presse informatique que m�me les sites qui
> vendent les photoshop, illustrator et autres excel pirat�s "pr�t �

> l'emploi" a 50 euros au lieu de 1000 en profitent pour balancer un
> trojan avec... Tout ce qui peut permettre d'infecter des PC pour les

> transformer en PC zombie int�resse les mafias (en particulier d'Europe
> de l'Est) et autres malfaisants du Net. Derri�re, il y a de l'argent,
> beaucoup d'argent qui est dra�n� par cette activit�. Le spam qu'on
> re�oit dans nos BAL, c'est un business tr�s lucratif. Ces gens l�
> travaillent �videmment sur les logiciels les plus populaires pour
> infecter le maximum de monde. Photoshop est bien plus int�ressant pour
> eux que le logiciel qui va pr�senter la vistite du Louvre en 3D. Et
> pourtant, �a ne veut pas dire que le premier est g�nial et le second
> nul, ils n'ont simplement pas le m�me "audimat".
Tu connais beaucoup de monde qui *ach�te* un photoshop crack�, alors
qu'il y a un bon millier de cracks pour chaque version de photoshop sur
le net ? C'est la chose la plus facile � trouver, justement grace �
l'audimat dont tu parles. Il suffit de chercher "photoshop crack OR
serial OR keygen" pour s'en rendre compte. Aucune entreprise n'a le
monopole du cracking, et sachant que beaucoup de monde cherche un crack
pour le moindre logiciel � 1� qu'ils veulent utiliser, je doute que
l'entreprise dont tu parles fasse beaucoup de chiffre. Ce n'est pas
payer moins que les gens veulent, c'est ne rien payer du tout (quitte �
utiliser the Gimp).

> Si on suit ce que tu dis, le nombre de softs crack�s sur Mac �tant bcp

> moins nombreux que sur Windows, cela voudrait dire que cette plateforme
> est "nulle" ?? Non, mais il y a bcp moins d'utilisateurs, donc, bcp

> moins int�ressant pour les spammeurs et mafieux.
Il y a �a, et il y a aussi la philosophie Mac. La communaut� Mac a
choisi de payer plus cher; un prix �lev� serait gage de qualit�. Les
utilisateurs sont beaucoup moins port�s sur le crack.

Michael Doubez

unread,
Jun 29, 2009, 8:28:45 AM6/29/09
to
On 29 juin, 11:14, "Vincent Burel" <vincent.bu...@nospam.wanadoo.fr>
wrote:
> "Patrick 'Zener' Brunet" <use.link.in.signat...@ddress.invalid> wrote in
> messagenews:h28qcu$r8p$1...@shakotay.alphanet.ch...
>
>
>
> > Bonsoir.
>
> > Seul le chiffre de Vernam est définitivement inviolable, mais ce n'est
> qu'un
> > transfert de la difficulté vers la transmission (ou création de part et
> > d'autre) de la clé.
>
> > Sur fr.misc.cryptologie, il y a régulièrement des gens qui viennent
> affirmer
> > avoir trouvé le Graal, et soit ils se font gentiment décevoir, soit ils

> > insistent, rajoutant sparadrap sur sparadrap sans pouvoir boucher le trou,
> > deviennent agressifs, et finissent par se rendre ridicules.
>
> > Fort heureusement, la quête de ce Graal reste ouverte, mais la simple
> > faisabilité théorique d'un tel protocole sans aucun des 4 travers
> ci-dessus
> > reste à démontrer. On en a pas mal discuté...
>
> En théorie vous avez raison. En pratique c'est un peu différent.

>
> Je suis d'accord pour dire qu'un coffre fort peut etre aussi solide que
> possible, aussi épais que l'on veut avec autant de vérou et que l'on peu

> imaginer, il suffit simplement d'avoir la clef pour l'ouvrir. Ca ne remets
> pas en cause l'utilité des coffres-forts. Mais ca donne une idée de la
> méthode générale du "cracking". En informatique, la plupart des "piratages"
> sont le fruit de vol à la source, et non le résultat d'une géniale réflexion
> ou d'une quelconque mise en branle de matière grise. Car je le répète , dès
> qu'il faut casser des codes, ca devient trés difficile pour le commun des
> mortels (même informaticien/mathématicien chevronné).
>
> > L'humain a cette caractéristique presque unique: le goût du jeu, de la
> > futilité.
> > Le simple fait de tenter de protéger un truc lance automatiquement un défi

> > que quelqu'un va tenter de relever.
> > Il y a aussi des gens qui sont intimement convaincus que toute forme de
> > secret est illégitime et doit être cassé.
> > Et plus ça résiste, plus il est motivant d'être celui qui va signer et

> > publier l'exploit.
>
> Ha ouai ! Alors faisons un test et voyons si les humains dont vous parlez
> sont nombreux !
>
> voici un lien vers un fichier binaire (1040 octets) :http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
> ce fichier contient un texte ASCII tout à fait normal, encodé avec une clef
> symétrique :

> char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.

Hmmm. Ce fichier contiens 215 characters différents.C'est de l'UTF32 ?


> Est-ce qu'il y aura qqn pour relever le défit et me dire quel message


> contient ce fichier ?  En combien de temps ?

Je pense que Shannon sera d'accord avec toi. Seulement le hacker a
accès à beaucoup plus de contexte. En particulier la clé est quelque
part dans le soft.

--
Michael

Vincent Burel

unread,
Jun 29, 2009, 8:40:32 AM6/29/09
to

"Michael Doubez" <michael...@free.fr> wrote in message
news:892f8ce6-3ea9-4213...@a36g2000yqc.googlegroups.com...

On 29 juin, 11:14, "Vincent Burel" <vincent.bu...@nospam.wanadoo.fr>
wrote:
>> voici un lien vers un fichier binaire (1040 octets) :
>> http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
>> ce fichier contient un texte ASCII tout � fait normal, encod� avec une
clef
>> sym�trique :
>> char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.
>
>Hmmm. Ce fichier contiens 215 characters diff�rents.C'est de l'UTF32 ?

Non, c'est de l'ASCII classique 8 bits :
- Avec le bit 7 � z�ro pour tout caract�res (sauf accents).
- tout caract�res > 31 sauf sauts de ligne.

Je peux m�me dire que texte contient les mots suivant (les suites de
caract�res suivantes) :
logique
programmeur
univers

>> Est-ce qu'il y aura qqn pour relever le d�fit et me dire quel message


>> contient ce fichier ? En combien de temps ?
>
>Je pense que Shannon sera d'accord avec toi. Seulement le hacker a

>acc�s � beaucoup plus de contexte. En particulier la cl� est quelque
>part dans le soft.

la clef est constuite � un moment donn�, mais le password peut ne pas etre
dans le soft, mais dans la tete du user.
Ceci dit, comme je le sugg�rais dans un post , si vous avez la clef du
coffre, vous n'avez plus rien � faire.

VB


Michael Doubez

unread,
Jun 29, 2009, 9:08:59 AM6/29/09
to
On 29 juin, 14:40, "Vincent Burel" <vincent.bu...@nospam.wanadoo.fr>
wrote:
> "Michael Doubez" <michael.dou...@free.fr> wrote in message

>
> news:892f8ce6-3ea9-4213...@a36g2000yqc.googlegroups.com...
> On 29 juin, 11:14, "Vincent Burel" <vincent.bu...@nospam.wanadoo.fr>
> wrote:
>
> >> voici un lien vers un fichier binaire (1040 octets) :
> >>http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
> >> ce fichier contient un texte ASCII tout à fait normal, encodé avec une
> clef
> >> symétrique :
> >> char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.
>
> >Hmmm. Ce fichier contiens 215 characters différents.C'est de l'UTF32 ?

>
> Non, c'est de l'ASCII classique 8 bits :
> - Avec le bit 7 à zéro pour tout caractères (sauf accents).
> - tout caractères > 31 sauf sauts de ligne.

La clé est fn de l'index.
Ok. J'avais mal lu.

[snip]

> >> Est-ce qu'il y aura qqn pour relever le défit et me dire quel message


> >> contient ce fichier ? En combien de temps ?
>
> >Je pense que Shannon sera d'accord avec toi. Seulement le hacker a

> >accès à beaucoup plus de contexte. En particulier la clé est quelque
> >part dans le soft.
>
> la clef est constuite à un moment donné, mais le password peut ne pas etre


> dans le soft, mais dans la tete du user.

Ce n'est pas le problème ici: il s'agit de protéger la lecture d'un
fichier. Qui se souviendrait d'une clé de 64+ caractères (à part
Kasparov).

> Ceci dit, comme je le suggérais dans un post , si vous avez la clef du
> coffre, vous n'avez plus rien à faire.

Je pense que tous le monde est d'accord pour dire que le problème ne
se situe pas dans la force du chiffrement mais dans la logique de
protection.
C'est un problème délicat et c'est bien pour ça qu'il existe des
sociétés spécialisées dans le licensing et la protection de données.

--
Michael

Marc Espie

unread,
Jun 29, 2009, 12:08:29 PM6/29/09
to
Attendez, faudrait un peu arreter de delirer par rapport au contexte original.

Il ne s'agit pas de *chiffrer* des informations en les protegeant par une
cle connue de l'utilisateur et protegeant contre un tiers, il s'agit de
proteger des donnees dans un cadre ou celles-ci seront extraites et
exploites "sous controle" par un tiers. Ce qui veut dire qu'a un moment ou
un autre, ces donnees existent en clair. Ce qui veut dire aussi que le tiers
possede toutes les pieces du puzzle, en particulier la cle. On n'a pas parle
de dispositif materiel, comme un lecteur blue-ray avec sa cle "protegee" de
l'utilisateur, il s'agit d'une DLL sur un PC ouvert.

Deja qu'avec du materiel prevu pour, le DRM ne marche "que" si toute
la chaine est sure (et pose generalement plus de souci aux utilisateurs
legaux, comme par exemple ma xbox qui refuse de discuter avec mon projo en
hdmi)---ce qui va etre dur, vu que mes yeux et mes oreilles ne sont pas
encore directement branchees sur le matos---avec du materiel ouvert,
bonne chance...

Vincent Burel

unread,
Jun 29, 2009, 12:04:13 PM6/29/09
to

"robert" <rob...@free.fr> wrote in message
news:4a48a4fc$0$10236$426a...@news.free.fr...
> Vincent Burel a �crit :

> > Est-ce qu'il y aura qqn pour relever le d�fit et me dire quel message
> > contient ce fichier ? En combien de temps ?
> >

> Si tu utilise un masque jetable c'est �videmment impossible de
> d�chiffrer le message...

il s'agit simplement de faire apparaitre le signal qui se cache dans le
bruit, c'est l'enfance de l'art pour un casseur de code non ?

VB


robert

unread,
Jun 29, 2009, 12:57:10 PM6/29/09
to
Vincent Burel a �crit :
Le probl�me c'est que si la cl� est aussi longue que le message chiffr�,
on peut alors trouver n'importe quel message qui a du sens, a condition
de bien choisir la cl�.

Bertrand Lenoir-Welter

unread,
Jun 29, 2009, 1:17:06 PM6/29/09
to
Glav :

>
> Attention, �a c'est l'argument des �diteurs pour dissuader d'utiliser
> des cracks. Et la dissuasion "virus", elle a disparue depuis un bail,
> maintenant qu'�quiper son PC contre les malwares est gratuit et � la
> port� de tous.

Je peux t�moigner que la menace n'est pas inexistante. Non que j'en ai
�t� victime, mais effectivement j'ai eu des mails d'insultes de la part
de gens qui avaient r�cup�r� sur Emule une version pseudo-crack de mon
soft qui avait ratibois� leur disque. Je pr�cise que 1/ je n'y suis pour
rien, 2/ la version en question �tait une classique d�mo m�me pas
craqu�e et 3/ j'ai d� ajouter une fonction de v�rification de
l'int�grit� du code pour ne pas ruiner la r�putation du soft. L'avantage
du peer-to-peer, c'est que le malware n'a m�me pas besoin de code
d'auto-reproduction pour se diffuser et, n'�tant pas contaminant, il
arrive � passer sous le radar des anti-virus.


> Il y a �a, et il y a aussi la philosophie Mac. La communaut� Mac a
> choisi de payer plus cher; un prix �lev� serait gage de qualit�. Les
> utilisateurs sont beaucoup moins port�s sur le crack.

Hmm. La "philosophie Mac", m�me un peu us�e, �a reste une solide ficelle
marketing. Mais c'est un autre sujet.


J'en profite pour demander si quelqu'un conna�t un bon programme
d'obfuscation de code au niveau assembleur (x86). Pas les classiques
bouzins pour .NET, mais de ces trucs qui rendent le travail du hacker
vraiment p�nible. Merci pour tout lien.

Il serait peut-�tre temps de fiche la paix sur fr.comp.lang.c++ ?

Michael Doubez

unread,
Jun 30, 2009, 2:56:34 AM6/30/09
to
On 29 juin, 18:08, es...@lain.home (Marc Espie) wrote:
> Attendez, faudrait un peu arreter de delirer par rapport au contexte original.
>
> Il ne s'agit pas de *chiffrer* des informations en les protegeant par une
> cle connue de l'utilisateur et protegeant contre un tiers, il s'agit de
> proteger des donnees dans un cadre ou celles-ci seront extraites et
> exploites "sous controle" par un tiers.  Ce qui veut dire qu'a un moment ou
> un autre, ces donnees existent en clair. Ce qui veut dire aussi que le tiers
> possede toutes les pieces du puzzle, en particulier la cle.

C'est ce que je disais. Il n'empèche qu'il y a des moyens de protéger
un minimum les données et .

> On n'a pas parle
> de dispositif materiel, comme un lecteur blue-ray avec sa cle "protegee" de
> l'utilisateur, il s'agit d'une DLL sur un PC ouvert.

Il existe d'autres protections (comme des cles USB de license) ou
encore des services (lourdingues) de license réseau ...

Je ne dit pas que c'est ce qu'il faut ici. Juste qu'un niveua minimum
inclus de ne pas mettre le chiffrement dans la dll.

Si c'était un logiciel libre, je dirais d'utiliser une lib de
compression avec chiffrement intégré comme lib7z compilée en statique.
Pour un logiciel payant, il est possible d'utiliser la même lib en
dynamique avec peut être une verification de hash sur la dll.

Il est beaucoup plus difficile/long de désassembler un code que de
faire une dll fake. Je pourrais même faire un générateur automatique
(si j'étais dans ce business).

> Deja qu'avec du materiel prevu pour, le DRM ne marche "que" si toute
> la chaine est sure (et pose generalement plus de souci aux utilisateurs
> legaux, comme par exemple ma xbox qui refuse de discuter avec mon projo en
> hdmi)---ce qui va etre dur, vu que mes yeux et mes oreilles ne sont pas
> encore directement branchees sur le matos---avec du materiel ouvert,
> bonne chance...

De toutes façon, comme tu le dis, il y a un moment où le flux passe en
clair mais le but est que le qualité soit moins bonne ou difficilement
exploitable (d'où l'idée du logo citée plus haut).

Il y a quelques années, la boite dans laquelle je travaillais, avait
essayé de répondre à un appel d'offre de sécurisation des vidéos
enregistrées sur un service replay + VOD. La solution envisagée était
une incrustation dans le flux son/image à différentes fréquences avec
code correcteur d'erreur (pour tenir la compression par perte) des
informations de l'utilisateur et le poursuivre en cas de diffusion.
Il me semble avoir lu un article en ce sens il y a quelques mois.

Personnellement, je pense que c'est une bonne idée.

--
Michael

Zeldus

unread,
Jun 30, 2009, 7:17:48 AM6/30/09
to

"Michael Doubez" <michael...@free.fr> a �crit dans le message de
news:01818a78-1fdd-4699...@n11g2000yqb.googlegroups.com...

Le logiciel sera gratuit, le but est de diffuser le contenu artistique d'une
association photo / video. Par contre, on ne souhaite �vid�ment pas que les
m�dias contenus dans le logiciel soient utilis�s dans d'autres projets sans
autorisation.

J'�tais parti sur l'id�e d'une DLL afin d'obtenir le maximum de fexibilit�
(possibilit� d'�crires d'autres EXE qui font appel aux diff�rents fichiers
multim�dia contenus dedans) mais s'il y a d'autres possibilit� plus
pratiques dans ce m�me esprit, je suis tout aussi preneur.

Merci � tous pour vos diff�rentes id�es ! Je pense que la situation a �t�
assez bien r�sum�e dans ce fil.

Pierre

Marc Espie

unread,
Jun 30, 2009, 9:04:31 AM6/30/09
to
In article <4a49f45f$0$405$426a...@news.free.fr>, Zeldus <n...@email.com> wrote:
>
>"Michael Doubez" <michael...@free.fr> a �crit dans le message de
>news:01818a78-1fdd-4699...@n11g2000yqb.googlegroups.com...

>Le logiciel sera gratuit, le but est de diffuser le contenu artistique d'une
>association photo / video. Par contre, on ne souhaite �vid�ment pas que les
>m�dias contenus dans le logiciel soient utilis�s dans d'autres projets sans
>autorisation.

Dans ce cas, assure-toi surtout que toutes les mentions legales sont
correctes, et qu'il n'y a aucune ambiguite sur le fait qu'on ne peut utiliser
ce contenu sans autorisation...

Falk Tannhäuser

unread,
Jul 22, 2009, 2:50:28 AM7/22/09
to
J'ai enfin trouvᅵ 2-3 heures ᅵ consacrer au challenge (bon, je ne suis pas un casseur de code chevronnᅵ aprᅵs tout...)
Vincent Burel schrieb:

> "Patrick 'Zener' Brunet" <use.link.i...@ddress.invalid> wrote in
> message news:h28qcu$r8p$1...@shakotay.alphanet.ch...
>> L'humain a cette caractᅵristique presque unique: le goᅵt du jeu, de la
>> futilitᅵ.
>> Le simple fait de tenter de protᅵger un truc lance automatiquement un dᅵfi

>> que quelqu'un va tenter de relever.
>> Il y a aussi des gens qui sont intimement convaincus que toute forme de
>> secret est illᅵgitime et doit ᅵtre cassᅵ.
>> Et plus ᅵa rᅵsiste, plus il est motivant d'ᅵtre celui qui va signer et

>> publier l'exploit.
>
> Ha ouai ! Alors faisons un test et voyons si les humains dont vous parlez
> sont nombreux !
>
> voici un lien vers un fichier binaire (1040 octets) :
> http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
> ce fichier contient un texte ASCII tout ᅵ fait normal, encodᅵ avec une clef
> symᅵtrique :

> char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.
>
> Est-ce qu'il y aura qqn pour relever le dᅵfit et me dire quel message

> contient ce fichier ? En combien de temps ?

Quelques lois chipᅵes sur le site de Mr Werber...
-La logique est un moyen systᅵmatique d'arriver ᅵ la mauvaise conclusion avec confiance.
-Chaque fois qu'un systᅵme est complᅵtement dᅵfini, un fichu crᅵtin dᅵcouvre quelque chose qui soit abolit le systᅵme, soit
l'ᅵtend au-delᅵ des connaissances actuelles.
-Si les maᅵons bᅵtissaient comme un programmeur programme, alors le premier pivert venu dᅵtruirait notre civilisation.
-La largeur d'esprit d'un ordinateur est aussi grande que son cᅵble d'alimentation.
-Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins de choses, jusqu'ᅵ ce qu'il connaisse absolument tout
ᅵ propos de rien.
-Dites ᅵ quelqu'un que l'univers compte 300 milliards d'ᅵtoiles et il vous croira. Dites-lui qu'un banc vient d'ᅵtre repeint et
il devra le toucher pour en ᅵtre convaincu.
-Toutes les grandes dᅵcouvertes sont faites par erreur.
-Un objet ne tombe jamais en panne avant d'avoir passᅵ le dernier contrᅵle de qualitᅵ.
-Les nouveaux systᅵmes gᅵnᅵrent de nouveaux problᅵmes.

Avec une clᅵ de longueur 21, l'analyse frᅵquentielle devient possible, sachant que les caractᅵres ' ' et 'e' sont les plus
frᅵquents en franᅵais. Bizarrement, les trois premiers caractᅵres du fichier ont ᅵtᅵ encodᅵs diffᅵremment.
Pour ne pas ᅵtre complᅵtement hors sujet : std::map convient trᅵs bien pour compter les caractᅵres :-)

Pour un petit peu plus de sᅵcuritᅵ, je conseille l'AES - une bibliothᅵque utilisable depuis le C et C++ est disponible par
exemple ici : <http://gladman.plushost.co.uk/oldsite/AES/index.php>

Falk

Vincent Burel

unread,
Jul 22, 2009, 9:03:47 AM7/22/09
to

"Falk Tannh�user" <tannhause...@free.fr> wrote in message
news:4a66b6b5$0$414$426a...@news.free.fr...
> J'ai enfin trouv� 2-3 heures � consacrer au challenge (bon, je ne suis pas
un casseur de code chevronn� apr�s tout...)

> Vincent Burel schrieb:
> > "Patrick 'Zener' Brunet" <use.link.i...@ddress.invalid> wrote in
> > message news:h28qcu$r8p$1...@shakotay.alphanet.ch...
> >> L'humain a cette caract�ristique presque unique: le go�t du jeu, de la
> >> futilit�.
> >> Le simple fait de tenter de prot�ger un truc lance automatiquement un
d�fi

> >> que quelqu'un va tenter de relever.
> >> Il y a aussi des gens qui sont intimement convaincus que toute forme de
> >> secret est ill�gitime et doit �tre cass�.
> >> Et plus �a r�siste, plus il est motivant d'�tre celui qui va signer et

> >> publier l'exploit.
> >
> > Ha ouai ! Alors faisons un test et voyons si les humains dont vous
parlez
> > sont nombreux !
> >
> > voici un lien vers un fichier binaire (1040 octets) :
> > http://vincent.burel.free.fr/misc/SimpleAsciiText.bin
> > ce fichier contient un texte ASCII tout � fait normal, encod� avec une
clef
> > sym�trique :
> > char(n) = char(n) XOR f(n) avec f(n) clef d'encodage.
> >
> > Est-ce qu'il y aura qqn pour relever le d�fit et me dire quel message

> > contient ce fichier ? En combien de temps ?


> Quelques lois chip�es sur le site de Mr Werber...
> -La logique est un moyen syst�matique d'arriver � la mauvaise conclusion
avec confiance.
> -Chaque fois qu'un syst�me est compl�tement d�fini, un fichu cr�tin
d�couvre quelque chose qui soit abolit le syst�me, soit
> l'�tend au-del� des connaissances actuelles.
> -Si les ma�ons b�tissaient comme un programmeur programme, alors le
premier pivert venu d�truirait notre civilisation.
> -La largeur d'esprit d'un ordinateur est aussi grande que son c�ble


d'alimentation.
> -Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins

de choses, jusqu'� ce qu'il connaisse absolument tout
> � propos de rien.
> -Dites � quelqu'un que l'univers compte 300 milliards d'�toiles et il vous
croira. Dites-lui qu'un banc vient d'�tre repeint et
> il devra le toucher pour en �tre convaincu.
> -Toutes les grandes d�couvertes sont faites par erreur.
> -Un objet ne tombe jamais en panne avant d'avoir pass� le dernier contr�le
de qualit�.
> -Les nouveaux syst�mes g�n�rent de nouveaux probl�mes.

Bravo !

> Avec une cl� de longueur 21, l'analyse fr�quentielle devient possible,
sachant que les caract�res ' ' et 'e' sont les plus
> fr�quents en fran�ais. Bizarrement, les trois premiers caract�res du
fichier ont �t� encod�s diff�remment.
> Pour ne pas �tre compl�tement hors sujet : std::map convient tr�s bien
pour compter les caract�res :-)

Combien de temps cela prend de faire un tel d�codage ?
vous avez des outils sp�cifiques ou bien a t'il fallu programmer qqc de
sp�cial ?

Par contre, votre remarque sur les 3 premiers caract�res, me font constater
que j'ai fait une erreur quand j'ai programm� (trop vite) la fonction
d'encodage. Il n'�tait pas pr�vu qu'une s�quence se r�p�te... :-)

VB


Falk Tannhäuser

unread,
Jul 29, 2009, 6:27:21 PM7/29/09
to
Vincent Burel schrieb:
> "Falk Tannhᅵuser" <tannhause...@free.fr> wrote in message
> news:4a66b6b5$0$414$426a...@news.free.fr...
>> J'ai enfin trouvᅵ 2-3 heures ᅵ consacrer au challenge (bon, je ne suis pas

> un casseur de code chevronnᅵ aprᅵs tout...)
[...]
>> Avec une clᅵ de longueur 21, l'analyse frᅵquentielle devient possible,
>> sachant que les caractᅵres ' ' et 'e' sont les plus

>> frᅵquents en franᅵais. Bizarrement, les trois premiers caractᅵres du
>> fichier ont ᅵtᅵ encodᅵs diffᅵremment.
>> Pour ne pas ᅵtre complᅵtement hors sujet : std::map convient trᅵs bien
>> pour compter les caractᅵres :-)
> Combien de temps cela prend de faire un tel dᅵcodage ?
> vous avez des outils spᅵcifiques ou bien a t'il fallu programmer qqc de
> spᅵcial ?

GCC et Emacs sont suffisants comme outils :-) Un petit programme comme celui-ci fait l'affaire :
____________________________________________________________________________________
#include <fstream>
#include <iostream>
#include <iomanip>
#include <map>
#include <algorithm>
#include <vector>
#include <iterator>

struct cmp_second
{
template<typename T>
bool operator()(T const& a, T const& b) const { return a.second < b.second; }
};

template<typename KeyT, typename MappedT>
void print_sorted_by_second(std::map<KeyT, MappedT> const& m)
{
typedef std::vector<std::pair<KeyT, MappedT> > VecT;
VecT v(m.begin(), m.end());
std::sort(v.begin(), v.end(), cmp_second());
for(typename VecT::const_iterator it = v.begin(); it != v.end(); ++it)
std::cout << ' ' << std::hex << std::setfill('0') << std::setw(2) << +it->first
<< '-' << std::dec << std::setfill(' ') << it->second;
}

int main()
{
std::ifstream in("SimpleAsciiText.bin", std::ios::binary);
std::vector<unsigned char> data(std::istreambuf_iterator<char>(in),
(std::istreambuf_iterator<char>()));

// Find global character statistics and key length
std::map<unsigned char, unsigned> stat;
for(std::vector<unsigned char>::const_iterator it = data.begin(); it != data.end(); ++it)
{
++stat[*it];
std::cout << (*it >> 7 & 1); // Print bit 7
}
std::cout << "\nFound " << data.size() << " chars, " << stat.size() << " different chars.\n";

// Find character statistics per key byte
unsigned const key_length = 21; // Value found during preceding step
std::vector<std::map<unsigned char, unsigned> > key_stat(key_length);
for(unsigned i = 0; i < data.size(); ++i)
++key_stat[i % key_length][data[i]];
for(unsigned i = 0; i < key_length; ++i)
{
std::cout << std::setw(2) << i << ": ";
print_sorted_by_second(key_stat[i]);
std::cout << '\n';
}

// Find key bytes and plaintext
unsigned char const key[key_length] =
{ // To be completed
0x89 ^ ' ', 0x97 ^ 'e'
};
for(unsigned i = 0; i < data.size(); ++i)
{
std::cout << char(data[i] ^ key[i % key_length]);
if(i % key_length == key_length - 1)
std::cout << '\n';
}
return 0;
}
____________________________________________________________________________________

En regardant le bit 7 des caractᅵres du fichier cryptᅵ, on s'aperᅵoit qu'il y a des fortes rᅵgularitᅵs ; les irrᅵgularitᅵs sont
dᅵs ᅵ la prᅵsence des caractᅵres accentuᅵs (relativement rares) dans le texte clair. Si on exᅵcute le programme dans une fenᅵtre
Emacs, on peut faire varier la largeur de la fenᅵtre ᅵ la souris pour reconnaᅵtre la rᅵgularitᅵ du dessin des 0 et 1 et ainsi
dᅵduire que la longueur de la clᅵ est de 21.
Ceci veut dire que dans un fichier de 1040 caractᅵres, respectivement 49 ou 50 caractᅵres ont ᅵtᅵ encodᅵs avec le mᅵme octet de
la clᅵ. Maintenant il suffit de faire des statistiques de caractᅵres pour chacun des 21 octets de la clᅵ.
Pour le premier octet, on voit que les valeurs 0x89 et 0xCC sont les plus frᅵquentes (10 respectivement 8 apparitions) et comme
par hasard, 0x89^0xCC == 0x45 == 0x20^0x65 == ' ' ^ 'e' - il est donc hautement probable que ces 2 valeurs correspondent ᅵ la
lettre 'e' et ᅵ l'espace (voir aussi <http://fr.wikipedia.org/wiki/Fr%C3%A9quence_d%27apparition_des_lettres_en_fran%C3%A7ais>)
et il ne reste qu'ᅵ essayer de dᅵcrypter avec les 2 valeurs (0x89 ^ ' ') et (0x89 ^ 'e') pour le premier octet de la clᅵ pour
voir laquelle est la bonne.
C'est pareil pour le deuxiᅵme octet et les valeurs 0x97 et 0xD2, puis pour les 19 octets restants ᅵa fonctionne de faᅵon similaire.
On aurait probablement pu automatiser davantage cette derniᅵre phase du dᅵcryptage, mais l'approche "semi-manuelle" avec mise ᅵ
jour successive et recompilation du programme marche suffisamment bien dans le cas prᅵsent.

Falk

James Kanze

unread,
Jul 30, 2009, 4:17:28 AM7/30/09
to
On Jul 30, 12:27 am, Falk Tannhäuser <tannhauser86549s...@free.fr>
wrote:

> GCC et Emacs sont suffisants comme outils :-) Un petit programme comme
> celui-ci fait l'affaire :

[...]

> // Find global character statistics and key length
> std::map<unsigned char, unsigned> stat;

Seulement curiosité, mais est-ce qu'il y a une raison pour
std::map, plutôt que :
std::vector< unsigned > stat( UCHAR_MAX + 1 ) :
(ce que j'aurais fait). En fin de compte, ton « indice », c'est
bien un petit entier non-négatif, ce qui correspond à
l'utilisation classique de vector (voire même un tableau de type
C :
unsigned stat[ UCHAR_MAX + 1 ] = {} ;
. Ou un boost::array, si tu l'as.)

--
James Kanze (GABI Software) email:james...@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Falk Tannhäuser

unread,
Jul 30, 2009, 4:09:32 PM7/30/09
to
James Kanze schrieb:
> On Jul 30, 12:27 am, Falk Tannh�user <tannhauser86549s...@free.fr>

>> // Find global character statistics and key length
>> std::map<unsigned char, unsigned> stat;
>
> Seulement curiosit�, mais est-ce qu'il y a une raison pour
> std::map, plut�t que :

> std::vector< unsigned > stat( UCHAR_MAX + 1 ) :
> (ce que j'aurais fait). En fin de compte, ton � indice �, c'est
> bien un petit entier non-n�gatif, ce qui correspond �
> l'utilisation classique de vector (voire m�me un tableau de type C

Non, pas de raison particuli�re, sauf que je n'avais pas envie de me
prendre le choux :-) La version avec std::vector ou tableau doit bien
�tre plus performant (moins d'allocations dynamiques, temps d'acc�s O(1)
contrairement � O(log N) pour std::map) et prendre moins de m�moire, mais
vu la faible quantit� de donn�es � traiter la diff�rence reste
imperceptible.

Falk

James Kanze

unread,
Jul 31, 2009, 3:13:42 AM7/31/09
to
On Jul 30, 10:09 pm, Falk Tannhäuser <tannhauser86549s...@free.fr>
wrote:
> James Kanze schrieb:

> > On Jul 30, 12:27 am, Falk Tannhäuser <tannhauser86549s...@free.fr>


> >> // Find global character statistics and key length
> >> std::map<unsigned char, unsigned> stat;

> > Seulement curiosité, mais est-ce qu'il y a une raison pour
> > std::map, plutôt que :


> > std::vector< unsigned > stat( UCHAR_MAX + 1 ) :
> > (ce que j'aurais fait). En fin de compte, ton « indice »,

> > c'est bien un petit entier non-négatif, ce qui correspond à
> > l'utilisation classique de vector (voire même un tableau de
> > type C

> Non, pas de raison particulière, sauf que je n'avais pas envie


> de me prendre le choux :-) La version avec std::vector ou

> tableau doit bien être plus performant (moins d'allocations
> dynamiques, temps d'accès O(1) contrairement à O(log N) pour
> std::map) et prendre moins de mémoire, mais vu la faible
> quantité de données à traiter la différence reste
> imperceptible.

Je ne pensais pas particulièrement à la performance. C'est juste
qu'en mon esprit, la collection par défaut, c'est std::vector.
Je ne m'en écarte que s'il y une raison : le fait que l'indice
ne soit pas un type entier, par exemple, ou que les indices
potentielles sont telles que ça risque de dépasser une
utilisation raisonable de la mémoire (p.e. des numéros de
sécurité sociale, traités comme des entiers).

Mais c'est peut-être simplement une vieille habitude de ma
part. Dans le cas qui nous intéresse, les indices sont des
caractères, qui conceptuellement ne sont pas des entiers.
Seulement, j'ai tellement travaillé dans l'informatique de bas
niveau que je n'arrive pas toujours à en faire l'abstraction ;
je n'oublie jamais que les caractères sont des entiers.

Vincent Burel

unread,
Jul 31, 2009, 3:40:18 AM7/31/09
to

"Falk Tannh�user" <tannhause...@free.fr> wrote in message
news:4a71fdfd$0$27785$426a...@news.free.fr...

Donc il suffisait de jouer � Motus pendant quelques heures pour d�coder le
fichier txt.
(il faut quand m�me etre un peu programmeur).

Si mon g�n�rateur de bruit avait march� correctement , ca aurait donn� un
fichier genre celui-ci :
http://vincent.burel.free.fr/misc/SimpleAsciiText2.bin
(c'est toujours un text ASCII classique - diff�rent mais toujours encod� par
une clef sym�trique char(n) = char(n) XOR f(n)) - vous y trouverez les mots
math�matique, hasard et ordinateur).

Ca devrait etre beaucoup plus dur !
enfin j'esp�re ! :-)

VB

0 new messages