Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyahkod Rentetan Base64 Double-Obfuscated?
Menyahsulit Rentetan Dikodkan Base64
Rentetan Base64 yang disediakan nampaknya disulitkan menggunakan dua lapisan pengeliruan. Untuk menyahkodnya, kita perlu membalikkan proses ini.
Menterbalikkan Kekeburan Pertama
Kekaburan pertama melibatkan penggunaan kod berikut:
private static string m000493(string p0, string p1) { // ... }
Di mana p1 ialah "_p0lizei". Kod ini muncul untuk XOR aksara p0 dengan aksara p1. Untuk membalikkan ini, kita boleh melakukan operasi yang sama sekali lagi, tetapi kali ini XORing rentetan base64 yang dinyahkodkan dengan "_p0lizei".
Menyahkelirukan Rentetan Base64
Kekeliruan kedua melibatkan penukaran rentetan yang dikodkan kepada Base64. Untuk menyahkelirukannya, kita hanya boleh menukar rentetan Base64 kembali kepada perwakilan binari asalnya menggunakan:
byte[] data = Convert.FromBase64String(encodedString);
Langkah Terakhir: Menyahkod Rentetan Asal
Sebaik sahaja kami mempunyai membalikkan kedua-dua lapisan kekeliruan, kita ditinggalkan dengan rentetan asal. Kita boleh menyahkod ini menggunakan:
string decodedString = System.Text.Encoding.UTF8.GetString(data);
Contoh
Menggunakan rentetan Base64 yang disediakan dan mengikut langkah di atas, kita boleh menyahkodnya dan mendapatkan rentetan asal.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Rentetan Base64 Double-Obfuscated?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!