Reflection bilan yomon Java xakerlari


Download 1.02 Mb.
Sana28.12.2022
Hajmi1.02 Mb.
#1021767
Bog'liq
AZIZBEK


Reflection bilan yomon Java xakerlari

Reflection API hatto JDK standart kutubxonasida ham shaxsiy va yakuniy maydonlarning qiymatlarini o'zgartirish uchun ishlatilishi mumkin. Bu


GoalKicker.com – Professionallar uchun Java® eslatmalari 582
Biz ko'rib turganimizdek, ba'zi taniqli sinflarning xatti-harakatlarini boshqarish uchun ishlatilishi mumkin.
Nima mumkin emas
Avvaliga faqat cheklovdan boshlaylik, bu biz Reflection bilan o'zgartira olmaydigan yagona maydonni bildiradi. Bu Java
Xavfsizlik menejeri. Bu java.lang.System da e'lon qilingan
xususiy statik uchuvchi SecurityManager xavfsizligi = null;
Ammo agar biz ushbu kodni ishlatsak, u tizim sinfida ro'yxatga kiritilmaydi
uchun(f maydoni: System.class.getDeclaredFields())
System.out.println(f);
Buning sababi, sun.reflect.Reflection-dagi fieldFilterMap, xaritaning o'zini va xavfsizlik maydonini saqlaydi.
System.class va ularni Reflection bilan har qanday kirishdan himoya qiladi. Shuning uchun biz uni o'chira olmadik
Xavfsizlik menejeri.
Crazy Strings
Har bir Java String JVM tomonidan String sinfining namunasi sifatida taqdim etiladi. Biroq, ba'zi hollarda JVM
Strings uchun bir xil misoldan foydalanib, yig'ma bo'sh joyni tejaydi. Bu satr literallari uchun ham sodir bo'ladi
String.intern() ga qo'ng'iroq qilish orqali "interned" qilingan satrlar. Shunday qilib, agar kodingizda "salom" bo'lsa, bir necha marta
har doim bir xil ob'ekt namunasidir.
Satrlar o'zgarmas bo'lishi kerak, ammo ularni o'zgartirish uchun "yomon" aks ettirishdan foydalanish mumkin. Quyidagi misol
Stringdagi belgilarni qiymat maydonini almashtirish orqali qanday o'zgartirishimiz mumkinligini ko'rsating


Shunday qilib, bu kod "siz hidsiz!"
1 = 42
Xuddi shu g'oya Integer sinfida ham qo'llanilishi mumkin




Hammasi haqiqat


Va bu stackoverflow postiga ko'ra, biz haqiqatan ham yomon narsa qilish uchun aks ettirishdan foydalanishimiz mumkin.

Download 1.02 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling