Skip to content

۳. متوقف کردن مکانیزم Exit (جلوگیری از بسته شدن اپ) ​

بسیاری از اپلیکیشن‌ها وقتی می‌فهمند تحت حمله هستند یا روت شناسایی می‌شود، دستور System.exit(0) را صادر می‌کنند تا بسته شوند. ما می‌توانیم جلوی بسته شدن اپلیکیشن را بگیریم تا فرصت کافی برای تحلیل داشته باشیم.

کد فریدا (جلوگیری از بسته شدن خودکار):

javascript
Java.perform(function () {
    var System = Java.use("java.lang.System")
    
    /* هوک کردن متد خروج */    
    System.exit.implementation = function (code) {
        console.warn("[!] Application tried to EXIT with code: " + code)
        console.warn("[!] Blocking exit command to keep the app alive...")
        
        /* با خالی گذاشتن این بلاک و برنگرداندن هیچ چیز، دستور خروج نادیده گرفته می‌شود */        
        /* این کار اجازه می‌دهد اپلیکیشن باز بماند حتی اگر روت شناسایی شود. */        
    }
})

نکته امنیتی

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