Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SOUNDCRYPT


Information sur la source

Catégorie :Multimedia Classé sous : cryptage, securité, xor, wav, graphic jauge Niveau : Débutant Date de création : 24/09/2007 Date de mise à jour : 25/09/2007 05:51:35 Vu / téléchargé: 1 999 / 185

Note :
Aucune note

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Salut a tous

Cette source est un lecteur de fichier audio avec une algo de cryptage XOR.

Bref:
En temps que musicien je me suis dit comment faire écouter des sons a moi en toute sécurité via le net.
 

Conclusion

biensure toute remarque est bonne a prendre
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

24 septembre 2007 21:24:41 :
25 septembre 2007 05:51:35 :
la sauvegarde ne s'effectue plus dans: CSIDL_FONTS mais dans CSIDL_INTERNET_CACHE quelques bugs réparer

Commentaires et avis

signaler à un administrateur
Commentaire de craftsystem le 24/09/2007 21:14:39

J'aimerais prochainement que le fichier sauvegarder detecte la lettre du disque dure car pour le moment il et configurer a C:\Windows

signaler à un administrateur
Commentaire de craftsystem le 24/09/2007 21:27:39

Je précise que le lecteur est la base d'une source de se site
si je me rappelle bien c'est une source d'alexandre
si se n'est pas sa vueillez m'escuser

signaler à un administrateur
Commentaire de f0xi le 25/09/2007 02:14:42 administrateur CS

version épurée (peut y'avoir un bug, j'ai pas verifier) :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, MPlayer, ExtCtrls, Gauges, ComCtrls,
  GraphicGauge, Menus;


type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    OpenDialog1: TOpenDialog;
    Label2: TLabel;
    Timer1: TTimer;
    ListBox1: TListBox;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    Gauge1: TGraphicGauge;
    PopupMenu1: TPopupMenu;
    Play1: TMenuItem;
    Stop1: TMenuItem;
    Pause1: TMenuItem;
    Shape1: TShape;
    BitBtn5: TImage;
    BitBtn4: TImage;
    BitBtn6: TImage;
    BitBtn2: TImage;
    BitBtn3: TImage;
    BitBtn1: TImage;
    Supprimer1: TMenuItem;
    Image2: TImage;
    OpenDialog3: TOpenDialog;
    Quitter1: TMenuItem;
    Shape2: TShape;
    Image3: TImage;
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);

    procedure Supprimer1Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);

  private
    { Déclarations privées }

  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  y: byte    = 0;
  a: integer = 0;
  b: integer = 0;
  c: integer = 0;
  f: integer = 0;
  InFileName, OutFileName, Key: string;

function DecodeMPTime(const MilliSeconds : integer; out H,M,S,Z : word);
begin
  Z := MilliSeconds mod 1000;
  S := (MilliSeconds div 1000) mod 60;
  M := (MilliSeconds div 60000) mod 60;
  H := MilliSeconds div 3600000;
end;


procedure XorCypher(const InFileName, OutFileName, Key: string);
var InFlux, OutFlux: TFileStream;
  Buffer: byte;
  pKey: PChar;
  M, KeyL, KeyP: integer;
  function GetNextKey: byte;
  begin
    result := byte(pKey[KeyP]);
    KeyP := (KeyP + 1) mod KeyL;
  end;
begin
  KeyL := Length(Key);
  KeyP := 0;
  pKey := PChar(Key);

  InFlux := TFileStream.Create(InFileName, fmOpenRead);
  try

    OutFlux := TFileStream.Create(OutFileName, fmCreate);
    try

      form1.Gauge1.Progress := 0;
      form1.Gauge1.MaxValue := InFlux.Size;

      for M := 0 to InFlux.Size - 1 do
      begin
        InFlux.ReadBuffer(Buffer, 1); // on lit
        Buffer := Buffer xor GetNextKey; // on code
        OutFlux.WriteBuffer(Buffer, 1); // on ecrit

        if (M mod 5) = 0 then
        begin
          form1.Gauge1.Progress := InFlux.Position;
          application.ProcessMessages;
        end;
      end;

    finally
      OutFlux.Free;
    end;

  finally
    InFlux.Free;
  end;

  form1.Gauge1.Progress := 0;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);

