Après avoir terminé le décodage de BaiDuMp3, Base64 ainsi que quelques modifications Unicode, j'ai trouvé que l'algorithme Base64 de la version JS et de la version ASP n'est pas idéal pour le support chinois, j'ai donc utilisé Php. Le serveur est IIS6.0, et il l'est également. possible de le laisser exécuter Php.
1. Préparez trois fichiers : php.ini, php5ts.dll et php5isapi.dll. Le php5 est le fichier de la version de PHP que vous possédez. Différentes versions ont des numéros différents.
2. Copiez php.ini dans le répertoire Windows
Si vous souhaitez utiliser la session, configurez-la d'abord :
Ouvrez le fichier, recherchez extension_dir = ./ et remplacez-le par extension_dir = C:/windows/extensions ; puis recherchez session.save_path = /tmp et remplacez-le par session.save_path = C:/windows/sessions. (Remarque : à ce stade, vous devez créer un dossier de sessions dans le répertoire C:/windows pour stocker la session.)
3. Copiez php5ts.dll et php5isapi.dll dans le répertoire system32
4. Dans IIS, ajoutez l'extension du service Web, sélectionnez le fichier requis et copiez-le dans php5isapi.dll dans system32, puis cochez la case pour définir l'état de l'extension sur autorisé.
5. Sur le site sur lequel vous souhaitez autoriser l'exécution de Php, définissez ses propriétés.
[Répertoire personnel] [Configuration] [Extension d'application]
Cliquez sur le bouton [Ajouter], sélectionnez le fichier exécutable à copier dans php5isapi.dll dans system32, l'extension est php, la limite d'action est : GET, HEAD, POST, puis confirmez.
Redémarrez IIS.
Désormais, le site que vous configurez peut exécuter à la fois ASP et PHP. De même, vous pouvez également y ajouter Asp.Net ou d'autres extensions de service WEB.
Vous trouverez ci-joint le code d'encodage et de décodage du client BaiDuMp3 !
Voici le contenu cité :
<type de script=texte/javascript>
fonction bdmp3Url(){
ceci.I=[];
ceci.E=[];
this.init();
}
bdmp3Url.prototype = {
init:fonction(){
this.getkeys(0,9,48);
this.getkeys(10,35,55);
this.getkeys(36,61,61);
},
getkeys:fonction(Q,N,O){
pour(var P=Q;P<=N;P++){
this.I[P]=String.fromCharCode(P+O);this.E[P+O]=P;
}
},
code:fonction(C,D,F){
//Compenser
var K=D%26;K=K?K:1;K=C?K:-K;
var N=F.length,I=this.I,E=this.E,R='',Q='';
pour(var P=0;P<N;P++){
R=F.charAt(P);
si(/[A-Za-z0-9]/.test(R)){
var S=E[F.charCodeAt(P)]+K;
si(C){
si(S>61){S-=62;}
}autre{
si(S<0){S+=62;}
}
R=I[S] ;
}
Q+=R ;
}
renvoyer Q ;
}
}
var x = nouveau bdmp3Url();
document.write(x.code(1,1227148832,'http://www.wzms.net/UploadFiles/2007-1/115747297.wma')+'<br/>');
document.write(x.code(0,1227148832,'iuuq://xxx.x0nt.ofu/VqmpbeGjmft/3118-2/2268583A8.xnb'));
</script>