当前位置: 首页 > news >正文

3.安卓逆向2-安卓文件目录

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:图灵Python学院

上一个内容:2.安卓逆向2-adb指令

首先使用adb连接到手机,如下图使用adb命令列出手机的目录,下图红框的是一些系统文件,系统加载的时候可能会引用它们,我们不需要关注它们

需要关注的:/system、/data、/sdcard、/proc

/system目录,这个目录需要root权限才能进入,就是手机需要root

作用:存储安卓操作系统的核心文件,包括系统应用、库文件和配置文件

子目录:

/system/app:系统预装应用(如设置、浏览器)的APK文件

/system/bin:系统可执行文件(Linux命令,如ls、cat)

/system/lib:系统库文件(如.so文件)

/system/etc:配置文件(如网络、权限设置)

/system/framework:安卓框架文件(如framework.jar)

进入system目录

进入/system/app目录,这个目录是系统app,相机、电话、短信、设置之类的app都在这里

随便进入一个目录,可以看到它的apk文件,如果想要删除系统app,直接把目录里的文件删除就行了

然后再进入/system/bin目录,如下图去bin目录的指令

它里面是一些可执行文件

学过Linux的看到这个目录里的文件名字就会很熟悉

su命令也在bin目录下,这也是为什么可以切换root用户权限,手机root完之后它就会有这个目录,app加检测是否root的功能就可以扫描 /system/bin目录 有没有su文件,如果有su文件就说嘛以root,但是这个检测有缺点,把su改一个名,这检测就会失效

/system/lib目录,如下图,它里面是一些so文件,安卓系统开发的时候就有了

其它的不写了

/data目录

作用:自己安卓的app,都会放在data目录里

子目录:

/data/app:自己安装的app

/data/data:应用私有数据目录,每个app有独立子目录

/data/user:用户数据

/data/dalvik-cache:Dalvik/ART虚拟机的缓存

权限:需要root权限访问,非root用户和应用只能访问自己的数据

用途:保存用户设置、app缓存和个人信息

/data/app目录,下图红框就是自己安装的app文件夹了,文件夹名是app的包名加base64编码,

进入某个app,可以看到base.apk、lib(app的so文件)

进入lib目录,可以看到它里面是一个叫arm的文件夹,这个名字是以当前系统架构来的,当前是arm架构,一般手机是arm架构,模拟器可能会是x86架构

然后进入arm里就可以看到app的so文件了,如想对某appso文件做逆向,可以来到这个目录(/data/app/app文件夹/lib/arm)

/sdcard目录,它的权限比较高(没root也可以正常使用,可读可写),以后会经常使用

作用:用户可访问的内部存储,通常是虚拟化的外部存储

子目录:

/sdcard/DCIM:相机拍摄的照片和视频

/sdcard/Download:使用浏览器下载的文件存放位置

/sdcard/Music:音乐文件

/sdcard/Pictures:图片文件

/sdcard/Movies:视频文件

/sdcard/Android:应用相关数据(如缓存、外部存储文件)

权限:用户可读可写,但安卓10及以上引入了分区存储(Scoped Storage),限制了直接访问

用途:用户日常文件存储,类似PC的 我的文档

/mnt或/storage目录

作用:挂载点,用于管理存储设备(如SD卡、U盘)

子目录:

/mnt/sdcard:传统外部SD卡挂载点(旧设备)

/storage/emulated/0:模拟的内部存储(通常链接到/sdcard)

/storage/XXX-XXX:真是SD卡或USB设备(xxx-xxxx是卷id)

权限:根据设备和安卓版本变化,部分需要特殊权限

用途:管理外部存储介质(设备)

/proc目录

作用:虚拟文件系统,提供运行时系统信息(如 cpu、内存)

子目录:

/proc/cpuinfo:cpu信息

/proc/meminfo:内存使用情况

权限:只读,部分文件需root查看

用途:调试和调试系统状态

/dev目录

作用:设备文件目录,存储硬件设备对应的文件(给手机外接的设备,比如摄像头、传感器)

权限:系统控制,用户无权访问

用途:系统与硬件交互的基础


img

相关文章:

  • BUUCTF PWN刷题笔记(持续更新!!)
  • Unreal Engine: Windows 下打包 AirSim项目 为 Linux 平台项目
  • Chromium 回调设计实战:BindOnce 与 BindRepeating 的最佳实践
  • stm32如何触摸屏设置显示按钮
  • JetpackCompose基础学习2.2
  • C++ 与 Python 内存分配策略对比
  • C# 枚举 详解
  • LeetCode 217.存在重复元素
  • C++:因子问题
  • 【TTS回顾】Bert-VITS2深度解析:融合BERT的多语言语音合成模型
  • Python爬虫实战:获取国家统计网最新消费数据并分析,为从业者做参考
  • Spring Boot入门案例(Spring Initializr方式,IDEA版)
  • FANUC发那科焊接机器人智能气阀
  • Windows环境使用NVM高效管理多个Node.js版本
  • 可重入(Reentrant) vs 线程安全(Thread-Safe)
  • AI Agent开发第71课-一个完善的可落地企业AI Agent全架构
  • 视觉-语言导航:综述与类别
  • idea2024 不知道安装了什么插件,界面都是中文的了,不习惯,怎么修改各个选项改回英文
  • 网络安全-等级保护(等保) 2-7 GB/T 25058—2019 《信息安全技术 网络安全等级保护实施指南》-2019-08-30发布【现行】
  • upload-labs靶场通关详解:第11关
  • 英伟达回应在上海设立新办公空间:正租用一个新办公空间,这是在中国持续深耕的努力
  • “80后”南京大学天文与空间科学学院教授施勇加盟西湖大学
  • 广西北流出现强降雨,1人被洪水冲走已无生命体征
  • 美联储计划裁员约10%
  • 中国物流集团等10家央企11名领导人员职务任免
  • 哈马斯官员:若实现永久停火,可交出加沙地带控制权