begin
  if ListBox1.ItemIndex = -1 then
    exit;

  if c = 1 then
    deletefile('C:\Windows\D-Krypt.wav');

  Timer1.Enabled := True;
  MediaPlayer1.Play;
  y := 1;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  fichier : ansistring;
begin
  Timer1.Enabled := not OpenDialog1.Execute;
  if not Timer1.Enabled then
  begin
    key := '33';
    InFileName  := OpenDialog1.FileName;
    OutFileName := 'C:\Windows\D-Krypt.wav';
    XorCypher(InFileName, OutFileName, key);

    fichier := 'C:\Windows\D-Krypt.wav';
    ListBox1.Items.Add('D-Krypt.wav');
    a := a + 1;

    Timer1.Enabled := y = 1;
    if not Timer1.Enabled then
    begin
      ListBox1.ItemIndex := 0;
      MediaPlayer1.Close;
      MediaPlayer1.FileName := fichier;
      MediaPlayer1.Open;
      MediaPlayer1.timeFormat := tfMilliseconds;
    end;
  end;
end;


procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  if ListBox1.ItemIndex = -1 then
    exit;

  MediaPlayer1.Pause;
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
  if ListBox1.ItemIndex = -1 then
    exit;

  MediaPlayer1.Stop;
  MediaPlayer1.Position := 0;

  y := 0;
  f := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var H,M,S,Z : word;
begin
  DecodeMPTime(MediaPlayer1.Length, H,M,S,Z);

  Label2.Caption := format('%.2d:%.2d',[M,S]);;

  Gauge1.MaxValue := MediaPlayer1.Length;
  Gauge1.Progress := MediaPlayer1.Position;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  deletefile('C:\Windows\D-Krypt.wav');
  Timer1.Enabled := false;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  a := ListBox1.ItemIndex;
  if a = -1 then
    Exit;

  MediaPlayer1.Close;
  MediaPlayer1.Enabled := True;
  MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
  MediaPlayer1.Open;
  MediaPlayer1.timeFormat := tfMilliseconds;
  Timer1.Enabled := True;

  if y = 1 then
    MediaPlayer1.Play;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  if ListBox1.ItemIndex = -1 then
    Exit;

  if ListBox1.ItemIndex = 0 then
    ListBox1.ItemIndex := (a - 1)
  else
    ListBox1.ItemIndex := (ListBox1.ItemIndex) - 1;

  MediaPlayer1.Close;
  MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
  MediaPlayer1.Open;
  MediaPlayer1.timeFormat := tfMilliseconds;

  if y = 1 then
    MediaPlayer1.Play;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  if ListBox1.ItemIndex = -1 then
    exit;

  if (ListBox1.ItemIndex + 1) = a  then
    ListBox1.ItemIndex := -1;

  ListBox1.ItemIndex := ((ListBox1.ItemIndex) + 1);
  MediaPlayer1.Close;
  MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
  MediaPlayer1.Open;
  MediaPlayer1.timeFormat := tfMilliseconds;

  if y = 1 then
    MediaPlayer1.Play;
end;

procedure TForm1.Supprimer1Click(Sender: TObject);
begin
  listbox1.Items.Clear;
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
  Timer1.Enabled := not OpenDialog3.Execute;

  if not Timer1.Enabled then
  begin
    Caption := OpenDialog3.FileName;
    ListBox1.Items.Add(OpenDialog3.FileName);
    a := a + 1;
    Timer1.Enabled := y = 1;
    if not Timer1.Enabled then
    begin
      ListBox1.ItemIndex := 0;
      MediaPlayer1.Close;
      MediaPlayer1.FileName := ListBox1.Items.Strings[ListBox1.ItemIndex];
      MediaPlayer1.Open;
      MediaPlayer1.timeFormat := tfMilliseconds;
    end;
  end;
