Skip to content

۳. مدیریت خطاها (Try-Catch) ​

از آنجایی که کدهای داخل Java.perform با اپلیکیشن اصلی تعامل دارند، هرگونه خطا (مثل تایپ اشتباه نام کلاس) می‌تواند باعث توقف اسکریپت شود. برای نوشتن اسکریپت‌های ضد گلوله، بهتر است عملیات‌های حساس را داخل بلوک try-catch بگذارید.

کد فریدا (مدیریت خطا):

javascript
Java.perform(function () {
    try {
        /* تلاش برای هوک کردن کلاسی که شاید وجود نداشته باشد */        
        var MissingClass = Java.use("com.example.does.not.exist")
        
        MissingClass.someMethod.implementation = function() {
            console.log("Hooked!")
        }
    } catch (e) {
        /* گرفتن خطا بدون متوقف شدن کل اسکریپت */        
        console.error("[-] Class not found or error in hooking: " + e.message)
    }

    /* ادامه کد... */    
    console.log("[*] Script continues executing...")
})