过某app的root检测

过某app的root检测

某国外航班app在root设备上打开闪退:
过某app的root检测_第1张图片

如何定位检测位置很棘手。使用jadx打开app。找了几处检测su路径的地方,无奈都不对。
想到检测su路径的时候,经常使用java的java.io.File类来判断是否存在,
new File(Filename).exists()
于是写了一个frida脚本来hook java 的File类:

var File = Java.use("java.io.File")
      File.$init.overload('java.lang.String').implementation = function (a){
       	  console.log("------->", a)
          return this.$init(a)
      } 

spwan启动app,果然输出了很多带有su的路径
过某app的root检测_第2张图片
那我把这些带有su的路径在hook的时候随便改个名字,是不是就找不到这些路径了呢,修改frida代码:

var File = Java.use("java.io.File")
    File.$init.overload('java.lang.String').implementation = function (a){
       if (a.indexOf("/su") !=-1 || a.indexOf("Super") !=-1){
            a = a+"absdgf"
            console.log("------->", a)
        }
        return this.$init(a)
        }

再次打开app,发现可以正常打开app抓包了:
过某app的root检测_第3张图片

你可能感兴趣的:(爬虫,开发语言)