end;

procedure TForm1.Quitter1Click(Sender: TObject);
begin
  listbox1.Items.Clear;
  MediaPlayer1.Close;
  Timer1.Enabled := false;
  Close;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DeleteFile('C:\Windows\D-Krypt.wav');
end;

end.


et merci de me citer dans la source pour XorCypher ... ;)

signaler à un administrateur
Commentaire de craftsystem le 25/09/2007 02:26:36

je suis franchement désolé
c'est un oublie involontaire

tu le sais je signale toujours
qui m'a aidé et à qui j'ai pris du code.

sinon merci pour la version courte

a force de tester des truc, j'oublie d'enlever des fonction inutile, variable non utiliser,
je ferais des effort de se coté là promis

------------------------------------------------------------

pour le c:\Windows le problème est réglé
en fin de compte je sauvegarde le fichier décrypter
dans un répertoire spécial de windows qui n'est autre que le
repertoire "Fonts"

Eh, Oui j'ai constater que se repertoire cacher mon fichier d'une façon surprenante
meme une recherche du fichier dans le disque dure entier ne le trouve pas...Magique
je réglé quelque truc et je fais la mise a jour

Encore désolé fOxi de ne pas avoir cité ton code Xor
alors quand plus c'est le plus important

signaler à un administrateur
Commentaire de craftsystem le 25/09/2007 02:34:21

fOxi

cette partit du code m'interresse

  if c = 1 then
    deletefile('C:\Windows\D-Krypt.wav');

mais je doute quel fonctionne

Car je me suis rendu compte
que pour pouvoir delete un fichier il fallait un:

mediaplayer1.close;

dans mon cas j'ai tester mais il bug

A pars sa je souhaiterais enregistrer le fichier décrypter mais pas toujours avec le meme nom mais avec des numeros:
D-Krypt01
D-Krypt02
D-Krypt03
...

si on peut m'aider

signaler à un administrateur
Commentaire de japee le 25/09/2007 09:20:22 administrateur CS

Si l'utilisateur ouvre OpenDialog1 et le referme sans sélection de fichier, gros plantage dû à l'appel du Timer qui cite MediaPlayer.Position alors que ce dernier n'est pas ouvert.

Cette ligne vérifie l'ouverture du MediaPlayer et supprime le problème :

procedure TForm1.Timer1Timer(Sender: TObject);
...
begin
  if MediaPlayer1.DeviceID = 0 then Exit;
  ... // suite du code
end

signaler à un administrateur
Commentaire de craftsystem le 25/09/2007 12:54:22

merci Japee
pour se bug

j'en ai trouver un autre pas mal non plus
si tu "ouvre un fichier son" puis un autre tu constateras
qu'il n'y a que le premier qui a été charger en lecture

jolie sa!!!

signaler à un administrateur
Commentaire de craftsystem le 25/09/2007 20:41:11

cela doit etre faisable

et en plus c'est une bonne idée je trouve
je vais me penché dessus

si tu a d'autre sugestion c'est avec grand plaisir

merci

signaler à un administrateur
Commentaire de Caribensila le 25/09/2007 22:38:54

Salut,

Comme dit Flo, ce serait rigolo (mais pas simple, surtout en mp3).




Je surenchéris:
- pourquoi pas un message audio subliminal   o|O ?

:)))

signaler à un administrateur
Commentaire de craftsystem le 25/09/2007 22:58:13

je suis deja dessus mais sur un autre projet
en libertybasic

des que je le fini je l'interpréterais en Delphi

tous mes projet passe par libertybasic...

