OVH Cloud OVH Cloud

Que peux-t-on mettre dans une DLL ?

52 réponses
Avatar
Zeldus
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

10 réponses

1 2 3 4 5
Avatar
Glav
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 !
Avatar
Bertrand Lenoir-Welter
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é.
Avatar
Sylvain SF
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.
Avatar
espie
In article <4a426f48$0$19643$,
Zeldus wrote:

"Sylvain SF" a écrit dans le message de
news:4a42653c$0$12657$



=> 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...
Avatar
Zeldus
"Sylvain SF" a écrit dans le message de
news:4a429517$0$12642$


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
Avatar
Sylvain SF
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.
Avatar
Zeldus
"Sylvain SF" a écrit dans le message de
news:4a438e74$0$17750$

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
Avatar
Sylvain SF
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.
Avatar
espie
In article <4a439602$0$2957$,
Zeldus wrote:

"Sylvain SF" a écrit dans le message de
news:4a438e74$0$17750$

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/?p89
http://blogs.zdnet.com/security/?p30

enfin bon, non rien....
Avatar
Glav
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.
1 2 3 4 5