文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
APK已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: C=Unknown, ST=Unknown, L=Unknown, O=Unknown, OU=Unknown, CN=Unknown
签名算法: rsassa_pkcs1v15
有效期自: 2025-01-24 20:00:01+00:00
有效期至: 2052-06-11 20:00:01+00:00
发行人: C=Unknown, ST=Unknown, L=Unknown, O=Unknown, OU=Unknown, CN=Unknown
序列号: 0xab73410
哈希算法: sha256
证书MD5: 6ea2640dff120bafa5ef435ea2e6c0ee
证书SHA1: fedb2d0a202a98e0802e05a5ce735261681606fe
证书SHA256: 010bb500363aef339308762fff0e2b56b4393c91c9b9fb97527de9157eeb7a9e
证书SHA512: 9f9ec95823360c67ce6a9fd0e81dde1a801674d3f7d6ab33d8e005c769c0a64eb8604cb7e2cdd84b079fdd09f0547fbeb0f03452494348a205799740191850b3
公钥算法: rsa
密钥长度: 2048
指纹: cd37da904cae70388f6f1646954d876bb3cd5d82e55b47cde0037c3e80088475
共检测到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | 显示文件 |
android.permission.CAMERA | 危险 | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | 显示文件 |
android.permission.READ_MEDIA_IMAGES | 危险 | 允许从外部存储读取图像文件 | 允许应用程序从外部存储读取图像文件。 | 显示文件 |
android.permission.READ_MEDIA_VIDEO | 危险 | 允许从外部存储读取视频文件 | 允许应用程序从外部存储读取视频文件。 | 显示文件 |
android.permission.READ_MEDIA_AUDIO | 危险 | 允许从外部存储读取音频文件 | 允许应用程序从外部存储读取音频文件。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.FLASHLIGHT | 普通 | 控制闪光灯 | 允许应用程序控制闪光灯。 | |
android.permission.REQUEST_INSTALL_PACKAGES | 危险 | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | |
android.permission.MANAGE_EXTERNAL_STORAGE | 危险 | 文件列表访问权限 | Android11新增权限,读取本地文件,如简历,聊天图片。 | 显示文件 |
android.permission.ACCESS_MEDIA_LOCATION | 危险 | 获取照片的地址信息 | 更换头像,聊天图片等图片的地址信息被读取。 | 显示文件 |
android.permission.VIBRATE | 普通 | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | 显示文件 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用已使用代码签名证书进行签名。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用允许明文网络流量(如 HTTP、FTP 协议、DownloadManager、MediaPlayer 等)。API 级别 27 及以下默认启用,28 及以上默认禁用。明文流量缺乏机密性、完整性和真实性保护,攻击者可窃听或篡改传输数据。建议关闭明文流量,仅使用加密协议。 | |
2 |
应用已配置网络安全策略 [android:networkSecurityConfig=@xml/network_security_config] |
信息 | 网络安全配置允许应用通过声明式配置文件自定义网络安全策略,无需修改代码。可针对特定域名或应用范围进行灵活配置。 | |
3 |
应用数据存在泄露风险 未设置[android:allowBackup]标志 |
警告 | 建议将 [android:allowBackup] 显式设置为 false。默认值为 true,允许通过 adb 工具备份应用数据,存在数据泄露风险。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|---|---|---|
1 | * | 高危 | 基本配置不安全地配置为允许到所有域的明文流量。 |
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
3 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
4 | 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 | 高危 |
CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-3 |
升级会员:解锁高级权限 | |
5 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libapp.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Not Applicable
info RELRO 检查不适用于 Flutter/Dart 二进制文件 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
info 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
True
info 符号被剥离 |
2 | arm64-v8a/libavutil.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
True
info 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00056 | 修改语音音量 |
控制 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00147 | 获取当前位置的时间 |
信息收集 位置 |
升级会员:解锁高级权限 |
00075 | 获取设备的位置 |
信息收集 位置 |
升级会员:解锁高级权限 |
00115 | 获取设备的最后已知位置 |
信息收集 位置 |
升级会员:解锁高级权限 |
00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
00183 | 获取当前相机参数并更改设置 |
相机 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00132 | 查询ISO国家代码 |
电话服务 信息收集 |
升级会员:解锁高级权限 |
00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
00009 | 将游标中的数据放入JSON对象 |
文件 |
升级会员:解锁高级权限 |
00123 | 连接到远程服务器后将响应保存为 JSON |
网络 命令 |
升级会员:解锁高级权限 |
00125 | 检查给定的文件路径是否存在 |
文件 |
升级会员:解锁高级权限 |
00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://app.mi.com/details?id= https://app.mi.com |
y0/c.java |
http://www.google.com https://play.google.com/store/apps/details?id= |
y0/a.java |
https://exoplayer.dev/issues/player-accessed-on-wrong-thread |
a1/w0.java |
http://undefined/ |
x7/d.java |
https://a.app.qq.com/o/simple.jsp?pkgname= |
y0/b.java |
https://plus.google.com/ |
h3/h0.java |
https://developer.apple.com/streaming/emsg-id3 https://aomedia.org/emsg/id3 |
u1/a.java |
http://dashif.org/guidelines/trickmode http://dashif.org/guidelines/last-segment-number data:cs:audiopurposecs:2007 file:dvb-dash: |
g2/d.java |
https://exoplayer.dev/issues/cleartext-not-permitted |
w2/z.java |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
服务列表
显示 1 个 services
广播接收者列表
内容提供者列表
显示 2 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
Flutter | Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 | |
FFmpeg | FFmpeg | FFmpeg 是领先的多媒体框架,能够解码,编码,转码,MUX,DEMUX,流式,过滤和播放人类和机器创建的几乎所有内容。 |
FFmpegKit | arthenica | FFmpegKit is a collection of tools to use FFmpeg in Android, iOS, Linux, macOS, tvOS, Flutter and React Native applications. |
RUpgrade | rhymelph | Android 和 iOS 的升级应用插件。 |
Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |