Skip to content

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

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

کد فریدا (الگوی ایمن):

javascript
Java.perform(function () {
    try {
        var SensitiveClass = Java.use("com.example.secure.KeyStore")
        
        SensitiveClass.getKey.implementation = function () {
            console.log("[+] getKey called")
            return this.getKey()
        }
    } catch (e) {
        /* اگر کلاس پیدا نشد یا خطایی رخ داد، اینجا چاپ می‌شود */        
        /* و بقیه اسکریپت به کارش ادامه می‌دهد */        
        console.error("[-] Error hooking KeyStore: " + e.message)
    }
})