Skip to content

۱. پنهان کردن فایل‌های حساس (Anti-Root Bypass) ​

اپلیکیشن‌ها معمولا با استفاده از متد exists() در کلاس File چک می‌کنند که آیا ابزارهای روت (مثل Magisk یا سوپریوزر) روی گوشی نصب هستند یا خیر. ما این متد را جوری هوک می‌کنیم که برای فایل‌های مشکوک، همیشه بگوید «چنین فایلی وجود ندارد».

کد فریدا (دروغ گفتن درباره وجود فایل):

javascript
Java.perform(function () {
    var File = Java.use("java.io.File")

    File.exists.implementation = function () {
        var filename = this.getName()
        
        /* لیست سیاه فایل‌هایی که اپلیکیشن نباید ببیند */        
        var blacklist = ["su", "magisk", "busybox", "supersu", "daemonsu"]
        
        for (var i = 0; i < blacklist.length; i++) {
            if (filename.indexOf(blacklist[i]) !== -1) {
                console.log("[!] Anti-Root: Application tried to check for " + filename + " - Denied!")
                return false // به اپلیکیشن می‌گوییم این فایل وجود ندارد
            }
        }
        
        return this.exists()
    }
})