Setelah menyelesaikan Decode BaiDuMp3, Base64 ditambah beberapa perubahan Unicode, saya menemukan bahwa algoritma Base64 versi JS dan versi ASP tidak ideal untuk dukungan bahasa Mandarin, jadi saya menggunakan Php. Servernya adalah IIS6.0, dan juga mungkin untuk membiarkannya menjalankan Php.
1. Siapkan tiga file: php.ini, php5ts.dll, dan php5isapi.dll. Php5 adalah file versi PHP yang Anda miliki.
2. Copy php.ini ke direktori windows
Jika Anda ingin menggunakan sesi, konfigurasikan terlebih dahulu:
Buka file, cari extension_dir = ./, dan ubah menjadi extension_dir = C:/windows/extensions; lalu cari session.save_path = /tmp, dan ubah menjadi session.save_path = C:/windows/sessions. (Catatan: Saat ini, Anda perlu membuat folder sesi di direktori C:/windows untuk menyimpan sesi.)
3. Salin php5ts.dll dan php5isapi.dll ke direktori system32
4. Di IIS, tambahkan ekstensi layanan Web, pilih file yang diperlukan dan salin ke php5isapi.dll di system32, dan centang kotak untuk mengatur status ekstensi ke diizinkan.
5. Di situs di mana Anda ingin mengizinkan Php dieksekusi, atur propertinya.
[Direktori Beranda] [Konfigurasi] [Ekstensi Aplikasi]
Klik tombol [Tambah], pilih file yang dapat dieksekusi untuk disalin ke php5isapi.dll di system32, ekstensinya adalah php, batas tindakannya adalah: GET, HEAD, POST, lalu konfirmasi.
Mulai ulang IIS.
Sekarang, situs yang Anda siapkan dapat menjalankan ASP dan PHP. Demikian pula, Anda juga dapat menambahkan Asp.Net atau ekstensi layanan WEB lainnya ke dalamnya.
Terlampir adalah kode Enkode dan Dekode klien BaiDuMp3!
Berikut isi kutipannya:
<tipe skrip=teks/javascript>
fungsi bdmp3Url(){
ini.Saya=[];
ini.E=[];
ini.init();
}
bdmp3Url.prototipe = {
init:fungsi(){
ini.getkeys(0,9,48);
ini.getkeys(10,35,55);
ini.getkeys(36,61,61);
},
dapatkan kunci:fungsi(Q,N,O){
untuk(var P=Q;P<=N;P++){
ini.I[P]=String.fromCharCode(P+O);ini.E[P+O]=P;
}
},
kode:fungsi(C,D,F){
//Mengimbangi
var K=D%26;K=K?K:1;K=C?K:-K;
var N=F.panjang,I=ini.I,E=ini.E,R='',Q='';
untuk(var P=0;P<N;P++){
R=F.charAt(P);
if(/[A-Za-z0-9]/.test(R)){
var S=E[F.charCodeAt(P)]+K;
jika(C){
jika(S>61){S-=62;}
}kalau tidak{
jika(S<0){S+=62;}
}
R=Saya[S];
}
Q+=R;
}
kembalikan Q;
}
}
var x = bdmp3Url baru();
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'));
</skrip>