ساخت کلاس جدید: Java.registerClass
تا اینجای کار، ما با Java.use کلاسهای موجود در اپلیکیشن را تغییر میدادیم. اما گاهی اوقات لازم است یک کلاس کاملا جدید را از صفر بسازیم و به اپلیکیشن تزریق کنیم.
چرا باید این کار را بکنیم؟
- پیادهسازی Interfaceها: اپلیکیشن منتظر دریافت یک شیء است که یک اینترفیس خاص (مثل
OnClickListenerیاTrustManager) را پیادهسازی کرده باشد. - Bypass کردن SSL Pinning: ساختن یک
TrustManagerجعلی که همه گواهیها را تایید میکند.
تفاوت با Java.use
Java.use: ویرایشگر (Editor) است. کدهای موجود را تغییر میدهد.Java.registerClass: سازنده (Creator) است. یک کلاس جدید در حافظه Runtime میسازد.