Et bien je ne suis pas d'accord sur certains points.
Effectivement le logiciel de dessin de Gcompris est "mieux" et bien plus "formateur" que celui par exemple de AdiMalin.
Cependant, l'industrie s'en fout !!!
Le logiciel Gcompris est plus difficile à utiliser (car plus formateur) et plus rebute plus les enfants (et aussi les parents qui regardent), je parle ici d'expérience.
Dans gcompris, l'enfant doit faire un effort !!!! Et les parents aussi, certaines choses dans l'interface n'étant pas très intuitive à mes yeux.
Et qui dit effort dit "C'est moins bien". L'enfant passera quelques minutes sur gcompris pour quelques heures sur AdiMalin, qui n'est en gros qu'un dessin animé vaguement interactif.
Et pour la majorité des parents, un logiciel "éducatif" a surtout comme fonctionnalité : "Il va nous foutre la paix pendant quelques temps"
C'est un peu dur dans la manière de le dire mais il faut l'admettre : c'est en majorité comme ça.
Gcompris est pour moi basé sur une excellente idée et il fait de l'excellent travail. Mon amoureuse s'est même beaucoup amusé avec (21 ans). Par contre, les enfants de 3 à 5 ans n'accrochent pas du tout, je le constate. Certes, ils jouent un peu quelques minutes, mais il faut aller soi-même dans le jeu et généralement leur expliquer un peu. Ils ne sont pas autonomes comme dans un Lapin Malin (que je connais aussi).
Alors, sous Linux avec internet, la solution que j'ai trouvé s'appelle poissonrouge.com !
Je crois fondamentalement que gcompris est très bien en substance mais manque de sex appeal et de tape à l'oeil, ce qui est à mes yeux nécessaire.
Il manque d'une mascotte qui servirait de guide. A la limite, il y'a TROP d'activités dans gcompris, et elles sont d'un niveau trop inégal. Certains détails aussi nécessitent du fignolage : vitesse souvent trop lente des animations (les poissons, le parachute), couleurs peu agréables et pas assez contrastées, voire ne correspondant pas à la couleur énoncée (le jeu des nounours pas exemple), principe parfois trop compliqué (les pays par exemple, il m'a fallu plusieurs essais avant de comprendre qu'il fallait mettre le pays sur le point rouge précisemment, ce qui n'est pas très facile)
On rétorquera que c'est facile de critiquer mais j'espère que mes critiques sont constructives et permettront à gcompris de devenir encore meilleur !
Quoiqu'il en soit, le travail est impressionnant et j'ai trouvé déjà une grande amélioration entre cette version et la précédente !
Mes livres CC By-SA : https://ploum.net/livres.html
Je suis entièrement d'accord ! Je n'ai jamais dit que ma méthode est la meilleure. Idéalement, la méthode que je trouve la plus efficace :
1) Un shéma des différents composants à implémenter et la manière dont ils s'interfacent.
2) Dévelovepement indépendant de chaque composant selon la méthode du "Hello World"
3 éventuel) On note les défauts de la structure et ce qui ne va pas. On réécrit le programme en tenant compte des erreurs apprises.
Mais je crois que tout cela dépend aussi de la personnalité du programmeur.
Personnellement, sans un exemple concret dans un langage, je ne sais pas écrire le moindre prorgramme : j'oublie tout de suite la syntaxe, les détails comme les entêtes, etc... Alors j'écris le Hello World et là, j'ai le langage dans les doigts et tout le reste du programme vient tout seul ensuite...
Certains, au contraire ont une réelle mémoire de la syntaxe et sont plus à l'aise avec la grammaire syntaxique du langage.
Mes livres CC By-SA : https://ploum.net/livres.html
2) Je ne traite pas les profs ni assistants d'abrutis, loin de là. Certains sont exceptionnellement doués, d'autres moins et ils sont en majorité très sympa (surtout les assistants). Oui, certains sont des abrutis, heureusement pas tous..
Mais force est de constater que leur connaissance ne s'applique en fait que rarement à ce que nous sommes censés apprendre...
Mes livres CC By-SA : https://ploum.net/livres.html
On oublie toute les petites boites qui utilisent le noyau linux en temps réel et/ou pour de l'embarqué et qui le modifie en patchant et en envoyant leurs patchs upstream.
Mes livres CC By-SA : https://ploum.net/livres.html
Et cette espérance fait penser à Sun que Windows va tomber à 58% d'utilisation d'ici 2007... intéressant non?
D'après mes calculs, ce serait plutôt 59,636 %. Mais étant donné que 75.987% des statistiques sont fausses...
Bref, signalons tout de même que ce Java Desktop System est un linux, basé sur gnome, avec Star Office et Java de base, ce qui finalement peut faire à moitié nos affaires, si mon petit doigt ne m'indiquait pas que cela risque d'être du vent...
ça ferait complètement nos affaires ! Un système Linux, même payant et non entièrement libre serait 100% compatible avec nos systèmes. Ne parlons que du sxw, des jeux développés pour Java Desktop, des appli dveloppées pour Java Desktop, des drivers pour Java Desktop, du nombre de Mozilla dans les stats des sites web, ...
Bref, je suis 100% pour, même si c'est pas libre et pas beau ! Et passer quelqu'un qui est sous Java Desktop à Debian sera réellement plus facile que depuis Windows :-)
Mes livres CC By-SA : https://ploum.net/livres.html
Mais je suis passé depuis peu à Gnome pour plusieurs raisons :
1) Je veux mieux maitriser gnome pour pouvoir aider les gens que je converti à Linux.
2) J'ai pas encore retrouvé le temps de reprendre à zéro ma config Fvwm.
3) Il y'a certains automatismes bien pratique dans Gnome : l'ajout automatique d'une nouvelle application dans le menu, etc..
Ce qui serait idéal pour moi serait d'avoir un menu gnome accessible depuis fvwm.
Et puis je commence à développer des applications pour Gnome, donc faut bien s'y faire...
Mes livres CC By-SA : https://ploum.net/livres.html
/*****************************************************************************
* DeDRMS.cs: DeDRMS 0.1
*****************************************************************************
* Copyright (C) 2004 Jon Lech Johansen <jon-vl@nanocrew.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
[^] # Re: Méthode anti spam: gnupg...
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Méthode anti spam: gnupg.... Évalué à 1.
PErso, je signe toujours ou presque mes mails.
Mais je ne le fais pas lorsque je ne suis pas chez moi et/ou que j'utilise un webmail.
Comme envoyer un mail signé depuis un cybercafé ?
certains problèmes se posent néanmoins...
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: Méthode anti spam: gnupg...
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Méthode anti spam: gnupg.... Évalué à 1.
Les Cc, les Bcc ?
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: gcompris un logiciel éducatif libre.
Posté par ploum (site web personnel, Mastodon) . En réponse au journal gcompris un logiciel éducatif libre.. Évalué à 4.
Effectivement le logiciel de dessin de Gcompris est "mieux" et bien plus "formateur" que celui par exemple de AdiMalin.
Cependant, l'industrie s'en fout !!!
Le logiciel Gcompris est plus difficile à utiliser (car plus formateur) et plus rebute plus les enfants (et aussi les parents qui regardent), je parle ici d'expérience.
Dans gcompris, l'enfant doit faire un effort !!!! Et les parents aussi, certaines choses dans l'interface n'étant pas très intuitive à mes yeux.
Et qui dit effort dit "C'est moins bien". L'enfant passera quelques minutes sur gcompris pour quelques heures sur AdiMalin, qui n'est en gros qu'un dessin animé vaguement interactif.
Et pour la majorité des parents, un logiciel "éducatif" a surtout comme fonctionnalité : "Il va nous foutre la paix pendant quelques temps"
C'est un peu dur dans la manière de le dire mais il faut l'admettre : c'est en majorité comme ça.
Gcompris est pour moi basé sur une excellente idée et il fait de l'excellent travail. Mon amoureuse s'est même beaucoup amusé avec (21 ans). Par contre, les enfants de 3 à 5 ans n'accrochent pas du tout, je le constate. Certes, ils jouent un peu quelques minutes, mais il faut aller soi-même dans le jeu et généralement leur expliquer un peu. Ils ne sont pas autonomes comme dans un Lapin Malin (que je connais aussi).
Alors, sous Linux avec internet, la solution que j'ai trouvé s'appelle poissonrouge.com !
Je crois fondamentalement que gcompris est très bien en substance mais manque de sex appeal et de tape à l'oeil, ce qui est à mes yeux nécessaire.
Il manque d'une mascotte qui servirait de guide. A la limite, il y'a TROP d'activités dans gcompris, et elles sont d'un niveau trop inégal. Certains détails aussi nécessitent du fignolage : vitesse souvent trop lente des animations (les poissons, le parachute), couleurs peu agréables et pas assez contrastées, voire ne correspondant pas à la couleur énoncée (le jeu des nounours pas exemple), principe parfois trop compliqué (les pays par exemple, il m'a fallu plusieurs essais avant de comprendre qu'il fallait mettre le pays sur le point rouge précisemment, ce qui n'est pas très facile)
On rétorquera que c'est facile de critiquer mais j'espère que mes critiques sont constructives et permettront à gcompris de devenir encore meilleur !
Quoiqu'il en soit, le travail est impressionnant et j'ai trouvé déjà une grande amélioration entre cette version et la précédente !
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Et si ce qu'on apprenait ne marchait pas ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Et si ce qu'on apprenait ne marchait pas ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 2.
1) Un shéma des différents composants à implémenter et la manière dont ils s'interfacent.
2) Dévelovepement indépendant de chaque composant selon la méthode du "Hello World"
3 éventuel) On note les défauts de la structure et ce qui ne va pas. On réécrit le programme en tenant compte des erreurs apprises.
Mais je crois que tout cela dépend aussi de la personnalité du programmeur.
Personnellement, sans un exemple concret dans un langage, je ne sais pas écrire le moindre prorgramme : j'oublie tout de suite la syntaxe, les détails comme les entêtes, etc... Alors j'écris le Hello World et là, j'ai le langage dans les doigts et tout le reste du programme vient tout seul ensuite...
Certains, au contraire ont une réelle mémoire de la syntaxe et sont plus à l'aise avec la grammaire syntaxique du langage.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Et si ce qu'on apprenait ne marchait pas ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 2.
Merci pour le lien.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Et si ce qu'on apprenait ne marchait pas ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Et si ce qu'on apprenait ne marchait pas ?. Évalué à 3.
2) Je ne traite pas les profs ni assistants d'abrutis, loin de là. Certains sont exceptionnellement doués, d'autres moins et ils sont en majorité très sympa (surtout les assistants). Oui, certains sont des abrutis, heureusement pas tous..
Mais force est de constater que leur connaissance ne s'applique en fait que rarement à ce que nous sommes censés apprendre...
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Editeur de texte surpruissant ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Editeur de texte surpruissant ?. Évalué à 1.
apt-get install screem
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: Editeur de texte surpruissant ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Editeur de texte surpruissant ?. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: logiciel libre = mort du developpeur ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal logiciel libre = mort du developpeur ?. Évalué à 1.
On oublie toute les petites boites qui utilisent le noyau linux en temps réel et/ou pour de l'embarqué et qui le modifie en patchant et en envoyant leurs patchs upstream.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: La vidéo sous Linux
Posté par ploum (site web personnel, Mastodon) . En réponse au journal La vidéo sous Linux. Évalué à 1.
mes 0.02
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: fvwm, mon ami
Posté par ploum (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: fvwm, mon ami
Posté par ploum (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.
Parce que je n'ai jamais compris le apt-get source moi , j'ai toujours fait à la main et ça cochonne tout plus qu'autre chose dans une debian :(
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: conseil programmation grahique
Posté par ploum (site web personnel, Mastodon) . En réponse au journal conseil programmation grahique. Évalué à 2.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: fvwm, mon ami
Posté par ploum (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.
et surtout, est-ce que le package debian est patché ?
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: fvwm, mon ami
Posté par ploum (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: fvwm, mon ami
Posté par ploum (site web personnel, Mastodon) . En réponse au journal fvwm, mon ami. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Les spécifications du langage D sont arrivées
Posté par ploum (site web personnel, Mastodon) . En réponse à la dépêche Les spécifications du langage D sont arrivées. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: Sun prévoit une chute vertigineuse des pcs tournant sous Windows d'ici 2007
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Sun prévoit une chute vertigineuse des pcs tournant sous Windows d'ici 2007. Évalué à 4.
D'après mes calculs, ce serait plutôt 59,636 %. Mais étant donné que 75.987% des statistiques sont fausses...
Bref, signalons tout de même que ce Java Desktop System est un linux, basé sur gnome, avec Star Office et Java de base, ce qui finalement peut faire à moitié nos affaires, si mon petit doigt ne m'indiquait pas que cela risque d'être du vent...
ça ferait complètement nos affaires ! Un système Linux, même payant et non entièrement libre serait 100% compatible avec nos systèmes. Ne parlons que du sxw, des jeux développés pour Java Desktop, des appli dveloppées pour Java Desktop, des drivers pour Java Desktop, du nombre de Mozilla dans les stats des sites web, ...
Bref, je suis 100% pour, même si c'est pas libre et pas beau ! Et passer quelqu'un qui est sous Java Desktop à Debian sera réellement plus facile que depuis Windows :-)
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: FVWM ... le window manager parfait ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal FVWM ... le window manager parfait ?. Évalué à 1.
Mais je suis passé depuis peu à Gnome pour plusieurs raisons :
1) Je veux mieux maitriser gnome pour pouvoir aider les gens que je converti à Linux.
2) J'ai pas encore retrouvé le temps de reprendre à zéro ma config Fvwm.
3) Il y'a certains automatismes bien pratique dans Gnome : l'ajout automatique d'une nouvelle application dans le menu, etc..
Ce qui serait idéal pour moi serait d'avoir un menu gnome accessible depuis fvwm.
Et puis je commence à développer des applications pour Gnome, donc faut bien s'y faire...
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Retour de la peine de mort en France ?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Retour de la peine de mort en France ?. Évalué à 2.
Cette phrase est a affiché en grand et à envoyer aux parlementaires ...
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Une fois de plus
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Une fois de plus. Évalué à 1.
C'est difficile parce que cinelerra est très moche, plante souvent et ne semble pas facile.
Mais en fait, Cinelerra est bien plus efficace car comme par magie il dispose juste de ce dont j'ai besoin et rien de plus !
dvgrab est quand même idéal pour grabber les fichiers dv. Je l'utilisais même quand je montais encore sous Windows.
De plus, Cinelerra plante aussi souvent que Premiere mais restaure automatiquement ton projet, alors que Premiere me le corrompait.
Y'a vraiment moyen, c'est juste l'interface qui est hideuse.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: A quoi servent les lois anti-trust?
Posté par ploum (site web personnel, Mastodon) . En réponse au journal A quoi servent les lois anti-trust?. Évalué à 0.
/*****************************************************************************
* DeDRMS.cs: DeDRMS 0.1
*****************************************************************************
* Copyright (C) 2004 Jon Lech Johansen <jon-vl@nanocrew.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
class M4PStream
{
private Rijndael alg;
private BinaryReader br;
private BinaryWriter bw;
private byte [] sbuffer;
private string AtomDRMS = "drms";
private string AtomMP4A = "mp4a";
private string AtomSINF = "sinf";
private string AtomUSER = "user";
private string AtomKEY = "key ";
private string AtomIVIV = "iviv";
private string AtomNAME = "name";
private string AtomPRIV = "priv";
private string AtomSTSZ = "stsz";
private string AtomMDAT = "mdat";
public M4PStream( FileStream fs )
{
br = new BinaryReader( fs );
bw = new BinaryWriter( fs );
sbuffer = br.ReadBytes( Convert.ToInt32( fs.Length ) );
alg = Rijndael.Create();
alg.Mode = CipherMode.CBC;
alg.Padding = PaddingMode.None;
}
byte [] NetToHost( byte [] Input, int Pos, int Count )
{
if( BitConverter.IsLittleEndian )
{
for( int i = 0; i < Count; i++ )
{
Array.Reverse( Input, Pos + (i * 4), 4 );
}
}
return Input;
}
int GetAtomPos( string Atom )
{
byte [] Bytes = Encoding.ASCII.GetBytes( Atom );
for( int i = 0; i < (sbuffer.Length - 3); i++ )
{
if( sbuffer[ i + 0 ] == Bytes[ 0 ] &&
sbuffer[ i + 1 ] == Bytes[ 1 ] &&
sbuffer[ i + 2 ] == Bytes[ 2 ] &&
sbuffer[ i + 3 ] == Bytes[ 3 ] )
{
return i;
}
}
throw new Exception( String.Format( "Atom '{0}' not found", Atom ) );
}
uint GetAtomSize( int Pos )
{
byte [] Bytes = new byte[ 4 ];
Buffer.BlockCopy( sbuffer, Pos - 4, Bytes, 0, 4 );
return BitConverter.ToUInt32( NetToHost( Bytes, 0, 1 ), 0 );
}
byte [] GetAtomData( int Pos, bool bNetToHost )
{
uint Size;
byte [] Bytes;
Size = GetAtomSize( Pos );
Bytes = new byte[ Size - 8 ];
Buffer.BlockCopy( sbuffer, Pos + 4, Bytes, 0, Bytes.Length );
return bNetToHost ? NetToHost( Bytes, 0, Bytes.Length / 4 ) : Bytes;
}
public void Decrypt( byte [] CipherText, int Offset, int Count,
byte [] Key, byte [] IV )
{
MemoryStream ms = new MemoryStream();
ICryptoTransform ct = alg.CreateDecryptor( Key, IV );
CryptoStream cs = new CryptoStream( ms, ct, CryptoStreamMode.Write );
cs.Write( CipherText, Offset, (Count / 16) * 16 );
cs.Close();
ms.ToArray().CopyTo( CipherText, Offset );
}
public byte [] GetUserKey( uint UserID, uint KeyID )
{
byte [] UserKey;
BinaryReader bruk;
string strHome =
Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData );
bool bUnix = Environment.OSVersion.ToString().IndexOf( "Unix" ) != -1;
string strFile = String.Format( "{0}{1}{2}drms{3}{4:X8}.{5:D3}", strHome,
Path.DirectorySeparatorChar, bUnix ? "." : "",
Path.DirectorySeparatorChar, UserID, KeyID );
bruk = new BinaryReader( File.OpenRead( strFile ) );
UserKey = bruk.ReadBytes( Convert.ToInt32( bruk.BaseStream.Length ) );
bruk.Close();
return UserKey;
}
public int [] GetSampleTable()
{
byte [] adSTSZ = GetAtomData( GetAtomPos( AtomSTSZ ), true );
int SampleCount = BitConverter.ToInt32( adSTSZ, 8 );
int [] SampleTable = new int[ SampleCount ];
for( int i = 0; i < SampleCount; i++ )
{
SampleTable[ i ] = BitConverter.ToInt32( adSTSZ, 12 + (i * 4) );
}
return SampleTable;
}
public void DeDRMS()
{
byte [] IV = new byte[ 16 ];
byte [] Key = new byte[ 16 ];
int apDRMS = GetAtomPos( AtomDRMS );
int apSINF = GetAtomPos( AtomSINF );
int apMDAT = GetAtomPos( AtomMDAT );
int [] SampleTable = GetSampleTable();
byte [] adUSER = GetAtomData( GetAtomPos( AtomUSER ), true );
byte [] adKEY = GetAtomData( GetAtomPos( AtomKEY ), true );
byte [] adIVIV = GetAtomData( GetAtomPos( AtomIVIV ), false );
byte [] adNAME = GetAtomData( GetAtomPos( AtomNAME ), false );
byte [] adPRIV = GetAtomData( GetAtomPos( AtomPRIV ), false );
uint UserID = BitConverter.ToUInt32( adUSER, 0 );
uint KeyID = BitConverter.ToUInt32( adKEY, 0 );
string strName = Encoding.ASCII.GetString( adNAME );
byte [] UserKey = GetUserKey( UserID, KeyID );
MD5CryptoServiceProvider MD5 = new MD5CryptoServiceProvider();
MD5.TransformBlock( adNAME, 0, strName.IndexOf( '\0' ), adNAME, 0 );
MD5.TransformFinalBlock( adIVIV, 0, adIVIV.Length );
Decrypt( adPRIV, 0, adPRIV.Length, UserKey, MD5.Hash );
if( Encoding.ASCII.GetString( adPRIV, 0, 4 ) != "itun" )
{
throw new Exception( "Decryption of 'priv' atom failed" );
}
Buffer.BlockCopy( adPRIV, 24, Key, 0, Key.Length );
Buffer.BlockCopy( adPRIV, 48, IV, 0, IV.Length );
for( int i = 0, Pos = apMDAT + 4;
i < SampleTable.Length;
Pos += SampleTable[ i ], i++ )
{
Decrypt( sbuffer, Pos, SampleTable[ i ], Key, IV );
}
Encoding.ASCII.GetBytes( AtomMP4A ).CopyTo( sbuffer, apDRMS );
Encoding.ASCII.GetBytes( AtomSINF.ToUpper() ).CopyTo( sbuffer, apSINF );
bw.Seek( 0, SeekOrigin.Begin );
bw.Write( sbuffer );
}
}
class DeDRMS
{
public static void Main( string [] Args )
{
FileStream fs;
M4PStream m4p;
if( Args.Length != 1 )
{
Console.WriteLine( "Usage: DeDRMS file.m4p" );
return;
}
try
{
fs = new FileStream( Args[ 0 ], FileMode.Open,
FileAccess.Read | FileAccess.Write );
m4p = new M4PStream( fs );
m4p.DeDRMS();
fs.Close();
}
catch( Exception e )
{
Console.WriteLine( "Exception: {0}", e.Message );
return;
}
}
}
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Windows : terrain de jeu des virus
Posté par ploum (site web personnel, Mastodon) . En réponse au journal Windows : terrain de jeu des virus. Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
# Re: http -> http://www.w3.org
Posté par ploum (site web personnel, Mastodon) . En réponse au journal http -> http://www.w3.org. Évalué à 2.
Mes livres CC By-SA : https://ploum.net/livres.html