文件结构与资源列表
应用签名证书信息
APK已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: C=(086), ST=(sc), L=(cd), O=(lanao), OU=(lanao), CN=(lanao)
签名算法: rsassa_pkcs1v15
有效期自: 2025-03-11 01:24:18+00:00
有效期至: 2026-03-11 01:24:18+00:00
发行人: C=(086), ST=(sc), L=(cd), O=(lanao), OU=(lanao), CN=(lanao)
序列号: 0xe74f4dcfe39e61fb
哈希算法: sha384
证书MD5: e12dc352dae4876adbd8752704423818
证书SHA1: e91be1b3aff30c6bbe5556b2e46989fa81c97bc8
证书SHA256: 87f832d75f554f7645f8f71b1b8c31ba29ed2b1b90f3c87e659aa1346714962b
证书SHA512: cfd7a22006894f01bdfae1f13fe2a70fe7e00f6fe0dc0234f908b3235085973d93a6487aa47bbfde4588ec81c7dff34ee1a559544b165a09ac238e56b1dced50
公钥算法: rsa
密钥长度: 1024
指纹: 32d1fdb77b8ceadf26bb4489cbd17d82e1dff322529201c8512b058ec1956fbc
共检测到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.WRITE_EXTERNAL_STORAGE | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 |
|
|
android.permission.READ_EXTERNAL_STORAGE | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 |
|
|
android.permission.INTERNET | 完全互联网访问 | 允许应用程序创建网络套接字。 |
|
|
android.permission.ACCESS_NETWORK_STATE | 获取网络状态 | 允许应用程序查看所有网络的状态。 | ||
android.permission.VIBRATE | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | ||
android.permission.CAMERA | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | ||
android.permission.READ_CONTACTS | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | ||
android.permission.QUERY_ALL_PACKAGES | 获取已安装应用程序列表 | Android 11引入与包可见性相关的权限,允许查询设备上的任何普通应用程序,而不考虑清单声明。 | 无关联代码 | |
android.permission.REQUEST_INSTALL_PACKAGES | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | 无关联代码 | |
android.permission.ACCESS_FINE_LOCATION | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | ||
android.permission.ACCESS_COARSE_LOCATION | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | ||
android.permission.READ_PHONE_STATE | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | 无关联代码 | |
android.permission.FOREGROUND_SERVICE | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | ||
android.permission.ACCESS_BACKGROUND_LOCATION | 获取后台定位权限 | 允许应用程序访问后台位置。如果您正在请求此权限,则还必须请求ACCESS COARSE LOCATION或ACCESS FINE LOCATION。单独请求此权限不会授予您位置访问权限。 | 无关联代码 | |
android.permission.ACCESS_WIFI_STATE | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | ||
android.permission.CHANGE_WIFI_STATE | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | ||
android.permission.READ_MEDIA_IMAGES | 允许从外部存储读取图像文件 | 允许应用程序从外部存储读取图像文件。 |
|
|
android.permission.READ_MEDIA_VISUAL_USER_SELECTED | 允许从外部存储读取用户选择的图像或视频文件 | 允许应用程序从用户通过权限提示照片选择器选择的外部存储中读取图像或视频文件。应用程序可以检查此权限以验证用户是否决定使用照片选择器,而不是授予对 READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO 的访问权限。它不会阻止应用程序手动访问标准照片选择器。应与 READ_MEDIA_IMAGES 和/或 READ_MEDIA_VIDEO 一起请求此权限,具体取决于所需的媒体类型。 | 无关联代码 | |
android.permission.FLASHLIGHT | 控制闪光灯 | 允许应用程序控制闪光灯。 | 无关联代码 | |
com.android.browser.permission.READ_HISTORY_BOOKMARKS | 获取自带浏览器上网记录 | 恶意代码可有利用此权限窃取用户的上网记录和书签。 | 无关联代码 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用已使用代码签名证书进行签名。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用允许明文网络流量(如 HTTP、FTP 协议、DownloadManager、MediaPlayer 等)。API 级别 27 及以下默认启用,28 及以上默认禁用。明文流量缺乏机密性、完整性和真实性保护,攻击者可窃听或篡改传输数据。建议关闭明文流量,仅使用加密协议。 | |
2 |
应用已配置网络安全策略 [android:networkSecurityConfig=@xml/network_security_config] |
信息 | 网络安全配置允许应用通过声明式配置文件自定义网络安全策略,无需修改代码。可针对特定域名或应用范围进行灵活配置。 | |
3 |
应用数据允许备份 [android:allowBackup=true] |
警告 | 该标志允许通过 adb 工具备份应用数据。启用 USB 调试的用户可直接复制应用数据,存在数据泄露风险。 | |
4 |
Activity (com.alipay.sdk.app.PayResultActivity) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
5 |
Activity (com.alipay.sdk.app.AlipayResultActivity) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|---|---|---|
1 | * | 高危 | 基本配置不安全地配置为允许到所有域的明文流量。 |
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
2 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
3 | 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 | 警告 |
CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
4 | 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息 | 警告 |
CWE: CWE-200: 信息泄露
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
5 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
6 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
7 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 | |
8 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
9 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
10 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 | |
11 | 应用程序使用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/libfooLib.so | True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__strlen_chk', '__vsprintf_chk', '__vsnprintf_chk', '__memmove_chk'] |
True
info 符号被剥离 |
2 | arm64-v8a/librtmp-jni.so | True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
True
info 二进制文件有以下加固函数: ['__strrchr_chk', '__vsnprintf_chk', '__memcpy_chk', '__strchr_chk', '__vsprintf_chk', '__strncpy_chk'] |
True
info 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00054 | 从文件安装其他APK |
反射 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
00175 | 获取通知管理器并取消通知 |
通知 |
升级会员:解锁高级权限 |
00183 | 获取当前相机参数并更改设置 |
相机 |
升级会员:解锁高级权限 |
00112 | 获取日历事件的日期 |
信息收集 日历 |
升级会员:解锁高级权限 |
00058 | 连接到特定的WIFI网络 |
WiFi 控制 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00189 | 获取短信内容 |
短信 |
升级会员:解锁高级权限 |
00188 | 获取短信地址 |
短信 |
升级会员:解锁高级权限 |
00200 | 从联系人列表中查询数据 |
信息收集 联系人 |
升级会员:解锁高级权限 |
00187 | 查询 URI 并检查结果 |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
00201 | 从通话记录中查询数据 |
信息收集 通话记录 |
升级会员:解锁高级权限 |
00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
00031 | 检查当前正在运行的应用程序列表 |
反射 信息收集 |
升级会员:解锁高级权限 |
00035 | 查询已安装的包列表 |
反射 |
升级会员:解锁高级权限 |
00001 | 初始化位图对象并将数据(例如JPEG)压缩为位图对象 |
相机 |
升级会员:解锁高级权限 |
00024 | Base64解码后写入文件 |
反射 文件 |
升级会员:解锁高级权限 |
00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
00014 | 将文件读入流并将其放入 JSON 对象中 |
文件 |
升级会员:解锁高级权限 |
00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
00125 | 检查给定的文件路径是否存在 |
文件 |
升级会员:解锁高级权限 |
00026 | 方法反射 |
反射 |
升级会员:解锁高级权限 |
00192 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
zxing.appspot.com |
安全 |
否 |
IP地址: 172.217.12.142 国家: 美国 地区: 纽约 城市: 纽约市 查看: Google 地图 |
|
maps.google |
安全 |
否 | 没有可用的地理位置信息。 |
|
google.com |
安全 |
否 |
IP地址: 172.217.12.142 国家: 美国 地区: 纽约 城市: 纽约市 查看: Google 地图 |
|
api.changxiangworld.com |
安全 |
是 |
IP地址: 58.220.52.252 国家: 中国 地区: 江苏 城市: 扬州 查看: 高德地图 |
|
h5.changxiangworld.com |
安全 |
是 |
IP地址: 58.220.52.253 国家: 中国 地区: 江苏 城市: 扬州 查看: 高德地图 |
|
books.google |
安全 |
否 | 没有可用的地理位置信息。 |
|
image.cnamedomain.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
https://cx2025.oss-cn-chengdu.aliyuncs.com/cx/android/6/avatar/0040bdf1-575c-4c5d-aa2f-1e7426edaa76_1742456853223_6.jpg https://h5.changxiangworld.com/ledou |
自研引擎-A |
http://books.google |
a1/a.java |
http://www.google.com/books?id= http://www.google.com/books?vid=isbn |
com/dushen/moon/lib/scan/client/book/SearchBookContentsActivity.java |
http://maps.google http://www.google http://books.google |
com/dushen/moon/lib/scan/client/result/ResultHandler.java |
http://%s:%d/%s 127.0.0.1 |
com/danikula/videocache/HttpProxyCacheServer.java |
https://cx2025.oss-cn-chengdu.aliyuncs.com https://api.changxiangworld.com https://oss-cn-chengdu.aliyuncs.com |
com/dunshen/moon/lib/net/BuildConfig.java |
http://oss-cn-****.aliyuncs.com',or http://image.cnamedomain.com'! |
f/a.java |
https://www.google |
e1/b.java |
http://www.google |
e1/a.java |
https://h5.changxiangworld.com/user/user.html https://h5.changxiangworld.com/user/yinsi.html |
com/dunshen/enjoy/mod/login/BuildConfig.java |
http://%s:%d/%s |
z/f.java |
http://www.google http://zxing.appspot.com/scan |
com/dushen/moon/lib/scan/client/CaptureActivity.java |
http://google.com/books http://books.google |
com/dushen/moon/lib/scan/client/LocaleManager.java |
https://h5.changxiangworld.com/user/xiaofei.html |
com/dunshen/enjoy/mod/home/BuildConfig.java |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|---|---|
Bugly | https://reports.exodus-privacy.eu.org/trackers/190 |
敏感凭证泄露
活动列表
显示 37 个 activities
服务列表
显示 5 个 services
内容提供者列表
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
Bugly | Tencent | 腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。 |
IJKPlayer | Bilibili | IJKPlayer 是一款基于 FFmpeg 的轻量级 Android/iOS 视频播放器,具有 API 易于集成、编译配置可裁剪、支持硬件加速解码、DanmakuFlameMaster 架构清晰、简单易用等优势。 |
MMKV | Tencent | MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。 |
支付宝 SDK | Alipay | 支付宝开放平台基于支付宝海量用户,将强大的支付、营销、数据能力,通过接口等形式开放给第三方合作伙伴,帮助第三方合作伙伴创建更具竞争力的应用。 |
Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 | |
File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
Jetpack App Startup | App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。 | |
Firebase | Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。 | |
Jetpack Media | 与其他应用共享媒体内容和控件。已被 media2 取代。 | |
Jetpack MediaRouter | Enable media display and playback on remote receiver devices using a common user interface. | |
Google Cast | 使用 Google Cast SDK,您可以扩展 Android,iOS 或 Chrome 应用,以将其流式视频和音频定向到电视或声音系统。 您的应用程序成为播放,暂停,搜索,倒带,停止和控制媒体的遥控器。 | |
Jetpack Room | Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |