Rumah > Java > javaTutorial > teks badan

Bagaimanakah saya boleh menyembunyikan rentetan sensitif dengan berkesan dalam kod yang dikelirukan?

DDD
Lepaskan: 2024-10-31 22:28:28
asal
154 orang telah melayarinya

 How can I effectively hide sensitive strings in obfuscated code?

Menyingkap Rentetan Tersembunyi dalam Kod Terkabur

Obfuscator seperti ProGuard boleh meningkatkan keselamatan kod dengan mengelirukan rentetan yang kelihatan, tetapi mereka mungkin tidak mencukupi untuk maklumat sensitif seperti URL atau data pelesenan.

Menyembunyikan Rentetan Sensitif

Untuk menyembunyikan rentetan sensitif dengan berkesan, pertimbangkan teknik berikut:

  • Pengekodan: Pengekodan rentetan menggunakan kaedah seperti Base64 untuk menjadikannya kelihatan bergegar.
  • Penyulitan: Sulitkan rentetan menggunakan algoritma seperti AES untuk menjadikannya tidak dapat difahami tanpa kunci penyulitan.

Untuk melaksanakan teknik ini, anda boleh:

  1. Menyulitkan rentetan secara manual menggunakan kunci yang diketahui.
  2. Laraskan kod anda untuk menggunakan versi rentetan yang dinyahsulitkan. Contohnya:
<code class="java">// Before encryption
public class Foo {
    private String mySecret = "http://example.com";
}

// After encryption
public class Foo {
    private String encrypted = "<encrypted string>";
    private String key = "<encryption key>";
    private String mySecret = MyDecryptUtil.decrypt(encrypted, key);
}</code>
Salin selepas log masuk

Mencari Kelas R

Semasa penyahkompilasi, kelas R tidak selalunya mudah dilihat disebabkan oleh kekeliruan. Walau bagaimanapun, fail pemetaan ProGuard boleh memberikan cerapan tentang lokasinya:

  • Cari bahagian "kelas" dalam fail pemetaan.
  • Cari "R.java" untuk mencari yang asal laluan kelas R.
  • Navigasi ke laluan itu dalam direktori kod yang dinyahkompilasi untuk mengakses kelas R.

Memahami Nombor Kelas R

Nombor seperti "2130903058" dalam kod yang dinyahkompilasi mewakili ID sumber. Nombor ini merujuk kepada sumber dalam projek anda, seperti fail susun atur.

Untuk mencari sumber yang sepadan:

  • Nyah susun fail R.java daripada fail pemetaan.
  • Cari ID sumber dalam fail R.java yang dinyahkompilasi.
  • Sumber yang sepadan (cth., fail reka letak) akan ditentukan dalam hasil carian.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyembunyikan rentetan sensitif dengan berkesan dalam kod yang dikelirukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!