Rumah  >  Artikel  >  Java  >  Bagaimanakah Rentetan Sensitif Boleh Disembunyikan dalam Kod Obfuscated?

Bagaimanakah Rentetan Sensitif Boleh Disembunyikan dalam Kod Obfuscated?

DDD
DDDasal
2024-10-30 16:12:03574semak imbas

 How Can Sensitive Strings Be Hidden in Obfuscated Code?

Menyembunyikan Rentetan Sensitif dalam Kod Dikaburkan

Kod mengelirukan untuk melindungi maklumat proprietari adalah amalan biasa, tetapi mata yang arif masih boleh mendedahkan rentetan tersembunyi. Untuk menyembunyikan data sensitif dengan berkesan, pertimbangkan teknik berikut:

Pengekodan lwn. Penyulitan

Jika objektifnya adalah untuk menghalang pemeriksaan biasa, pengekodan sudah memadai. Kelas android.util.Base64 menawarkan kaedah yang mudah. Walau bagaimanapun, pengekodan memberikan keselamatan yang boleh diabaikan.

Untuk perlindungan yang lebih kukuh terhadap penyerang, penyulitan simetri dengan sifir seperti AES disyorkan. Kelas javax.crypto.Cipher menyediakan contoh penggunaannya.

Penyulitan dan Penyahsulitan Manual

Laksanakan penyulitan dan penyahsulitan secara manual mengikut langkah berikut:

  1. Sulitkan rentetan dengan kunci yang diketahui.
  2. Kemas kini kod untuk menggunakan versi rentetan yang dinyahsulit (cth., gunakan MyDecryptUtil.decrypt(encrypted, key) dan bukannya mySecret = "http:// example.com").

Penyelesaian DRM Pihak Ketiga

Pertimbangkan untuk menggunakan penyelesaian DRM pihak ketiga seperti pelayan pelesenan Google. Mereka menawarkan potensi manfaat keselamatan berbanding penyelesaian gulung kendiri, tetapi masih mempunyai had yang serupa dengan penyulitan dan penyahsulitan manual.

Rentetan Kelas R

Rentetan kelas R yang anda nyatakan dalam kod anda adalah rujukan kepada sumber. Obfuscator seperti ProGuard tidak mengelirukan kelas R itu sendiri tetapi merujuk kepada ID sumber. Mereka mengekalkan nombor yang sama tetapi menukar pemetaan yang menunjukkan kepada sumber sebenar.

Dalam kes ini, 2130903058 merujuk fail reka letak. Tanpa kelas R yang dinyahkompilasi, anda tidak boleh mendapatkan semula sumber yang diwakilinya secara langsung, tetapi ia masih merupakan alamat kepada data binari sumber itu.

Atas ialah kandungan terperinci Bagaimanakah Rentetan Sensitif Boleh Disembunyikan dalam Kod Obfuscated?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn