一例APP绕过root检测解密

一例APP绕过root检测解密

前言

最近在分析一款app时遇见了root检测,数据包加密,花了时间简单研究了一下,记录下学习的过程。

 

抛出问题

打开app发现提示检测到设备为root设备,闪退。能看到提示,推测应该是java层的检测。

拖进jadx发现是加固的。

通过frida绕过检测

java层常见root检测大多是通过检测系统文件:一些路径下的su文件,一些root的app相关文件。

  "/data/local/bin/su",
  "/data/local/su",
  "/data/local/xbin/su",
  "/dev/com.koushikdutta.superuser.daemon/",
  "/sbin/su",
  "/system/app/Superuser.apk",
  "/system/bin/failsafe/su",
  "/system/bin/su",
  "/su/bin/su",
  "/system/etc/init.d/99SuperSUDaemon",
  "/system/sd/xbin/su",
  "/system/xbin/busybox",
  "/system/xbin/daemonsu",
  "/system/xbin/su",
  "/system/sbin/su",
  "/vendor/bin/su",
  "/cache/su",
  "/data/su",
  "/dev/su",
  "/system/bin/.ext/su",
  "/system/usr/we-need-root/su",
  "/system/app/Kinguser.apk",
  "/data/adb/magisk",
  "/sbin/.magisk",
  "/cache/.disable_magisk",
  "/dev/.magisk.unblock",
  "/cache/magisk.log",
  "/data/adb/magisk.img",
  "/data/adb/magisk.db",
  "/data/adb/magisk_simple",
  "/init.magisk.rc",
  "/system/xbin/ku.sud"

检测一些root的app如magisk等。

  "com.noshufou.android.su",
  "com.noshufou.android.su.elite",
  "eu.chainfire.supersu",
  "com.koushikdutta.superuser",
  "com.thirdparty.superuser",
  "com.yellowes.su",
  "com.koushikdutta.rommanager",
  "com.koushikdutta.rommanager.license",
  "com.dimonvideo.luckypatcher",
  "com.chelpus.lackypatch",
  "com.ramdroid.appquarantine",
  "com.ramdroid.appquarantinepro",
  "com.topjohnwu.magisk",
  "com.kingroot.kinguser",
  "com.kingo.root",
  "com.smedialink.oneclickroot",
  "com.zhiqupk.root.global",
  "com.alephzain.framaroot",
  "com.android.vending.billing.InAppBillingService.COIN",
  "com.android.vending.billing.InAppBillingService.LUCK",
  "com.chelpus.luckypatcher",
  "com.blackmartalpha",
  "org.blackmart.market",
  "com.allinone.free",
  "com.repodroid.app",
  "org.creeplays.hack",
  "com.baseappfull.fwd",
  "com.zmapp",
  "com.dv.marketmod.installer",
  "org.mobilism.android",
  "com.android.wp.net.log",
  "com.android.camera.update",
  "cc.madkite.freedom",
  "com.solohsu.android.edxp.manager",
  "org.meowcat.edxposed.manager",
  "com.xmodgame",
  "com.cih.game_cih",
  "com.charles.lpoqasert",
  "catch_.me_.if_.you_.can_"

这里通过一些公开的脚本去绕过,直接可以绕过。

frida -U -f com.xxxx.xxxx -l anti_root.js --no-pause

3

此时不再闪退。

4

数据包测试

挂上代理进行测试抓包,发现存在参数加密。

还是需要脱壳进行分析。 这里已经绕过了root检测,没有frida检测,直接上frida-dexdump就行。

frida-dexdump -FU

分析后定位到类:com.xxxx.xxxx.utils.http.DESHelp 直接hook就行。

frida rpc

只是hook加解密还是用很多不方便的地方,有时候需要去主动调用对应的加解密函数。 这里可以用brida,或者是httpdecrypt等工具。 这里提供一个通过python frida交互,使用rpc来完成主动调用。 调用也很简单,只是代码写死在了js脚本中,所用使用rpc.exports开启RPC调用接口,后面使用python来调用。

 function htddecrypt(param,key){
      var result;
      Java.perform(function () {
          
          var hclass = Java.use("com.xxxx.xxxx.utils.http.DESHelp");
          var hexarry = hclass.parseHexStr2Byte(param);
          param = byteToString(hexarry);
          console.log("[*] Hooking ...");
          result = hclass.decrypt(param, key);
          //console.log(result); 
      });
      return result;
  }
​
  function htdencrypt(param,key){
      var result;
      var enc
      Java.perform(function () {
          var hclass = Java.use("com.xxxx.xxxx.utils.http.DESHelp");
          console.log(param);
          enc = hclass.encrypt(param, key);
          //console.log(result); 
          var hexarry = stringToByte(enc);
          result = hclass.parseByte2HexStr(hexarry);
      });
      return result;
  }    
​
  rpc.exports = {  
      rpcfunc: htdencrypt,
      rpcfunc1: htddecrypt
​
  }

通过python中代码:

session = frida.get_usb_device().attach("com.xxxx.xxxx")   
script = frida_rpc(session)
param = str(sys.argv[2])
ret = script.exports.rpcfunc(param,"CCCk+H%b6.MMMMkoKKK")
print(ret) 
​

总结

还是一个简单的例子,现在常规的app大体思路都是这样,只能碰到问题花时间研究去解决,不能迷信通杀方案。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

 大厂面试题

 

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 |CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值