首页 > 其他分享 >一例APP绕过root检测解密

一例APP绕过root检测解密

时间:2024-05-27 16:30:26浏览次数:15  
标签:xxxx root APP 解密 su system com magisk

一例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大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

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

标签:xxxx,root,APP,解密,su,system,com,magisk
From: https://blog.csdn.net/2401_84466229/article/details/139212241

相关文章

  • 解密 Alpha 勒索软件
    Alpha勒索软件很容易与ALPHV勒索软件混淆,但其实这是两个不同的勒索软件团伙。近期,Alpha勒索软件团伙在暗网上建立了数据披露网站,并且对外公开了6个受害者。通常来说,勒索软件运营者在启动数据披露网站前会保持攻击态势。一旦成功入侵了部分受害者(这通常需要几个月的时间),攻......
  • app上架国内应用商城合规检测、隐私合规检测
    1.工具准备camile代码(python)gitclonehttps://github.com/zhengjim/camille.git模拟器(夜神模拟器/Mumu模拟器)mumu模擬器:127.0.0.1:7555夜神模擬器:127.0.0.1:62001FridaFirda是一款易用的跨平Hook工具,Java层到Native层的Hook无所不能,是一种动态的插桩工......
  • 使用.Net Core开发WPF App系列教程( 八、WPF中的常用控件(下))
    使用.NetCore开发WPFApp系列教程一、.NetCore和WPF介绍二、在VisualStudio2019中创建.NetCoreWPF工程三、与.NetFramework的区别四、WPF中的XAML五、WPF中的布局六、WPF中的常用控件(上)七、WPF中的常用控件(中)八、WPF中的常用控件(下)其它、实现多语言切换的几种方......
  • appKey&appSecret 加密验签算法
    加密方式请求参数依次从a-z排列然后拼接后加入加密app_secret然后MD5加密即可得到签名字符串PHP示例privatestaticfunctiongenerateSign($params,$appSecret){ksort($params);$str='';foreach($paramsas$key=>$value){......
  • mybatis- [04] mapper文件详解
      Mybatis的Mapper文件(通常是以.xml为扩展名的文件)主要用于定义SQL语句和它们与Java接口方法之间的映射关系。以下是Mapper文件中一些常用的配置元素和属性。 一、mapper文件配置详解(1)namespace:定义Mapper接口对应的唯一命名空间,用于区分不同的Mapper。(常以UserMapper类的......
  • 探索Solana链上DApp开发:高性能区块链生态的新机遇
    Solana是一个新兴的区块链平台,致力于为DApp(去中心化应用程序)开发者提供高性能、低成本的解决方案。Solana的独特之处在于其创新性的共识机制和高吞吐量的网络,使得开发者可以构建高度可扩展的DApp,并为用户提供无与伦比的体验。以下是一份简要介绍,让您可以快速了解Solana链......
  • 轻松赚取零花钱,这些神器APP让你告别广告烦恼!
    在快节奏的现代生活中,很多人都希望能够在闲暇之余轻松赚取一些零花钱。然而,很多所谓的赚钱软件却充斥着大量的广告,让人不胜其烦。今天,我就为大家介绍9款不用看广告就能赚零花钱的软件,其中包括备受好评的“千行赏金”,让你在享受赚钱乐趣的同时,远离广告的打扰!一、千行赏金——你......
  • android studio 实现web网站变成app小程序
    MainActivity.javapackagecom.example.myapplication;importandroid.os.Bundle;importandroid.webkit.WebView;importandroid.webkit.WebViewClient;importandroidx.appcompat.app.AppCompatActivity;publicclassMainActivityextendsAppCompatActivity{......
  • MahApps.Metro的MVVM模式解析(二) 主题功能
    MahApps.Metro的MVVM模式解析(二)主题功能MahApps.Metro是一个开源的WPF框架,旨在为WPF应用程序提供现代和漂亮的用户界面。在MahApps.Metro中提供了切换主题的功能。经过多日的筛选和分析,在本文来理清它的脉络。1主题功能演示主题列表:白天主题效果:夜晚主题效果:2软件架构......
  • 【Spring】SpringMVC中@RequestMapping 详解
    1、简介在SpringMVC中,@RequestMapping是一个非常重要的注解,它用于映射web请求(如HTTP请求)到特定的处理器方法或处理器类。2、基本用法@RequestMapping可以标注在方法或类上。当标注在类上时,它提供了初步的请求映射信息,如请求路径的前缀。当标注在方法上时,它提供了具体的......