begin process at 2012 02 10 03:42:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Multimédia

 > 

inclure une application multimedia dans C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

inclure une application multimedia dans C++

samedi 3 juillet 2004 à 11:16:50 | inclure une application multimedia dans C++

chedly_ensi

Bonjour,
je travaille sur un projet où je dois protéger les cd par une license.
En fait, je dois récupérer les caractéristiques de la machine( num du DD, carte mere...) du client et fournir un numéro de série pour que le cd ne fonctionne que sur cette machine.
l'application de protection et le programme à executer doivent etre dans le meme executable.
Pouvez-vous me donner une idée comment inclure une application externe (surtout multimédia: flash, php...) dans mon programme ecrit en C++.
Merci
lundi 5 juillet 2004 à 03:23:46 | Re : inclure une application multimedia dans C++

racpp

Administrateur CodeS-SourceS
Salut,
Moi aussi je m'étais intéressé à ce genre de protection il y'a quelque temps. J'ai quelques idées qui pourraient te servir. Il faudra m'indiquer sur quel OS tu travailles (Windows, Linux etc..) et avec quel environnement de developpement (Visual C++, DEVC++ etc...). J'aimerais bien aussi avoir quelques autres précisions car je ne vois pas bien le lien entre l'inclusion d'une "application externe multimedia" et la protection de ton programme.
A bientôt !

vendredi 9 juillet 2004 à 23:39:58 | Re : inclure une application multimedia dans C++

chedly_ensi

salut,
je travaille avec visual c++ sur windows, mon idée est de recuperer les caracteristiques de la machine: les numeros de serie de la carte mere et du processeur (si vous avez une idee comment le faire avec c++ merci) puis d'utiliser une fonction de hachage pour generer une cle d'activation qui depend de la machine .
l'autre probleme est que mon application doit appeler l'executable , je peux le faire avec system mais il y aura 2 executables et l'utilisateur peut lancer l'execution sans passer par ma protection donc il faut qu'il y aura un seul executable.
merci de me donner tes idees
lundi 12 juillet 2004 à 07:25:49 | Re : inclure une application multimedia dans C++

racpp

Administrateur CodeS-SourceS
Salut,
Ca tombe bien car moi aussi je travaille sur Visual C++. Voici quelques idées :
1) Il n'existe pas de numero de serie de la carte mere parmi les données consultables du Bios. J'ai cherché pendant des mois en vain.
2) Le numero de serie du microprocesseur, Pentium III et +, est désactivable au moyen du setup du Bios ou meme par logiciel. Il est donc inutile d'utiliser ce numero pour la protection de ton logiciel.
3)Une protection, basée sur une configuration donnée, n'empeche pas l'execution de l'application sur des machines ayant des configurations identiques.
4) Les deux seuls moyens permettant l'identification d'un ordinateur de maniere unique sont :
a- La recuperation de l'adresse MAC de la carte réseau. Cette adresse est unique au monde pour chaque carte réseau car elle comporte le code du fabriquant, celui du modele et un numero de serie unique.
b-La recuperation du numero de serie materiel du disque dur. Je dis bien materiel car le numero de serie logiciel change apres chaque formatage. Le numero materiel est figé dans une puce du disque dur.
5) Pour inclure une autre application dans ton fichier executable, il suffit de l'ajouter au projet comme ressource. Les deux applications seront dans le meme fichier exe. Pendant l'execution, l'application principale copie la ressource sur le disque dur et l'execute avec WinExec ou ShellExecute etc... Quand le controle revient à l'application appelante , ce fichier doit etre effacé. Ca parait un peu lourd mais il n'y a pas d'autre moyen.
6) Si tu possède les codes sources des deux applications, tu peux les mettre dans le meme projet. Ainsi, toutes les fonctions seront disponibles comme s'il s'agit d'un seul code source. Le fichier exe final contiendra donc les deux applications.

Voilà je ne veux pas etre trop long. Tu me precise les idées qui t'interessent et je te fournirais d'autres détails.
A tres bientot!
lundi 12 juillet 2004 à 11:06:51 | Re : inclure une application multimedia dans C++

chedly_ensi