enGros:
Au chargement du son celui-ci se position sur une piste audio fantome
une seconde piste audio fantôme est presente mes
celle_ci et deja charger avec (se que j'appelle la bidre)
un texte audio fais avec TextAloudMp3,

mais sa fais longtemps que je suis dessus, je n'arrive toujours pas a  exporter le montage final...

signaler à un administrateur
Commentaire de cantador le 27/09/2007 11:57:22

@foxi :
Je suis d'accord sur le principe de citer l'auteur mais
Est-ce que DelphiFr est habilité à protéger ses droits ?
quelle est la version originale ?
pas simple tout çà..

signaler à un administrateur
Commentaire de craftsystem le 29/01/2008 14:10:04

se n'est pas une question de protèger c'est droits

c'est juste une question de respect pour les personnes qui nous aide rien de plus rien de moin.

signaler à un administrateur
Commentaire de cantador le 29/01/2008 21:17:20

@craftsystem :
La difficulté est de savoir si tel ou tel code est bien de son auteur.
Ce qui n'est pas évident à priori..car pour çà, il faudrait que l'original soit déposé quelque part..
C'était le sens de ma remarque;De la même manière qu'une mélodie
est enregistrée à la SACEM.

Cela ne nous prive pas d'avoir du respect.

signaler à un administrateur
Commentaire de craftsystem le 29/01/2008 21:43:02

C'est sûre Cantador mais c'est aussi les aléas de l'open source

c'est sur que si nous avions les originaux cela serait plus simple mais je doute qu'une telle chose soit possible.

signaler à un administrateur
Commentaire de cantador le 29/01/2008 22:09:25

Et puis il y a aussi l'aspect commercial..
tant que tu utilises un source en citant son auteur qui l'a publié(et qui autorisé sa recopie) tout va bien..

Mais si tu vends un programme avec le source d'un autre et que tu empoches des sous...
Là les difficultés commencent..

Mais comme nous sommes tous désintéressés !
n'est-ce pas ?
no problemo.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

compteur wav [ par tomhanks70 ] voilà j'ai un WAV qui est joué en fond et je voudrais que le temps sois affiche dans un label ( ou quelleque choze du moment que c'est affiché ) :D si la concatenation des fichiers wav [ par chemssou80 ] bonjour a tous bon mon problem c'est comment je peut faire une concatenation des fichiers wav avec delphi et les lires avec mediaplayer ou autr Duree d'un wav [ par magicvinni ] Tout est dans le titre, comment connaitre la duree d'un fichier wav?MagicVinni Débutant, mp3 wav décompréssion. [ par Dejoul ] Salut à tousPour mon lecteur mp3 wav, je cherche à faire un p'ti prog pour décomprèsser mais musique mp3 et les mettre au format wav.Pouvez vous m'écl jarrive à lire les WAV mais pas les MP3 avec le Tmediaplayer de delphi. comment faire? [ par nicola2s ] Je suis en train de créer un lecteur mp3 avec base de données access pour stocker mes MP3 et la je suis en train de créer la partie qui permet de lire MP3 --> WAV [ par lugdanum ] Quelqu'un s'est-il comment convertir un mp3 en wav ou alors un composant gratuit qui le ferait?J'ai bien chercher sur le site et le forum mais rien la Lire un wave situé dans une ressource [ par TiDaN326 ] Bonjour a tous :)J'essaie de faire jouer un wav format mp3 que j'ai inclu en ressource dans mon programme. Le problème : Pas de joli son... Rien ne so Cryptage MD2 MD4 MD5 [ par MAsterC ] Bonjour à tous! J'ai Delphi 7 et Borland C++ Builder 6 puis dans le logiciel C++ de Borland dans l'onglet "Indy - Divers" il y a Les composant de Cryptage MD5 [ par Kruger ] Bonjour tous le monde, je suis en train de develloper une petite application sous delphi 6 entreprise dont une partie est "protégée" par un mots de p cryptage windows [ par ralfspark ] salut a tous j ai crypte certains fichier dans windows (comme mes photos), et apres reinstalation je ne peut plus les lire, que doit je faire ?merci


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,39 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.