merci bcp,
j'ai encore quelques eclaircissements à demander:
1)la carte reseau n'est pas toujours presente donc comment je recupere le serie materiel du disque dur et non pas le numero de serie logiciel.
2) j'ai pas comris comment ajouter l'autre application comme ressource (je ne suis pas expert en c++), et si je le fais comment je garantit que le controle reviendra à l'application appellante pour effacer le fichier, il se peut que l'utilisateur interrompe l'execution donc l'executable deviendra disponible sans aucune protection.
3) un dernier point: apres la recuperation des numeros j'ai besoin d'une fonction de hachage, mais dans la specification du projet cette fonction doit etre changeable et non pas statique, connais tu une bibliotheque en c++ qui me facilitera la tache
jeudi 15 juillet 2004 à 21:42:26 | Re : inclure une application multimedia dans C++

racpp

Administrateur CodeS-SourceS
Salut,
1) Les fonctions de récupération du numéro de série matériel du disque dur, que j'avais dans mes anciens projets, ne fonctionnaient que sur MS-DOS, Windows 3.xx, Windows 95, 98 et ME. Pour faire la même chose sur toutes les versions de Windows ( y compris NT, 2000 et XP), je fais appel à un contrôle Activex qui fournit toutes les caractéristiques du PC. La manipula de cet Activex est facile sur Visual c++ MFC. Puisque j'aime pas beaucoup MFC, je cherche un moyen de le manipuler en Visual C++ pur API. Je vais poster une question à ce sujet sur ce forum.
2)Pour ajouter un ou plusieurs fichiers exécutables (ou autres) comme ressources dans un projet Visual c++ version 6 :
- Créer un projet vide (Win32 Application par exemple)
- Menu "Project" -> "Add to project" -> "New" -> "Resource Script", donnez lui n'importe quel nom puis "Ok".
-Dans la fenêtre d'édition de ressources qui apparait, clic droit, choisis ton fichier exe. Une petite boite s'affiche, tape "RT_RCDATA" dans le champ "Resource type" puis "Ok".
-Ta ressource apparait maintenant dans la fenêtre. Tu peux changer son identificateur en faisant un clic droit dessus puis "Properties".
- Pour manipuler ta ressource dans le programme, tu fais appel aux fonctions FindResource(), LoadResource() et LockResource(). Elles sont largement documentées sur le site de Microsoft MSDN.
- N'oublie pas d'ajouter "#include "resource.h" au source principal.
- Tu peux ajouter une ressource à n'importe quel moment de la programmation en activant le fenêtre des ressources (clic sur l'onglet resources en bas à gauche).
3) Comme tu l'as remarqué, si l'exécution du programme est supendue à un moment donné, l'utilisateur peut accéder au fichier copié de la ressource vers le disque dur. Je pense que la meilleure solution pour contourner tout cela est de mettre tous les fichiers sources dans le même projet. Ainsi, ton application intégrera tous les modules nécessaires à son exécution.
4) Je n'ai jamais utilisé de fonctions de hachage dans mes projets car je me contente de crypter les données que veux par rotation de bits suivant un algorithme précis. Des exemples de fonctions de hachage sont faciles à trouver sur le net.

Voila
Quand j'aurai fini l'exemple de source pour récupérer le No du disque dur , je le posterai comme code source sur ce site.
A bientôt.


vendredi 16 juillet 2004 à 18:11:01 | Re : inclure une application multimedia dans C++

chedly_ensi

salut,
merci bcp racpp, les informations que tu m'as donné sont vraiment tres utiles pour moi surtout que je suis limité par une date, donc stp informe moi dès que tu termines l'exemple de la recuperation du numero du disque dur.
j'ai trouvé quelques sites qui parlent vaguement d'un numero de serie du bios, t'as pas une idée sur ca.
merci et a bientot
samedi 17 juillet 2004 à 03:37:08 | Re : inclure une application multimedia dans C++

racpp

Administrateur CodeS-SourceS
Salut,
Ca me fait plaisir d'apprendre que mes infomations étaient très utiles.
1) Je profite de ce message pour te signaler que j'avais oublié un mot très intéressant dans la 3ème étape d'ajout d'une ressource. Il s'agit de "import" du menu contextuel . Voici l'étape corrigée:
-Dans la fenêtre d'édition de ressources qui apparait, clic droit, puis "Import" , choisis ton fichier exe. Une petite boite s'affiche, tape "RT_RCDATA" dans le champ "Resource type" puis "Ok".
2) Le numéro de série du bios est identique pour toutes les machines de même configuration et ayant la même version du bios. Certaines marques de bios possèdent un série unique mais ce n'est pas un standard. Le code de récupération de ce série ne fonctionne qu'avec ces bios.
3) En ce qui concerne l'exemple de code de récupération du série du disque dur, je te promets que dès qu'il sera pret, je te le signalerai ici.
je ne peux pas te dire quand, car en programmation il y'a toujours des imprévus.
A+
lundi 19 juillet 2004 à 20:07:51 | Re : inclure une application multimedia dans C++

chedly_ensi

salut,

je suis en train de voir la documentation de FindResource....
je voudrais te demander si tu sais comment recuperer le numero de serie du CD.
Une autre chose, j'ai essayé ce code mais j'ai des problemes (peux tu me donner des idées):

// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
unsigned char MACData[6];

UUID uuid;
UuidCreateSequential( &uuid ); // Ask OS to create UUID

for (int i=2; i<8; i++) // Bytes 2 through 7 inclusive
// are MAC address
MACData[i - 2] = uuid.Data4[i];

PrintMACaddress(MACData); // Print MAC address
}




Enfin merci encore et a bientot
mardi 20 juillet 2004 à 05:13:57 | Re : inclure une application multimedia dans C++

racpp

Administrateur CodeS-SourceS
Salut,
1) Pour récupérer le numéro de série du CD , on se sert de la fonction GetVolumeInformation(). Avant d'appeler cette fonction, il faudra trouver les lettres de tous les lecteurs de la machine avec GetLogicalDriveStrings() puis vérifier s'il s'agit d'un CD-ROM avec la fonction GetDriveType(). Voici un lien :
http://www.codeproject.com/win32/cdcheck.asp

2) Ce code me parait normal. N'oublie pas d'ajouter #include <Rpc.h> dans l'en-tête du code. Ce petit programme ne peut rien afficher car la fonction PrintMACaddress() n'est pas implémenté. Tu peux la supprimer et afficher MACDATA[] à ta façon. UuidCreateSequential() ne fonctionne que sur Windows XP et 2000 (ou 2003). Il faudra préférer une solution qui marche sur toutes les versions de windows.

voilà , bonne programmation !
A bientôt.

1 2 3 4

Cette discussion est classée dans : application, cd, machine, multimedia, inclure


Répondre à ce message

Sujets en rapport avec ce message

cd d'installation [ par anubis52100 ] bonjour voila j'ai fini mon application en mfc est je souhaiterai créer un cd d'intallation.pour que mon application soit installable sur un autre pc. inclure fonction C dans du C++ [ par dumanoir70 ] Bonjour, Je suis actuellement en stage en entreprise et je dois repasser une application DOS en application fenêtre C++ avec Borland. Je coince sur co application des reseaux de neurones à la detection d'intrusion dans les reseaux informatiques [ par snipermod84 ] Bonsoir  . pourriez vous m'aider à écrire un programme en langage C pour application des reseaux de neurones à ladetection d'intrusion dans les reseau Creation serveur FTP [ par fabricioliking ] BonjourVoila je suis actuellement à la recherche d'informations concernant la création d'un serveur ftp.En faite j'ai pour projet de créer une applica cli.exe [ par sam20 ] Salut a tous.J'ai acheté une carte graphique tuner ati all in wonder x800 j'ai installer les derniers drivers et framework .net.J'ai desinstalé et rei machine virtuelle 2007 [ par malbackt ] Bonjour à tous;Pourriez vous m'aider à résoudre ce problème s'il vous plaît,Virtual PC n'a pas pu ouvrir le pilote des services Réseau d'ordinateurs v CD bootable [ par malbackt ] Bonjour à tous;Le problème que j'ai c'est que j'ai un CD bootable de LINUX (Knoppix) qui me permet de réaliser des programmes sous Unix et je l'ai gra DeleteFile [ par Titi035 ] Bonjour, Je souhaite effacé un fichier. Il est possible que le fichier soit utilisé par une autre application (il est locké), mais je souhaite forc [C++] Aide sur projet Application Windows Form [ par Benjam18 ] Bonjour camarades, alors voila je vous solicite pour :J'ai realisé un petit programme en C++ en mode console, ce programme va chercher une donnée et l déclancher un événement à la fin d'une application console [ par youri01 ] salut, je suis en train de faire une application de type console et là je bloque.l'application ne se termine pas et j'aimerai déclencher un évènement


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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

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